ioctl.h
资源名称:ixp425BSP.rar [点击查看]
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:6k
源码类别:
VxWorks
开发平台:
C/C++
- /* ioctl.h - socket ioctl header file */
- /* Copyright 1984-2001 Wind River Systems, Inc. */
- /*
- modification history
- --------------------
- 02l,12oct01,rae merge from truestack (SIOCGMTU)
- 02k,29apr99,pul Upgraded NPT phase3 code to tor2.0.0
- 02j,18mar99,sj added SIOCSIFASYNCFLAGS
- 02i,11aug93,jmm Changed ioctl.h and socket.h to sys/ioctl.h and sys/socket.h
- 02h,22sep92,rrr added support for c++
- 02g,04jul92,jcf cleaned up.
- 02f,26may92,rrr the tree shuffle
- 02e,04oct91,rrr passed through the ansification filter
- -changed copyright notice
- 02d,19aug91,rrr changed to work with ansi compiler
- 02c,24mar91,del changes to work with gnu960 compiler for i960 port.
- 02b,05oct90,shl fixed copyright notice.
- 02a,29apr87,dnw removed unnecessary junk.
- added header and copyright.
- */
- #ifndef __INCioctlh
- #define __INCioctlh
- #ifdef __cplusplus
- extern "C" {
- #endif
- /* socket i/o controls */
- /*
- * Ioctl's have the command encoded in the lower word,
- * and the size of any in or out parameters in the upper
- * word. The high 2 bits of the upper word are used
- * to encode the in/out status of the parameter; for now
- * we restrict parameters to at most 128 bytes.
- */
- #define IOCPARM_MASK 0x7f /* parameters must be < 128 bytes */
- #define IOC_VOID 0x20000000 /* no parameters */
- #define IOC_OUT 0x40000000 /* copy out parameters */
- #define IOC_IN 0x80000000 /* copy in parameters */
- #define IOC_INOUT (IOC_IN|IOC_OUT)
- /* the 0x20000000 is so we can distinguish new ioctl's from old */
- /* had to change macros from 'x' to (x) and had to pass in litterals as 'i'
- * rather than i, because ANSIc doesn't behave in the same manner as
- * the traditional c compilers
- */
- #define _IO(x,y) (IOC_VOID|((x)<<8)|y)
- #define _IOR(x,y,t) (IOC_OUT|((sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|y)
- #define _IOW(x,y,t) (IOC_IN|((sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|y)
- /* this should be _IORW, but stdio got there first */
- #define _IOWR(x,y,t) (IOC_INOUT|((sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|y)
- #define SIOCSHIWAT _IOW('s', 0, int) /* set high watermark */
- #define SIOCGHIWAT _IOR('s', 1, int) /* get high watermark */
- #define SIOCSLOWAT _IOW('s', 2, int) /* set low watermark */
- #define SIOCGLOWAT _IOR('s', 3, int) /* get low watermark */
- #define SIOCATMARK _IOR('s', 7, int) /* at oob mark? */
- #define SIOCSPGRP _IOW('s', 8, int) /* set process group */
- #define SIOCGPGRP _IOR('s', 9, int) /* get process group */
- #define SIOCADDRT _IOW('r', 10, struct ortentry) /* add route */
- #define SIOCDELRT _IOW('r', 11, struct ortentry) /* delete route */
- #if 0 /* OLD XXX */
- #define SIOCSIFADDR _IOW('i', 12, struct ifreq) /* set ifnet address */
- #define SIOCGIFADDR _IOWR('i',13, struct ifreq) /* get ifnet address */
- #define SIOCSIFDSTADDR _IOW('i', 14, struct ifreq) /* set p-p address */
- #define SIOCGIFDSTADDR _IOWR('i',15, struct ifreq) /* get p-p address */
- #define SIOCSIFFLAGS _IOW('i', 16, struct ifreq) /* set ifnet flags */
- #define SIOCGIFFLAGS _IOWR('i',17, struct ifreq) /* get ifnet flags */
- #define SIOCGIFBRDADDR _IOWR('i',18, struct ifreq) /* get broadcast addr */
- #define SIOCSIFBRDADDR _IOW('i',19, struct ifreq) /* set broadcast addr */
- #define SIOCGIFCONF _IOWR('i',20, struct ifconf) /* get ifnet list */
- #define SIOCGIFNETMASK _IOWR('i',21, struct ifreq) /* get net addr mask */
- #define SIOCSIFNETMASK _IOW('i',22, struct ifreq) /* set net addr mask */
- #define SIOCGIFMETRIC _IOWR('i',23, struct ifreq) /* get IF metric */
- #define SIOCSIFMETRIC _IOW('i',24, struct ifreq) /* set IF metric */
- #define SIOCSARP _IOW('i', 30, struct arpreq) /* set arp entry */
- #define SIOCGARP _IOWR('i',31, struct arpreq) /* get arp entry */
- #define SIOCDARP _IOW('i', 32, struct arpreq) /* delete arp entry */
- #endif
- #define SIOCSIFADDR _IOW('i', 12, struct ifreq) /* set ifnet address */
- #define OSIOCGIFADDR _IOWR('i', 13, struct ifreq) /* get ifnet address */
- #define SIOCGIFADDR _IOWR('i', 33, struct ifreq) /* get ifnet address */
- #define SIOCSIFDSTADDR _IOW('i', 14, struct ifreq) /* set p-p address */
- #define OSIOCGIFDSTADDR _IOWR('i', 15, struct ifreq) /* get p-p address */
- #define SIOCGIFDSTADDR _IOWR('i', 34, struct ifreq) /* get p-p address */
- #define SIOCSIFFLAGS _IOW('i', 16, struct ifreq) /* set ifnet flags */
- #define SIOCGIFFLAGS _IOWR('i', 17, struct ifreq) /* get ifnet flags */
- #define OSIOCGIFBRDADDR _IOWR('i', 18, struct ifreq) /* get broadcast addr */
- #define SIOCGIFBRDADDR _IOWR('i', 35, struct ifreq) /* get broadcast addr */
- #define SIOCSIFBRDADDR _IOW('i', 19, struct ifreq) /* set broadcast addr */
- #define SIOCSARP _IOW('i', 30, struct arpreq) /* set arp entry */
- #define SIOCGARP _IOWR('i',31, struct arpreq) /* get arp entry */
- #define SIOCDARP _IOW('i', 32, struct arpreq) /* delete arp entry */
- #define OSIOCGIFCONF _IOWR('i', 20, struct ifconf) /* get ifnet list */
- #define SIOCGIFCONF _IOWR('i', 36, struct ifconf) /* get ifnet list */
- #define OSIOCGIFNETMASK _IOWR('i', 21, struct ifreq) /* get net addr mask */
- #define SIOCGIFNETMASK _IOWR('i', 37, struct ifreq) /* get net addr mask */
- #define SIOCSIFNETMASK _IOW('i', 22, struct ifreq) /* set net addr mask */
- #define SIOCGIFMETRIC _IOWR('i', 23, struct ifreq) /* get IF metric */
- #define SIOCSIFMETRIC _IOW('i', 24, struct ifreq) /* set IF metric */
- #define SIOCDIFADDR _IOW('i', 25, struct ifreq) /* delete IF addr */
- #define SIOCAIFADDR _IOW('i', 26, struct ifaliasreq)/* add/chg IF alias */
- #define SIOCADDMULTI _IOW('i', 49, struct ifreq) /* add m'cast addr */
- #define SIOCDELMULTI _IOW('i', 50, struct ifreq) /* del m'cast addr */
- #define SIOCGETMULTI _IOWR('i', 51, struct ifmreq) /* get m'cast addr */
- #define SIOCSIFMTU _IOW('i', 127, struct ifreq) /* set ifnet mtu */
- #define SIOCGIFMTU _IOWR('i', 126, struct ifreq) /* get ifnet mtu */
- #define SIOCSIFASYNCMAP _IOW('i', 125, struct ifreq) /* set ppp asyncmap */
- #define SIOCGIFASYNCMAP _IOWR('i', 124, struct ifreq) /* get ppp asyncmap */
- #define SIOCSIFASYNCFLAGS _IOWR('i', 123, struct ifreq) /* intf. flags changed*/
- /* Duplicate of END ioctl to prevent include file dependencies. */
- #define SIOCGMTU _IOR('e', 26, MTU_QUERY *) /* get mtu for PMP case */
- #ifdef __cplusplus
- }
- #endif
- #endif /* __INCioctlh */