Loading

NOM

       ioctl_list - Liste des requêtes ioctl pour Linux/i386

       On  trouvera  ici  la  liste  des  arguments  IOCTL du noyau Linux/i386
       1.3.27.  Cette  liste  contient  421  requêtes   ioctl   situées   dans
       </usr/include/{asm,linux}/*.h>.  Pour  chaque  ioctl,  on  trouvera  sa
       valeur numérique, son nom et le type de son argument.

       Un type d’argument const struct foo * signifie que l’argument  est  une
       entrée  pour  le  noyau,  alors que struct foo * signifie que c’est une
       sortie pour le noyau. Si le noyau utilise un  argument  à  la  fois  en
       entrée et sortie, il sera indiqué avec // I-O.

       Certains  ioctls  prennent  plusieurs  arguments, ou retournent plus de
       valeurs qu’une simple structure. Ceux‐ci sont indiqués avec // PLUS  et
       documentés plus tard.

       Cette liste n’est absolument pas complète.

   Structure des ioctl
       Les  valeurs  des  commandes  ioctl  sont  des  constantes  32 bits. En
       principe, ces constantes sont complètement arbitraires, mais  certaines
       personnes ont essayé de les structurer un peu.

       Dans  les  anciens  noyaux  Linux, la plupart étaient des constantes 16
       bits,  où  le  dernier  octet  était  un  numéro  de  série,  et  le(s)
       précédent(s)   indiquai(en)t  le  pilote.  Parfois  c’était  le  numéro
       majeur : 0x03 pour les ioctls HDIO_*, 0x06 pour ceux  LP*.  Et  parfois
       une  ou  plusieurs  lettres ASCII. Par exemple, TCGETS vaut 0x00005401,
       avec 0x54 = 'T' indiquant le pilote de terminal, et  CYGETTIMEOUT  vaut
       0x00435906, avec 0x43 0x59 = 'C' 'Y' indiquant le pilote cyclade.

       Ensuite  (0.98p5)  un  peu  plus  d’information  a  été ajoutée dans le
       numéro. Il y a deux bits de direction (00 : aucune, 01 : écriture, 10 :
       lecture,  11:  lecture/écriture) suivis de 14 bits de taille (indiquant
       la taille de l’argument), suivis d’un type sur 8 bits (ce qui  regroupe
       les ioctls pour un même but ou un même pilote), puis un numéro de série
       sur 8 bits.

       Les macros écrivant cette structure se trouvent dans  <asm/ioctl.h>  et
       sont  _IO(type,nr)  et {_IOR,_IOW,_IOWR}(type,nr,size). Elles utilisent
       sizeof(size) ce qui indique que "size"  est  un  mauvais  nom  ici,  le
       troisième paramètre étant le type de donnée.

       Notez  que  les  bits de taille sont peu fiables — dans de nombreux cas
       ils  sont  faux,  soit   à   cause   d’une   macro   boguée   utilisant
       sizeof(sizeof(struct)), ou à cause de valeurs imposées.

       Ainsi,   il   semble   que   la  nouvelle  structure  n’offre  que  des
       désagréments : elle n’aide pas vraiment aux  vérifications,  mais  elle
       crée des valeurs différentes sur les diverses architectures.

VALEUR RENVOYÉE

       Les ioctls décents renvoient 0 s’ils réussissent et -1 en cas d’erreur,
       avec toute valeur de sortie stockée via l’argument. Toutefois, certains
       renvoient  en  fait  la  valeur  de  sortie directement. Ceci n’est pas
       encore indiqué ci‐dessous.

       // Table principale.

       // <include/asm-i386/socket.h>

       0x00008901   FIOSETOWN    const int *
       0x00008902   SIOCSPGRP    const int *
       0x00008903   FIOGETOWN    int *
       0x00008904   SIOCGPGRP    int *
       0x00008905   SIOCATMAR    int *
       0x00008906   SIOCGSTAMP   timeval *

       // <include/asm-i386/termios.h>

       0x00005401   TCGETS            struct termios *
       0x00005402   TCSETS            const struct termios *
       0x00005403   TCSETSW           const struct termios *
       0x00005404   TCSETSF           const struct termios *
       0x00005405   TCGETA            struct termio *
       0x00005406   TCSETA            const struct termio *
       0x00005407   TCSETAW           const struct termio *
       0x00005408   TCSETAF           const struct termio *
       0x00005409   TCSBRK            int
       0x0000540A   TCXONC            int
       0x0000540B   TCFLSH            int
       0x0000540C   TIOCEXCL          void
       0x0000540D   TIOCNXCL          void
       0x0000540E   TIOCSCTTY         int
       0x0000540F   TIOCGPGRP         pid_t *
       0x00005410   TIOCSPGRP         const pid_t *
       0x00005411   TIOCOUTQ          int *
       0x00005412   TIOCSTI           const char *
       0x00005413   TIOCGWINSZ        struct winsize *
       0x00005414   TIOCSWINSZ        const struct winsize *
       0x00005415   TIOCMGET          int *
       0x00005416   TIOCMBIS          const int *
       0x00005417   TIOCMBIC          const int *
       0x00005418   TIOCMSET          const int *
       0x00005419   TIOCGSOFTCAR      int *
       0x0000541A   TIOCSSOFTCAR      const int *
       0x0000541B   FIONREAD          int *
       0x0000541B   TIOCINQ           int *
       0x0000541C   TIOCLINUX         const char *                             // PLUS
       0x0000541D   TIOCCONS          void
       0x0000541E   TIOCGSERIAL       struct serial_struct *
       0x0000541F   TIOCSSERIAL       const struct serial_struct *
       0x00005420   TIOCPKT           const int *
       0x00005421   FIONBIO           const int *
       0x00005422   TIOCNOTTY         void
       0x00005423   TIOCSETD          const int *
       0x00005424   TIOCGETD          int *
       0x00005425   TCSBRKP           int
       0x00005426   TIOCTTYGSTRUCT    struct tty_struct *
       0x00005450   FIONCLEX          void
       0x00005451   FIOCLEX           void
       0x00005452   FIOASYNC          const int *
       0x00005453   TIOCSERCONFIG     void
       0x00005454   TIOCSERGWILD      int *
       0x00005455   TIOCSERSWILD      const int *
       0x00005456   TIOCGLCKTRMIOS    struct termios *
       0x00005457   TIOCSLCKTRMIOS    const struct termios *
       0x00005458   TIOCSERGSTRUCT    struct async_struct *
       0x00005459   TIOCSERGETLSR     int *
       0x0000545A   TIOCSERGETMULTI   struct serial_multiport_struct *
       0x0000545B   TIOCSERSETMULTI   const struct serial_multiport_struct *

       // <include/linux/ax25.h>

       0x000089E0   SIOCAX25GETUID     const struct sockaddr_ax25 *

       0x000089E1   SIOCAX25ADDUID     const struct sockaddr_ax25 *
       0x000089E2   SIOCAX25DELUID     const struct sockaddr_ax25 *
       0x000089E3   SIOCAX25NOUID      const int *
       0x000089E4   SIOCAX25DIGCTL     const int *
       0x000089E5   SIOCAX25GETPARMS   struct ax25_parms_struct *         // I-O
       0x000089E6   SIOCAX25SETPARMS   const struct ax25_parms_struct *

       // <include/linux/cdk.h>

       0x00007314   STL_BINTR    void
       0x00007315   STL_BSTART   void
       0x00007316   STL_BSTOP    void
       0x00007317   STL_BRESET   void

       // <include/linux/cdrom.h>

       0x00005301   CDROMPAUSE          void
       0x00005302   CDROMRESUME         void
       0x00005303   CDROMPLAYMSF        const struct cdrom_msf *
       0x00005304   CDROMPLAYTRKIND     const struct cdrom_ti *
       0x00005305   CDROMREADTOCHDR     struct cdrom_tochdr *
       0x00005306   CDROMREADTOCENTRY   struct cdrom_tocentry *           // I-O
       0x00005307   CDROMSTOP           void
       0x00005308   CDROMSTART          void
       0x00005309   CDROMEJECT          void
       0x0000530A   CDROMVOLCTRL        const struct cdrom_volctrl *
       0x0000530B   CDROMSUBCHNL        struct cdrom_subchnl *            // I-O
       0x0000530C   CDROMREADMODE2      const struct cdrom_msf *          // PLUS
       0x0000530D   CDROMREADMODE1      const struct cdrom_msf *          // PLUS
       0x0000530E   CDROMREADAUDIO      const struct cdrom_read_audio *   // PLUS
       0x0000530F   CDROMEJECT_SW       int
       0x00005310   CDROMMULTISESSION   struct cdrom_multisession *       // I-O
       0x00005311   CDROM_GET_UPC       struct { char [8]; } *
       0x00005312   CDROMRESET          void
       0x00005313   CDROMVOLREAD        struct cdrom_volctrl *
       0x00005314   CDROMREADRAW        const struct cdrom_msf *          // PLUS
       0x00005315   CDROMREADCOOKED     const struct cdrom_msf *          // PLUS
       0x00005316   CDROMSEEK           const struct cdrom_msf *

       // <include/linux/cm206.h>

       0x00002000   CM206CTL_GET_STAT        int
       0x00002001   CM206CTL_GET_LAST_STAT   int

       // <include/linux/cyclades.h>

       0x00435901   CYGETMON          struct cyclades_monitor *
       0x00435902   CYGETTHRESH       int *
       0x00435903   CYSETTHRESH       int
       0x00435904   CYGETDEFTHRESH    int *
       0x00435905   CYSETDEFTHRESH    int
       0x00435906   CYGETTIMEOUT      int *
       0x00435907   CYSETTIMEOUT      int
       0x00435908   CYGETDEFTIMEOUT   int *
       0x00435909   CYSETDEFTIMEOUT   int

       // <include/linux/ext2_fs.h>

       0x80046601   EXT2_IOC_GETFLAGS     int *
       0x40046602   EXT2_IOC_SETFLAGS     const int *
       0x80047601   EXT2_IOC_GETVERSION   int *
       0x40047602   EXT2_IOC_SETVERSION   const int *

       // <include/linux/fd.h>

       0x00000000   FDCLRPRM         void
       0x00000001   FDSETPRM         const struct floppy_struct *
       0x00000002   FDDEFPRM         const struct floppy_struct *
       0x00000003   FDGETPRM         struct floppy_struct *
       0x00000004   FDMSGON          void
       0x00000005   FDMSGOFF         void
       0x00000006   FDFMTBEG         void
       0x00000007   FDFMTTRK         const struct format_descr *
       0x00000008   FDFMTEND         void
       0x0000000A   FDSETEMSGTRESH   int
       0x0000000B   FDFLUSH          void
       0x0000000C   FDSETMAXERRS     const struct floppy_max_errors *
       0x0000000E   FDGETMAXERRS     struct floppy_max_errors *
       0x00000010   FDGETDRVTYP      struct { char [16]; } *
       0x00000014   FDSETDRVPRM      const struct floppy_drive_params *
       0x00000015   FDGETDRVPRM      struct floppy_drive_params *
       0x00000016   FDGETDRVSTAT     struct floppy_drive_struct *
       0x00000017   FDPOLLDRVSTAT    struct floppy_drive_struct *
       0x00000018   FDRESET          int
       0x00000019   FDGETFDCSTAT     struct floppy_fdc_state *
       0x0000001B   FDWERRORCLR      void
       0x0000001C   FDWERRORGET      struct floppy_write_errors *
       0x0000001E   FDRAWCMD         struct floppy_raw_cmd *              // PLUS // I-O
       0x00000028   FDTWADDLE        void

       // <include/linux/fs.h>

       0x0000125D   BLKROSET     const int *
       0x0000125E   BLKROGET     int *
       0x0000125F   BLKRRPART    void
       0x00001260   BLKGETSIZE   unsigned long *
       0x00001261   BLKFLSBUF    void
       0x00001262   BLKRASET     int
       0x00001263   BLKRAGET     int *
       0x00000001   FIBMAP       int *             // I-O
       0x00000002   FIGETBSZ     int *

       // <include/linux/hdreg.h>

       0x00000301   HDIO_GETGEO             struct hd_geometry *
       0x00000302   HDIO_GET_UNMASKINTR     int *
       0x00000304   HDIO_GET_MULTCOUNT      int *
       0x00000307   HDIO_GET_IDENTITY       struct hd_driveid *
       0x00000308   HDIO_GET_KEEPSETTINGS   int *
       0x00000309   HDIO_GET_CHIPSET        int *
       0x0000030A   HDIO_GET_NOWERR         int *
       0x0000030B   HDIO_GET_DMA            int *
       0x0000031F   HDIO_DRIVE_CMD          int *                  // I-O
       0x00000321   HDIO_SET_MULTCOUNT      int
       0x00000322   HDIO_SET_UNMASKINTR     int
       0x00000323   HDIO_SET_KEEPSETTINGS   int
       0x00000324   HDIO_SET_CHIPSET        int
       0x00000325   HDIO_SET_NOWERR         int
       0x00000326   HDIO_SET_DMA            int

       // <include/linux/if_eql.h>

       0x000089F0   EQL_ENSLAVE       struct ifreq *   // PLUS // I-O
       0x000089F1   EQL_EMANCIPATE    struct ifreq *   // PLUS // I-O
       0x000089F2   EQL_GETSLAVECFG   struct ifreq *   // PLUS // I-O
       0x000089F3   EQL_SETSLAVECFG   struct ifreq *   // PLUS // I-O
       0x000089F4   EQL_GETMASTRCFG   struct ifreq *   // PLUS // I-O
       0x000089F5   EQL_SETMASTRCFG   struct ifreq *   // PLUS // I-O

       // <include/linux/if_plip.h>

       0x000089F0   SIOCDEVPLIP   struct ifreq *   // I-O

       // <include/linux/if_ppp.h>

       0x00005490   PPPIOCGFLAGS       int *
       0x00005491   PPPIOCSFLAGS       const int *
       0x00005492   PPPIOCGASYNCMAP    int *
       0x00005493   PPPIOCSASYNCMAP    const int *
       0x00005494   PPPIOCGUNIT        int *
       0x00005495   PPPIOCSINPSIG      const int *
       0x00005497   PPPIOCSDEBUG       const int *
       0x00005498   PPPIOCGDEBUG       int *
       0x00005499   PPPIOCGSTAT        struct ppp_stats *
       0x0000549A   PPPIOCGTIME        struct ppp_ddinfo *
       0x0000549B   PPPIOCGXASYNCMAP   struct { int [8]; } *
       0x0000549C   PPPIOCSXASYNCMAP   const struct { int [8]; } *
       0x0000549D   PPPIOCSMRU         const int *
       0x0000549E   PPPIOCRASYNCMAP    const int *
       0x0000549F   PPPIOCSMAXCID      const int *

       // <include/linux/ipx.h>

       0x000089E0   SIOCAIPXITFCRT   const char *
       0x000089E1   SIOCAIPXPRISLT   const char *
       0x000089E2   SIOCIPXCFGDATA   struct ipx_config_data *

       // <include/linux/kd.h>

       0x00004B60   GIO_FONT         struct { char [8192]; } *
       0x00004B61   PIO_FONT         const struct { char [8192]; } *
       0x00004B6B   GIO_FONTX        struct console_font_desc *            // PLUS // I-O
       0x00004B6C   PIO_FONTX        const struct console_font_desc *      //PLUS
       0x00004B70   GIO_CMAP         struct { char [48]; } *
       0x00004B71   PIO_CMAP         const struct { char [48]; }
       0x00004B2F   KIOCSOUND        int
       0x00004B30   KDMKTONE         int
       0x00004B31   KDGETLED         char *
       0x00004B32   KDSETLED         int
       0x00004B33   KDGKBTYPE        char *
       0x00004B34   KDADDIO          int                                   // PLUS
       0x00004B35   KDDELIO          int                                   // PLUS
       0x00004B36   KDENABIO         void                                  // PLUS
       0x00004B37   KDDISABIO        void                                  // PLUS
       0x00004B3A   KDSETMODE        int
       0x00004B3B   KDGETMODE        int *
       0x00004B3C   KDMAPDISP        void                                  // PLUS
       0x00004B3D   KDUNMAPDISP      void                                  // PLUS
       0x00004B40   GIO_SCRNMAP      struct { char [E_TABSZ]; } *
       0x00004B41   PIO_SCRNMAP      const struct { char [E_TABSZ]; } *
       0x00004B69   GIO_UNISCRNMAP   struct { short [E_TABSZ]; } *
       0x00004B6A   PIO_UNISCRNMAP   const struct { short [E_TABSZ]; } *
       0x00004B66   GIO_UNIMAP       struct unimapdesc *                   // PLUS // I-O
       0x00004B67   PIO_UNIMAP       const struct unimapdesc *             // PLUS
       0x00004B68   PIO_UNIMAPCLR    const struct unimapinit *
       0x00004B44   KDGKBMODE        int *
       0x00004B45   KDSKBMODE        int
       0x00004B62   KDGKBMETA        int *
       0x00004B63   KDSKBMETA        int
       0x00004B64   KDGKBLED         int *
       0x00004B65   KDSKBLED         int
       0x00004B46   KDGKBENT         struct kbentry *                      // I-O
       0x00004B47   KDSKBENT         const struct kbentry *
       0x00004B48   KDGKBSENT        struct kbsentry *                     // I-O
       0x00004B49   KDSKBSENT        const struct kbsentry *
       0x00004B4A   KDGKBDIACR       struct kbdiacrs *

       0x00004B4B   KDSKBDIACR       const struct kbdiacrs *
       0x00004B4C   KDGETKEYCODE     struct kbkeycode *                    // I-O
       0x00004B4D   KDSETKEYCODE     const struct kbkeycode *
       0x00004B4E   KDSIGACCEPT      int

       // <include/linux/lp.h>

       0x00000601   LPCHAR        int
       0x00000602   LPTIME        int
       0x00000604   LPABORT       int
       0x00000605   LPSETIRQ      int
       0x00000606   LPGETIRQ      int *
       0x00000608   LPWAIT        int
       0x00000609   LPCAREFUL     int
       0x0000060A   LPABORTOPEN   int
       0x0000060B   LPGETSTATUS   int *
       0x0000060C   LPRESET       void
       0x0000060D   LPGETSTATS    struct lp_stats *

       // <include/linux/mroute.h>

       0x000089E0   SIOCGETVIFCNT   struct sioc_vif_req *   // I-O
       0x000089E1   SIOCGETSGCNT    struct sioc_sg_req *    // I-O

       // <include/linux/mtio.h>

       0x40086D01   MTIOCTOP         const struct mtop *
       0x801C6D02   MTIOCGET         struct mtget *
       0x80046D03   MTIOCPOS         struct mtpos *
       0x80206D04   MTIOCGETCONFIG   struct mtconfiginfo *
       0x40206D05   MTIOCSETCONFIG   const struct mtconfiginfo *

       // <include/linux/netrom.h>

       0x000089E0   SIOCNRGETPARMS   struct nr_parms_struct *         // I-O
       0x000089E1   SIOCNRSETPARMS   const struct nr_parms_struct *
       0x000089E2   SIOCNRDECOBS     void
       0x000089E3   SIOCNRRTCTL      const int *

       // <include/linux/sbpcd.h>

       0x00009000   DDIOCSDBG          const int *
       0x00005382   CDROMAUDIOBUFSIZ   int

       // <include/linux/scc.h>

       0x00005470   TIOCSCCINI    void
       0x00005471   TIOCCHANINI   const struct scc_modem *
       0x00005472   TIOCGKISS     struct ioctl_command *         // I-O
       0x00005473   TIOCSKISS     const struct ioctl_command *
       0x00005474   TIOCSCCSTAT   struct scc_stat *

       // <include/linux/scsi.h>

       0x00005382   SCSI_IOCTL_GET_IDLUN        struct { int [2]; } *
       0x00005383   SCSI_IOCTL_TAGGED_ENABLE    void
       0x00005384   SCSI_IOCTL_TAGGED_DISABLE   void
       0x00005385   SCSI_IOCTL_PROBE_HOST       const int *             // PLUS

       // <include/linux/smb_fs.h>

       0x80027501   SMB_IOC_GETMOUNTUID   uid_t *

       // <include/linux/sockios.h>

       0x0000890B   SIOCADDRT           const struct rtentry *   // PLUS
       0x0000890C   SIOCDELRT           const struct rtentry *   // PLUS
       0x00008910   SIOCGIFNAME         char []
       0x00008911   SIOCSIFLINK         void
       0x00008912   SIOCGIFCONF         struct ifconf *          // PLUS // I-O
       0x00008913   SIOCGIFFLAGS        struct ifreq *           // I-O
       0x00008914   SIOCSIFFLAGS        const struct ifreq *
       0x00008915   SIOCGIFADDR         struct ifreq *           // I-O
       0x00008916   SIOCSIFADDR         const struct ifreq *
       0x00008917   SIOCGIFDSTADDR      struct ifreq *           // I-O
       0x00008918   SIOCSIFDSTADDR      const struct ifreq *
       0x00008919   SIOCGIFBRDADDR      struct ifreq *           // I-O
       0x0000891A   SIOCSIFBRDADDR      const struct ifreq *
       0x0000891B   SIOCGIFNETMASK      struct ifreq *           // I-O
       0x0000891C   SIOCSIFNETMASK      const struct ifreq *
       0x0000891D   SIOCGIFMETRIC       struct ifreq *           // I-O
       0x0000891E   SIOCSIFMETRIC       const struct ifreq *
       0x0000891F   SIOCGIFMEM          struct ifreq *           // I-O
       0x00008920   SIOCSIFMEM          const struct ifreq *
       0x00008921   SIOCGIFMTU          struct ifreq *           // I-O
       0x00008922   SIOCSIFMTU          const struct ifreq *
       0x00008923   OLD_SIOCGIFHWADDR   struct ifreq *           // I-O
       0x00008924   SIOCSIFHWADDR       const struct ifreq *     // PLUS
       0x00008925   SIOCGIFENCAP        int *
       0x00008926   SIOCSIFENCAP        const int *
       0x00008927   SIOCGIFHWADDR       struct ifreq *           // I-O
       0x00008929   SIOCGIFSLAVE        void
       0x00008930   SIOCSIFSLAVE        void
       0x00008931   SIOCADDMULTI        const struct ifreq *
       0x00008932   SIOCDELMULTI        const struct ifreq *
       0x00008940   SIOCADDRTOLD        void
       0x00008941   SIOCDELRTOLD        void
       0x00008950   SIOCDARP            const struct arpreq *
       0x00008951   SIOCGARP            struct arpreq *          // I-O
       0x00008952   SIOCSARP            const struct arpreq *
       0x00008960   SIOCDRARP           const struct arpreq *
       0x00008961   SIOCGRARP           struct arpreq *          // I-O
       0x00008962   SIOCSRARP           const struct arpreq *
       0x00008970   SIOCGIFMAP          struct ifreq *           // I-O
       0x00008971   SIOCSIFMAP          const struct ifreq *

       // <include/linux/soundcard.h>

       0x00005100   SNDCTL_SEQ_RESET              void
       0x00005101   SNDCTL_SEQ_SYNC               void
       0xC08C5102   SNDCTL_SYNTH_INFO             struct synth_info *             // I-O
       0xC0045103   SNDCTL_SEQ_CTRLRATE           int *                           // I-O
       0x80045104   SNDCTL_SEQ_GETOUTCOUNT        int *
       0x80045105   SNDCTL_SEQ_GETINCOUNT         int *
       0x40045106   SNDCTL_SEQ_PERCMODE           void
       0x40285107   SNDCTL_FM_LOAD_INSTR          const struct sbi_instrument *
       0x40045108   SNDCTL_SEQ_TESTMIDI           const int *
       0x40045109   SNDCTL_SEQ_RESETSAMPLES       const int *
       0x8004510A   SNDCTL_SEQ_NRSYNTHS           int *
       0x8004510B   SNDCTL_SEQ_NRMIDIS            int *
       0xC074510C   SNDCTL_MIDI_INFO              struct midi_info *              // I-O
       0x4004510D   SNDCTL_SEQ_THRESHOLD          const int *
       0xC004510E   SNDCTL_SYNTH_MEMAVL           int *                           // I-O
       0x4004510F   SNDCTL_FM_4OP_ENABLE          const int *
       0xCFB85110   SNDCTL_PMGR_ACCESS            struct patmgr_info *            // I-O
       0x00005111   SNDCTL_SEQ_PANIC              void
       0x40085112   SNDCTL_SEQ_OUTOFBAND          const struct seq_event_rec *
       0xC0045401   SNDCTL_TMR_TIMEBASE           int *                           // I-O
       0x00005402   SNDCTL_TMR_START              void
       0x00005403   SNDCTL_TMR_STOP               void

       0x00005404   SNDCTL_TMR_CONTINUE           void
       0xC0045405   SNDCTL_TMR_TEMPO              int *                           // I-O
       0xC0045406   SNDCTL_TMR_SOURCE             int *                           // I-O
       0x40045407   SNDCTL_TMR_METRONOME          const int *
       0x40045408   SNDCTL_TMR_SELECT             int *                           // I-O
       0xCFB85001   SNDCTL_PMGR_IFACE             struct patmgr_info *            // I-O
       0xC0046D00   SNDCTL_MIDI_PRETIME           int *                           // I-O
       0xC0046D01   SNDCTL_MIDI_MPUMODE           const int *
       0xC0216D02   SNDCTL_MIDI_MPUCMD            struct mpu_command_rec *        // I-O
       0x00005000   SNDCTL_DSP_RESET              void
       0x00005001   SNDCTL_DSP_SYNC               void
       0xC0045002   SNDCTL_DSP_SPEED              int *                           // I-O
       0xC0045003   SNDCTL_DSP_STEREO             int *                           // I-O
       0xC0045004   SNDCTL_DSP_GETBLKSIZE         int *                           // I-O
       0xC0045006   SOUND_PCM_WRITE_CHANNELS      int *                           // I-O
       0xC0045007   SOUND_PCM_WRITE_FILTER        int *                           // I-O
       0x00005008   SNDCTL_DSP_POST               void
       0xC0045009   SNDCTL_DSP_SUBDIVIDE          int *                           // I-O
       0xC004500A   SNDCTL_DSP_SETFRAGMENT        int *                           // I-O
       0x8004500B   SNDCTL_DSP_GETFMTS            int *
       0xC0045005   SNDCTL_DSP_SETFMT             int *                           // I-O
       0x800C500C   SNDCTL_DSP_GETOSPACE          struct audio_buf_info *
       0x800C500D   SNDCTL_DSP_GETISPACE          struct audio_buf_info *
       0x0000500E   SNDCTL_DSP_NONBLOCK           void
       0x80045002   SOUND_PCM_READ_RATE           int *
       0x80045006   SOUND_PCM_READ_CHANNELS       int *
       0x80045005   SOUND_PCM_READ_BITS           int *
       0x80045007   SOUND_PCM_READ_FILTER         int *
       0x00004300   SNDCTL_COPR_RESET             void
       0xCFB04301   SNDCTL_COPR_LOAD              const struct copr_buffer *
       0xC0144302   SNDCTL_COPR_RDATA             struct copr_debug_buf *         // I-O
       0xC0144303   SNDCTL_COPR_RCODE             struct copr_debug_buf *         // I-O
       0x40144304   SNDCTL_COPR_WDATA             const struct copr_debug_buf *
       0x40144305   SNDCTL_COPR_WCODE             const struct copr_debug_buf *
       0xC0144306   SNDCTL_COPR_RUN               struct copr_debug_buf *         // I-O
       0xC0144307   SNDCTL_COPR_HALT              struct copr_debug_buf *         // I-O
       0x4FA44308   SNDCTL_COPR_SENDMSG           const struct copr_msg *
       0x8FA44309   SNDCTL_COPR_RCVMSG            struct copr_msg *
       0x80044D00   SOUND_MIXER_READ_VOLUME       int *
       0x80044D01   SOUND_MIXER_READ_BASS         int *
       0x80044D02   SOUND_MIXER_READ_TREBLE       int *
       0x80044D03   SOUND_MIXER_READ_SYNTH        int *
       0x80044D04   SOUND_MIXER_READ_PCM          int *
       0x80044D05   SOUND_MIXER_READ_SPEAKER      int *
       0x80044D06   SOUND_MIXER_READ_LINE         int *
       0x80044D07   SOUND_MIXER_READ_MIC          int *
       0x80044D08   SOUND_MIXER_READ_CD           int *
       0x80044D09   SOUND_MIXER_READ_IMIX         int *
       0x80044D0A   SOUND_MIXER_READ_ALTPCM       int *
       0x80044D0B   SOUND_MIXER_READ_RECLEV       int *
       0x80044D0C   SOUND_MIXER_READ_IGAIN        int *
       0x80044D0D   SOUND_MIXER_READ_OGAIN        int *
       0x80044D0E   SOUND_MIXER_READ_LINE1        int *
       0x80044D0F   SOUND_MIXER_READ_LINE2        int *
       0x80044D10   SOUND_MIXER_READ_LINE3        int *
       0x80044D1C   SOUND_MIXER_READ_MUTE         int *
       0x80044D1D   SOUND_MIXER_READ_ENHANCE      int *
       0x80044D1E   SOUND_MIXER_READ_LOUD         int *
       0x80044DFF   SOUND_MIXER_READ_RECSRC       int *
       0x80044DFE   SOUND_MIXER_READ_DEVMASK      int *
       0x80044DFD   SOUND_MIXER_READ_RECMASK      int *
       0x80044DFB   SOUND_MIXER_READ_STEREODEVS   int *
       0x80044DFC   SOUND_MIXER_READ_CAPS         int *
       0xC0044D00   SOUND_MIXER_WRITE_VOLUME      int *                           // I-O
       0xC0044D01   SOUND_MIXER_WRITE_BASS        int *                           // I-O

       0xC0044D02   SOUND_MIXER_WRITE_TREBLE      int *                           // I-O
       0xC0044D03   SOUND_MIXER_WRITE_SYNTH       int *                           // I-O
       0xC0044D04   SOUND_MIXER_WRITE_PCM         int *                           // I-O
       0xC0044D05   SOUND_MIXER_WRITE_SPEAKER     int *                           // I-O
       0xC0044D06   SOUND_MIXER_WRITE_LINE        int *                           // I-O
       0xC0044D07   SOUND_MIXER_WRITE_MIC         int *                           // I-O
       0xC0044D08   SOUND_MIXER_WRITE_CD          int *                           // I-O
       0xC0044D09   SOUND_MIXER_WRITE_IMIX        int *                           // I-O
       0xC0044D0A   SOUND_MIXER_WRITE_ALTPCM      int *                           // I-O
       0xC0044D0B   SOUND_MIXER_WRITE_RECLEV      int *                           // I-O
       0xC0044D0C   SOUND_MIXER_WRITE_IGAIN       int *                           // I-O
       0xC0044D0D   SOUND_MIXER_WRITE_OGAIN       int *                           // I-O
       0xC0044D0E   SOUND_MIXER_WRITE_LINE1       int *                           // I-O
       0xC0044D0F   SOUND_MIXER_WRITE_LINE2       int *                           // I-O
       0xC0044D10   SOUND_MIXER_WRITE_LINE3       int *                           // I-O
       0xC0044D1C   SOUND_MIXER_WRITE_MUTE        int *                           // I-O
       0xC0044D1D   SOUND_MIXER_WRITE_ENHANCE     int *                           // I-O
       0xC0044D1E   SOUND_MIXER_WRITE_LOUD        int *                           // I-O
       0xC0044DFF   SOUND_MIXER_WRITE_RECSRC      int *                           // I-O

       // <include/linux/umsdos_fs.h>

       0x000004D2   UMSDOS_READDIR_DOS   struct umsdos_ioctl *         // I-O
       0x000004D3   UMSDOS_UNLINK_DOS    const struct umsdos_ioctl *
       0x000004D4   UMSDOS_RMDIR_DOS     const struct umsdos_ioctl *
       0x000004D5   UMSDOS_STAT_DOS      struct umsdos_ioctl *         // I-O
       0x000004D6   UMSDOS_CREAT_EMD     const struct umsdos_ioctl *
       0x000004D7   UMSDOS_UNLINK_EMD    const struct umsdos_ioctl *
       0x000004D8   UMSDOS_READDIR_EMD   struct umsdos_ioctl *         // I-O
       0x000004D9   UMSDOS_GETVERSION    struct umsdos_ioctl *
       0x000004DA   UMSDOS_INIT_EMD      void
       0x000004DB   UMSDOS_DOS_SETUP     const struct umsdos_ioctl *
       0x000004DC   UMSDOS_RENAME_DOS    const struct umsdos_ioctl *

       // <include/linux/vt.h>

       0x00005600   VT_OPENQRY       int *
       0x00005601   VT_GETMODE       struct vt_mode *
       0x00005602   VT_SETMODE       const struct vt_mode *
       0x00005603   VT_GETSTATE      struct vt_stat *
       0x00005604   VT_SENDSIG       void
       0x00005605   VT_RELDISP       int
       0x00005606   VT_ACTIVATE      int
       0x00005607   VT_WAITACTIVE    int
       0x00005608   VT_DISALLOCATE   int
       0x00005609   VT_RESIZE        const struct vt_sizes *
       0x0000560A   VT_RESIZEX       const struct vt_consize *

       // Plus de paramètres. Certains ioctls utilisent un  pointeur  sur  une
       structure  contenant des pointeurs supplémentaires. Les voici par ordre
       alphabétique.

       CDROMREADAUDIO prend un pointeur du type const struct  cdrom_read_audio
       *.  Le  champ  buf pointe sur un tampon de sortie de longueur nframes *
       CD_FRAMESIZE_RAW.

       CDROMREADCOOKED,  CDROMREADMODE1,   CDROMREADMODE2,   et   CDROMREADRAW
       prennent  un  pointeur d’entrée const struct cdrom_msf *. Ils utilisent
       le même pointeur en sortie en tant que char []. La longueur  dépend  de
       l’action.  Pour CDROMREADMODE1, la plupart des pilotes de périphériques
       utilisent  ’CD_FRAMESIZE’,  mais  le  pilote  Optics  Storage   utilise
       ’OPT_BLOCKSIZE’ à la place (les deux valent 2048).

           CDROMREADCOOKED    char [CD_FRAMESIZE]
           CDROMREADMODE1     char [CD_FRAMESIZE ou OPT_BLOCKSIZE]
           CDROMREADMODE2     char [CD_FRAMESIZE_RAW0]
           CDROMREADRAW       char [CD_FRAMESIZE_RAW]

       EQL_ENSLAVE,    EQL_EMANCIPATE,    EQL_GETSLAVECFG,    EQL_SETSLAVECFG,
       EQL_GETMASTERCFG et EQL_SETMASTERCFG prennent une struct  ifreq  *.  le
       champ ifr_data est un pointeur sur une autre structure :

           EQL_ENSLAVE         const struct slaving_request *
           EQL_EMANCIPATE      const struct slaving_request *
           EQL_GETSLAVECFG     struct slave_config *           // I-O
           EQL_SETSLAVECFG     const struct slave_config *
           EQL_GETMASTERCFG    struct master_config *
           EQL_SETMASTERCFG    const struct master_config *

       FDRAWCMD prend une struct floppy raw_cmd *. Si flags & FD_RAW_WRITE est
       non nul, alors data pointe sur un tampon d’entrée de  longueur  length.
       Si  flags & FD_RAW_READ est non nul, alors data pointe sur un tampon de
       sortie de longueur length.

       GIO_FONTX et PIO_FONTX prennent une struct console_font_desc *  et  une
       const  struct  console_font_desc *, respectivement. chardata pointe sur
       un tampon char [charcount]. C’est un tampon de sortie pour GIO_FONTX et
       d’entrée pour PIO_FONTX.

       GIO_UNIMAP  et  PIO_UNIMAP  prennent  struct  unimapdesc * et une const
       struct unimapdesc *,  respectivement.  entries  pointe  sur  un  tampon
       struct unipair [entry_ct]. C’est un tampon de sortie pour GIO_UNIMAP et
       un tampon d’entrée pour PIO_UNIMAP.

       KDADDIO, KDDELIO, KDDISABIO, et KDENABIO  valident  ou  invalident  les
       accès  aux  ports  d’entrée/sortie.  Ce  sont  surtout des alternatives
       d’interface à ’ioperm’.

       KDMAPDISP et  KDUNMAPDISP  valident  et  invalident  la  projection  en
       mémoire  des ports d’entrée/sortie. Ils ne sont pas implémentés dans le
       noyau.

       SCSI_IOCTL_PROBE_HOST prend un  pointeur  d’entrée  const  int  *,  qui
       correspond  à  une  longueur.  Il utilise le même pointeur en sortie en
       tant que tampon char [] de cette longueur.

       SIOCADDRT et SIOCDELRT prennent un pointeur qui dépend du protocole :

           La plupart des protocoles   const struct rtentry *
           AX.25                       const struct ax25_route *
           NET/ROM                     const struct nr_route_struct *

       SIOCGIFCONF prend une struct ifconf *. Le champ ifc_buf pointe  sur  un
       tampon de longueur ifc_len octets, dans lequel le noyau écrit une liste
       de type struct ifreq [].

       SIOCSIFHWADDR prend  un  pointeur  d’entrée  dont  le  type  dépend  du
       protocole :

           La plupart des protocoles   const struct ifreq *
           AX.25                       const char [AX25_ADDR_LEN]

       TIOCLINUX  prend un const char *. Il utilise ceci pour distinguer entre
       différent cas. Dans la table ci‐dessous, N + foo signifie foo après  un
       remplissage  de  N  octets.  struct selection est définie implicitement
       dans drivers/char/selection.c.

           TIOCLINUX-2         1 + const struct selection *
           TIOCLINUX-3         void
           TIOCLINUX-4         void
           TIOCLINUX-5         4 + const struct { long [8]; } *
           TIOCLINUX-6         char *
           TIOCLINUX-7         char *
           TIOCLINUX-10        1 + const char *

       // Ioctls dupliqués

       Cette  liste  n’inclut  pas  les   ioctls   dans   l’intervalle   entre
       SIOCDEVPRIVATE et SIOCPROTOPRIVATE.

       0x00000001   FDSETPRM              FIBMAP
       0x00000002   FDDEFPRM              FIGETBSZ
       0x00005382   CDROMAUDIOBUFSIZ      SCSI_IOCTL_GET_IDLUN
       0x00005402   SNDCTL_TMR_START      TCSETS
       0x00005403   SNDCTL_TMR_STOP       TCSETSW
       0x00005404   SNDCTL_TMR_CONTINUE   TCSETSF

VOIR AUSSI

       ioctl(2)

COLOPHON

       Cette  page  fait  partie  de  la  publication 3.23 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       être       trouvées      à      l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette page de manuel a été traduite  et  mise  à  jour  par  Christophe
       Blaess  <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
       Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et  mise  à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Julien Cristau <jcristau@debian.org> et l’équipe
       francophone de traduction de Debian.

       Veuillez   signaler   toute   erreur   de   traduction  en  écrivant  à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « man -L C <section> <page_de_man> ».