1 #define _IOC(a,b,c,d) ( ((a)<<30) | ((b)<<8) | (c) | ((d)<<16) ) 2 #define _IOC_NONE 0U 3 #define _IOC_WRITE 1U 4 #define _IOC_READ 2U 5 6 #define _IOC_DIRBITS 2 7 #define _IOC_NRBITS 8 8 #define _IOC_TYPEBITS 8 9 #define _IOC_SIZEBITS 14 10 11 12 #define _IO(a,b) _IOC(_IOC_NONE,(a),(b),0) 13 #define _IOW(a,b,c) _IOC(_IOC_WRITE,(a),(b),sizeof(c)) 14 #define _IOR(a,b,c) _IOC(_IOC_READ,(a),(b),sizeof(c)) 15 #define _IOWR(a,b,c) _IOC(_IOC_READ|_IOC_WRITE,(a),(b),sizeof(c)) 16 #define _IOC_NRMASK ((1 << _IOC_NRBITS) - 1) 17 #define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS) - 1) 18 #define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS) - 1) 19 #define _IOC_DIRMASK ((1 << _IOC_DIRBITS) - 1) 20 #define _IOC_NRSHIFT 0 21 #define _IOC_TYPESHIFT (_IOC_NRSHIFT + _IOC_NRBITS) 22 #define _IOC_SIZESHIFT (_IOC_TYPESHIFT + _IOC_TYPEBITS) 23 #define _IOC_DIRSHIFT (_IOC_SIZESHIFT + _IOC_SIZEBITS) 24 #define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) 25 #define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK) 26 #define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK) 27 28 #define TCGETS 0x5401 29 #define TCSETS 0x5402 30 #define TCSETSW 0x5403 31 #define TCSETSF 0x5404 32 #define TCGETA 0x5405 33 #define TCSETA 0x5406 34 #define TCSETAW 0x5407 35 #define TCSETAF 0x5408 36 #define TCSBRK 0x5409 37 #define TCXONC 0x540A 38 #define TCFLSH 0x540B 39 #define TIOCEXCL 0x540C 40 #define TIOCNXCL 0x540D 41 #define TIOCSCTTY 0x540E 42 #define TIOCGPGRP 0x540F 43 #define TIOCSPGRP 0x5410 44 #define TIOCOUTQ 0x5411 45 #define TIOCSTI 0x5412 46 #define TIOCGWINSZ 0x5413 47 #define TIOCSWINSZ 0x5414 48 #define TIOCMGET 0x5415 49 #define TIOCMBIS 0x5416 50 #define TIOCMBIC 0x5417 51 #define TIOCMSET 0x5418 52 #define TIOCGSOFTCAR 0x5419 53 #define TIOCSSOFTCAR 0x541A 54 #define FIONREAD 0x541B 55 #define TIOCINQ FIONREAD 56 #define TIOCLINUX 0x541C 57 #define TIOCCONS 0x541D 58 #define TIOCGSERIAL 0x541E 59 #define TIOCSSERIAL 0x541F 60 #define TIOCPKT 0x5420 61 #define FIONBIO 0x5421 62 #define TIOCNOTTY 0x5422 63 #define TIOCSETD 0x5423 64 #define TIOCGETD 0x5424 65 #define TCSBRKP 0x5425 66 #define TIOCSBRK 0x5427 67 #define TIOCCBRK 0x5428 68 #define TIOCGSID 0x5429 69 #define TIOCGRS485 0x542E 70 #define TIOCSRS485 0x542F 71 #define TIOCGPTN 0x80045430 72 #define TIOCSPTLCK 0x40045431 73 #define TIOCGDEV 0x80045432 74 #define TCGETX 0x5432 75 #define TCSETX 0x5433 76 #define TCSETXF 0x5434 77 #define TCSETXW 0x5435 78 #define TIOCSIG 0x40045436 79 #define TIOCVHANGUP 0x5437 80 #define TIOCGPKT 0x80045438 81 #define TIOCGPTLCK 0x80045439 82 #define TIOCGEXCL 0x80045440 83 #define TIOCGPTPEER 0x5441 84 #define TIOCGISO7816 0x80285442 85 #define TIOCSISO7816 0xc0285443 86 87 #define FIONCLEX 0x5450 88 #define FIOCLEX 0x5451 89 #define FIOASYNC 0x5452 90 #define TIOCSERCONFIG 0x5453 91 #define TIOCSERGWILD 0x5454 92 #define TIOCSERSWILD 0x5455 93 #define TIOCGLCKTRMIOS 0x5456 94 #define TIOCSLCKTRMIOS 0x5457 95 #define TIOCSERGSTRUCT 0x5458 96 #define TIOCSERGETLSR 0x5459 97 #define TIOCSERGETMULTI 0x545A 98 #define TIOCSERSETMULTI 0x545B 99 100 #define TIOCMIWAIT 0x545C 101 #define TIOCGICOUNT 0x545D 102 #define FIOQSIZE 0x5460 103 104 #define TIOCM_LE 0x001 105 #define TIOCM_DTR 0x002 106 #define TIOCM_RTS 0x004 107 #define TIOCM_ST 0x008 108 #define TIOCM_SR 0x010 109 #define TIOCM_CTS 0x020 110 #define TIOCM_CAR 0x040 111 #define TIOCM_RNG 0x080 112 #define TIOCM_DSR 0x100 113 #define TIOCM_CD TIOCM_CAR 114 #define TIOCM_RI TIOCM_RNG 115 #define TIOCM_OUT1 0x2000 116 #define TIOCM_OUT2 0x4000 117 #define TIOCM_LOOP 0x8000 118 119 #define FIOSETOWN 0x8901 120 #define SIOCSPGRP 0x8902 121 #define FIOGETOWN 0x8903 122 #define SIOCGPGRP 0x8904 123 #define SIOCATMARK 0x8905 124 #if __LONG_MAX == 0x7fffffff 125 #define SIOCGSTAMP _IOR(0x89, 6, char[16]) 126 #define SIOCGSTAMPNS _IOR(0x89, 7, char[16]) 127 #else 128 #define SIOCGSTAMP 0x8906 129 #define SIOCGSTAMPNS 0x8907 130 #endif 131 132 #include <bits/ioctl_fix.h> 133