瀏覽代碼

+ Add some missing constants

git-svn-id: trunk@20291 -
pierre 13 年之前
父節點
當前提交
12f3e8fbc3
共有 1 個文件被更改,包括 33 次插入0 次删除
  1. 33 0
      rtl/netbsd/termios.inc

+ 33 - 0
rtl/netbsd/termios.inc

@@ -362,3 +362,36 @@ struct winsize {
         POSIX_VDISABLE, CINTR,  CQUIT,  CSUSP,  CDSUSP, CSTART, CSTOP,  CLNEXT,
         CDISCARD, CMIN, CTIME,  CSTATUS, 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);