[BACK]Return to ioctl.h CVS log [TXT][DIR] Up to [local] / prex-old / include / sys

Diff for /prex-old/include/sys/ioctl.h between version 1.1.1.1 and 1.1.1.1.2.1

version 1.1.1.1, 2008/06/03 10:38:44 version 1.1.1.1.2.1, 2008/08/13 17:12:28
Line 30 
Line 30 
 #ifndef _SYS_IOCTL_H  #ifndef _SYS_IOCTL_H
 #define _SYS_IOCTL_H  #define _SYS_IOCTL_H
   
 #include <sys/ioccom.h>  #include <sys/cdefs.h>
 #include <sys/ttycom.h>  
 #include <prex/ioctl.h>  #include <prex/ioctl.h>
   
   /*
    * 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 3 bits of the
    * upper word are used to encode the in/out status of the parameter.
    */
   #define IOCPARM_MASK    0x1fff          /* parameter length, at most 13 bits */
   #define IOCPARM_LEN(x)  (((x) >> 16) & IOCPARM_MASK)
   #define IOCBASECMD(x)   ((x) & ~(IOCPARM_MASK << 16))
   #define IOCGROUP(x)     (((x) >> 8) & 0xff)
   
   #define IOCPARM_MAX     256
   
   #define IOC_VOID        0x20000000      /* no parameters */
   #define IOC_OUT         0x40000000      /* copy out parameters */
   #define IOC_IN          0x80000000U     /* copy in parameters */
   #define IOC_INOUT       (IOC_IN|IOC_OUT)
   #define IOC_DIRMASK     0xe0000000
   
   #define _IOC(inout,group,num,len) \
           (u_long)(inout | ((len & IOCPARM_MASK) << 16) | ((group) << 8) | (num))
   #define _IO(g,n)        _IOC(IOC_VOID,  (g), (n), 0)
   #define _IOR(g,n,t)     _IOC(IOC_OUT,   (g), (n), sizeof(t))
   #define _IOW(g,n,t)     _IOC(IOC_IN,    (g), (n), sizeof(t))
   /* this should be _IORW, but stdio got there first */
   #define _IOWR(g,n,t)    _IOC(IOC_INOUT, (g), (n), sizeof(t))
   
   
   __BEGIN_DECLS
   int     ioctl(int, unsigned long, ...);
   __END_DECLS
   
 #endif  /* !_SYS_IOCTL_H */  #endif  /* !_SYS_IOCTL_H */

Legend:
Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.1.2.1

CVSweb