NOM¶
ioctl_list - Liste des requêtes ioctl pour Linux/i386
DESCRIPTION¶
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.44 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¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
<
http://po4a.alioth.debian.org/> par l'équipe de traduction
francophone au sein du projet perkamon
<
http://perkamon.alioth.debian.org/>.
Christophe Blaess <
http://www.blaess.fr/christophe/> (1996-2003), Alain
Portal <
http://manpagesfr.free.fr/> (2003-2006). Julien Cristau et
l'équipe francophone de traduction de Debian (2006-2009).
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> ».