+ added a number of constants from /usr/include/sys/iocomm.h and filio.h

(including FIONREAD, needed for lazarus)

git-svn-id: trunk@1903 -
This commit is contained in:
Jonas Maebe 2005-12-08 12:18:57 +00:00
parent dcb2542ef1
commit 4577a6a98e

View File

@ -567,5 +567,39 @@ Type
chr(_POSIX_VDISABLE), CINTR, CQUIT, CSUSP, CDSUSP, CSTART, CSTOP, CLNEXT,
CDISCARD, CMIN, CTIME, CSTATUS, chr(_POSIX_VDISABLE));
// from /usr/include/sys/iocomm.h
{ parameter length, at most 13 bits }
IOCPARM_MASK = $1fff;
{ max size of ioctl args }
IOCPARM_MAX = IOCPARM_MASK + 1;
{ no parameters }
IOC_VOID = culong($20000000);
{ copy parameters out }
IOC_OUT = culong($40000000);
{ copy parameters in }
IOC_IN = culong($80000000);
{ copy paramters in and out }
IOC_INOUT = (IOC_IN or IOC_OUT);
{ mask for IN/OUT/VOID }
IOC_DIRMASK = culong($e0000000);
// from /usr/include/sys/filio.h
FIOCLEX = (IOC_VOID or (0 and IOCPARM_MASK) << 16) or ((ord('f') << 8) or 1);
FIONCLEX = (IOC_VOID or (0 and IOCPARM_MASK) << 16) or ((ord('f') << 8) or 2);
FIONREAD = (IOC_OUT or (sizeof(cint) and IOCPARM_MASK) << 16) or ((ord('f') << 8) or 127);
FIONBIO = (IOC_IN or (sizeof(cint) and IOCPARM_MASK) << 16) or ((ord('f') << 8) or 126);
FIOASYNC = (IOC_IN or (sizeof(cint) and IOCPARM_MASK) << 16) or ((ord('f') << 8) or 125);
FIOSETOWN = (IOC_IN or (sizeof(cint) and IOCPARM_MASK) << 16) or ((ord('f') << 8) or 124);
FIOGETOWN = (IOC_OUT or (sizeof(cint) and IOCPARM_MASK) << 16) or ((ord('f') << 8) or 123);
FIODTYPE = (IOC_OUT or (sizeof(cint) and IOCPARM_MASK) << 16) or ((ord('f') << 8) or 122);
{$endif}