Ver Fonte

* missing FIO constants

git-svn-id: trunk@2561 -
peter há 19 anos atrás
pai
commit
87b5e282d7
1 ficheiros alterados com 30 adições e 0 exclusões
  1. 30 0
      rtl/solaris/termios.inc

+ 30 - 0
rtl/solaris/termios.inc

@@ -483,6 +483,36 @@
    * Speeds
     }
 
+  { parameter length, at most 255 bytes }
+  IOCPARM_MASK = $ff;
+
+  {  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);
+
+  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);
+  
   const
      B0 = 0;
      B50 = 1;