[MLton-commit] r4345

Matthew Fluet MLton@mlton.org
Sat, 4 Feb 2006 21:10:46 -0800


Checkpoint before branching basis refactoring.


----------------------------------------------------------------------

U   mlton/branches/on-20050822-x86_64-branch/basis-library/config/c/amd64-linux/c-types.sml
U   mlton/branches/on-20050822-x86_64-branch/basis-library/config/c/x86-linux/c-types.sml
A   mlton/branches/on-20050822-x86_64-branch/basis-library/config/choose.sml
U   mlton/branches/on-20050822-x86_64-branch/basis-library/integer/int-inf.sml
U   mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/exit.sml
U   mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/proc-env.sml
U   mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/rlimit.sml
U   mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/signal.sml
U   mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/syslog.sml
U   mlton/branches/on-20050822-x86_64-branch/basis-library/net/net-host-db.sml
U   mlton/branches/on-20050822-x86_64-branch/basis-library/net/socket.sig
U   mlton/branches/on-20050822-x86_64-branch/basis-library/net/socket.sml
U   mlton/branches/on-20050822-x86_64-branch/basis-library/net/unix-sock.sml
U   mlton/branches/on-20050822-x86_64-branch/basis-library/posix/error.sml
U   mlton/branches/on-20050822-x86_64-branch/basis-library/posix/file-sys.sml
U   mlton/branches/on-20050822-x86_64-branch/basis-library/posix/io.sml
U   mlton/branches/on-20050822-x86_64-branch/basis-library/posix/proc-env.sml
U   mlton/branches/on-20050822-x86_64-branch/basis-library/posix/process.sml
U   mlton/branches/on-20050822-x86_64-branch/basis-library/posix/signal.sml
U   mlton/branches/on-20050822-x86_64-branch/basis-library/posix/sys-db.sml
U   mlton/branches/on-20050822-x86_64-branch/basis-library/posix/tty.sml
U   mlton/branches/on-20050822-x86_64-branch/basis-library/primitive/basis-ffi.sml
U   mlton/branches/on-20050822-x86_64-branch/basis-library/primitive/primitive.mlb
U   mlton/branches/on-20050822-x86_64-branch/basis-library/primitive/primitive.sml
U   mlton/branches/on-20050822-x86_64-branch/basis-library/system/io.sml
U   mlton/branches/on-20050822-x86_64-branch/basis-library/system/pre-os.sml
U   mlton/branches/on-20050822-x86_64-branch/basis-library/system/time.sml
U   mlton/branches/on-20050822-x86_64-branch/runtime/Posix/TTY-consts.c
U   mlton/branches/on-20050822-x86_64-branch/runtime/gc/int-inf.c
U   mlton/branches/on-20050822-x86_64-branch/runtime/gc/int-inf.h
U   mlton/branches/on-20050822-x86_64-branch/runtime/gen/basis-ffi.def
U   mlton/branches/on-20050822-x86_64-branch/runtime/gen/gen-types.c

----------------------------------------------------------------------

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/config/c/amd64-linux/c-types.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/config/c/amd64-linux/c-types.sml	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/config/c/amd64-linux/c-types.sml	2006-02-05 05:10:42 UTC (rev 4345)
@@ -5,78 +5,124 @@
  * See the file MLton-LICENSE for details.
  *)
 
-structure C = struct
 
-
 (* C *)
-structure Char = struct open Int8 type t = int end
-structure SChar = struct open Int8 type t = int end
-structure UChar = struct open Word8 type t = word end
-structure Short = struct open Int16 type t = int end
-structure SShort = struct open Int16 type t = int end
-structure UShort = struct open Word16 type t = word end
-structure Int = struct open Int32 type t = int end
-structure SInt = struct open Int32 type t = int end
-structure UInt = struct open Word32 type t = word end
-structure Long = struct open Int32 type t = int end
-structure SLong = struct open Int32 type t = int end
-structure ULong = struct open Word32 type t = word end
-structure LongLong = struct open Int64 type t = int end
-structure SLongLong = struct open Int64 type t = int end
-structure ULongLong = struct open Word64 type t = word end
-structure Float = struct open Real32 type t = real end
-structure Double = struct open Real64 type t = real end
-structure Size = struct open Word32 type t = word end
+structure C_Char = struct open Int8 type t = int end
+functor C_Char_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int8 (A)
+structure C_SChar = struct open Int8 type t = int end
+functor C_SChar_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int8 (A)
+structure C_UChar = struct open Word8 type t = word end
+functor C_UChar_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word8 (A)
+structure C_Short = struct open Int16 type t = int end
+functor C_Short_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int16 (A)
+structure C_SShort = struct open Int16 type t = int end
+functor C_SShort_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int16 (A)
+structure C_UShort = struct open Word16 type t = word end
+functor C_UShort_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word16 (A)
+structure C_Int = struct open Int32 type t = int end
+functor C_Int_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_SInt = struct open Int32 type t = int end
+functor C_SInt_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_UInt = struct open Word32 type t = word end
+functor C_UInt_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
+structure C_Long = struct open Int32 type t = int end
+functor C_Long_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_SLong = struct open Int32 type t = int end
+functor C_SLong_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_ULong = struct open Word32 type t = word end
+functor C_ULong_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
+structure C_LongLong = struct open Int64 type t = int end
+functor C_LongLong_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int64 (A)
+structure C_SLongLong = struct open Int64 type t = int end
+functor C_SLongLong_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int64 (A)
+structure C_ULongLong = struct open Word64 type t = word end
+functor C_ULongLong_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word64 (A)
+structure C_Float = struct open Real32 type t = real end
+functor C_Float_ChooseRealN (A: CHOOSE_REALN_ARG) = ChooseRealN_Real32 (A)
+structure C_Double = struct open Real64 type t = real end
+functor C_Double_ChooseRealN (A: CHOOSE_REALN_ARG) = ChooseRealN_Real64 (A)
+structure C_Size = struct open Word32 type t = word end
+functor C_Size_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
 
-structure String = Pointer
-structure StringArray = Pointer
+structure C_Pointer = Pointer
+structure C_String = Pointer
+structure C_StringArray = Pointer
 
 (* Generic integers *)
-structure Fd = Int
-structure Signal = Int
-structure Status = Int
-structure Sock = Int
+structure C_Fd = C_Int
+functor C_Fd_ChooseIntN (A: CHOOSE_INTN_ARG) = C_Int_ChooseIntN (A)
+structure C_Signal = C_Int
+functor C_Signal_ChooseIntN (A: CHOOSE_INTN_ARG) = C_Int_ChooseIntN (A)
+structure C_Status = C_Int
+functor C_Status_ChooseIntN (A: CHOOSE_INTN_ARG) = C_Int_ChooseIntN (A)
+structure C_Sock = C_Int
+functor C_Sock_ChooseIntN (A: CHOOSE_INTN_ARG) = C_Int_ChooseIntN (A)
 
 (* C99 *)
-structure Intmax = struct open Int64 type t = int end
-structure UIntmax = struct open Word64 type t = word end
+structure C_Ptrdiff = struct open Int32 type t = int end
+functor C_Ptrdiff_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_Intmax = struct open Int64 type t = int end
+functor C_Intmax_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int64 (A)
+structure C_UIntmax = struct open Word64 type t = word end
+functor C_UIntmax_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word64 (A)
 
 (* from <dirent.h> *)
-structure DirP = struct open Word32 type t = word end
+structure C_DirP = struct open Word32 type t = word end
+functor C_DirP_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
 
 (* from <poll.h> *)
-structure NFds = struct open Word32 type t = word end
+structure C_NFds = struct open Word32 type t = word end
+functor C_NFds_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
 
 (* from <resource.h> *)
-structure RLim = struct open Word64 type t = word end
+structure C_RLim = struct open Word64 type t = word end
+functor C_RLim_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word64 (A)
 
 (* from <sys/types.h> *)
-structure Clock = struct open Int32 type t = int end
-structure Dev = struct open Word64 type t = word end
-structure GId = struct open Word32 type t = word end
-structure Id = struct open Word32 type t = word end
-structure INo = struct open Word64 type t = word end
-structure Mode = struct open Word32 type t = word end
-structure NLink = struct open Word32 type t = word end
-structure Off = struct open Int64 type t = int end
-structure PId = struct open Int32 type t = int end
-structure SSize = struct open Int32 type t = int end
-structure SUSeconds = struct open Int32 type t = int end
-structure Time = struct open Int32 type t = int end
-structure UId = struct open Word32 type t = word end
-structure USeconds = struct open Word32 type t = word end
+structure C_Clock = struct open Int32 type t = int end
+functor C_Clock_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_Dev = struct open Word64 type t = word end
+functor C_Dev_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word64 (A)
+structure C_GId = struct open Word32 type t = word end
+functor C_GId_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
+structure C_Id = struct open Word32 type t = word end
+functor C_Id_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
+structure C_INo = struct open Word64 type t = word end
+functor C_INo_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word64 (A)
+structure C_Mode = struct open Word32 type t = word end
+functor C_Mode_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
+structure C_NLink = struct open Word32 type t = word end
+functor C_NLink_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
+structure C_Off = struct open Int64 type t = int end
+functor C_Off_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int64 (A)
+structure C_PId = struct open Int32 type t = int end
+functor C_PId_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_SSize = struct open Int32 type t = int end
+functor C_SSize_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_SUSeconds = struct open Int32 type t = int end
+functor C_SUSeconds_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_Time = struct open Int32 type t = int end
+functor C_Time_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_UId = struct open Word32 type t = word end
+functor C_UId_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
+structure C_USeconds = struct open Word32 type t = word end
+functor C_USeconds_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
 
 (* from <sys/socket.h> *)
-structure Socklen = struct open Word32 type t = word end
+structure C_Socklen = struct open Word32 type t = word end
+functor C_Socklen_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
 
 (* from <termios.h> *)
-structure CC = struct open Word8 type t = word end
-structure Speed = struct open Word32 type t = word end
-structure TCFlag = struct open Word32 type t = word end
+structure C_CC = struct open Word8 type t = word end
+functor C_CC_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word8 (A)
+structure C_Speed = struct open Word32 type t = word end
+functor C_Speed_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
+structure C_TCFlag = struct open Word32 type t = word end
+functor C_TCFlag_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
 
 (* from "gmp.h" *)
-structure MPLimb = struct open Word32 type t = word end
+structure C_MPLimb = struct open Word32 type t = word end
+functor C_MPLimb_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
 
 
-structure Errno = struct type 'a t = 'a end
-end
+structure C_Errno = struct type 'a t = 'a end

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/config/c/x86-linux/c-types.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/config/c/x86-linux/c-types.sml	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/config/c/x86-linux/c-types.sml	2006-02-05 05:10:42 UTC (rev 4345)
@@ -5,74 +5,124 @@
  * See the file MLton-LICENSE for details.
  *)
 
-structure C = struct
 
-
 (* C *)
-structure Char = struct open Int8 type t = int end
-structure SChar = struct open Int8 type t = int end
-structure UChar = struct open Word8 type t = word end
-structure Short = struct open Int16 type t = int end
-structure SShort = struct open Int16 type t = int end
-structure UShort = struct open Word16 type t = word end
-structure Int = struct open Int32 type t = int end
-structure SInt = struct open Int32 type t = int end
-structure UInt = struct open Word32 type t = word end
-structure Long = struct open Int32 type t = int end
-structure SLong = struct open Int32 type t = int end
-structure ULong = struct open Word32 type t = word end
-structure LongLong = struct open Int64 type t = int end
-structure SLongLong = struct open Int64 type t = int end
-structure ULongLong = struct open Word64 type t = word end
-structure Float = struct open Real32 type t = real end
-structure Double = struct open Real64 type t = real end
-structure Size = struct open Word32 type t = word end
+structure C_Char = struct open Int8 type t = int end
+functor C_Char_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int8 (A)
+structure C_SChar = struct open Int8 type t = int end
+functor C_SChar_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int8 (A)
+structure C_UChar = struct open Word8 type t = word end
+functor C_UChar_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word8 (A)
+structure C_Short = struct open Int16 type t = int end
+functor C_Short_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int16 (A)
+structure C_SShort = struct open Int16 type t = int end
+functor C_SShort_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int16 (A)
+structure C_UShort = struct open Word16 type t = word end
+functor C_UShort_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word16 (A)
+structure C_Int = struct open Int32 type t = int end
+functor C_Int_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_SInt = struct open Int32 type t = int end
+functor C_SInt_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_UInt = struct open Word32 type t = word end
+functor C_UInt_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
+structure C_Long = struct open Int32 type t = int end
+functor C_Long_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_SLong = struct open Int32 type t = int end
+functor C_SLong_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_ULong = struct open Word32 type t = word end
+functor C_ULong_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
+structure C_LongLong = struct open Int64 type t = int end
+functor C_LongLong_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int64 (A)
+structure C_SLongLong = struct open Int64 type t = int end
+functor C_SLongLong_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int64 (A)
+structure C_ULongLong = struct open Word64 type t = word end
+functor C_ULongLong_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word64 (A)
+structure C_Float = struct open Real32 type t = real end
+functor C_Float_ChooseRealN (A: CHOOSE_REALN_ARG) = ChooseRealN_Real32 (A)
+structure C_Double = struct open Real64 type t = real end
+functor C_Double_ChooseRealN (A: CHOOSE_REALN_ARG) = ChooseRealN_Real64 (A)
+structure C_Size = struct open Word32 type t = word end
+functor C_Size_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
 
-structure String = Pointer
-structure StringArray = Pointer
+structure C_Pointer = Pointer
+structure C_String = Pointer
+structure C_StringArray = Pointer
 
 (* Generic integers *)
-structure Fd = Int
-structure Signal = Int
-structure Status = Int
-structure Sock = Int
+structure C_Fd = C_Int
+functor C_Fd_ChooseIntN (A: CHOOSE_INTN_ARG) = C_Int_ChooseIntN (A)
+structure C_Signal = C_Int
+functor C_Signal_ChooseIntN (A: CHOOSE_INTN_ARG) = C_Int_ChooseIntN (A)
+structure C_Status = C_Int
+functor C_Status_ChooseIntN (A: CHOOSE_INTN_ARG) = C_Int_ChooseIntN (A)
+structure C_Sock = C_Int
+functor C_Sock_ChooseIntN (A: CHOOSE_INTN_ARG) = C_Int_ChooseIntN (A)
 
+(* C99 *)
+structure C_Ptrdiff = struct open Int32 type t = int end
+functor C_Ptrdiff_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_Intmax = struct open Int64 type t = int end
+functor C_Intmax_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int64 (A)
+structure C_UIntmax = struct open Word64 type t = word end
+functor C_UIntmax_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word64 (A)
+
 (* from <dirent.h> *)
-structure DirP = struct open Word32 type t = word end
+structure C_DirP = struct open Word32 type t = word end
+functor C_DirP_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
 
 (* from <poll.h> *)
-structure NFds = struct open Word32 type t = word end
+structure C_NFds = struct open Word32 type t = word end
+functor C_NFds_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
 
 (* from <resource.h> *)
-structure RLim = struct open Word64 type t = word end
+structure C_RLim = struct open Word64 type t = word end
+functor C_RLim_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word64 (A)
 
 (* from <sys/types.h> *)
-structure Clock = struct open Int32 type t = int end
-structure Dev = struct open Word64 type t = word end
-structure GId = struct open Word32 type t = word end
-structure Id = struct open Word32 type t = word end
-structure INo = struct open Word64 type t = word end
-structure Mode = struct open Word32 type t = word end
-structure NLink = struct open Word32 type t = word end
-structure Off = struct open Int64 type t = int end
-structure PId = struct open Int32 type t = int end
-structure SSize = struct open Int32 type t = int end
-structure SUSeconds = struct open Int32 type t = int end
-structure Time = struct open Int32 type t = int end
-structure UId = struct open Word32 type t = word end
-structure USeconds = struct open Word32 type t = word end
+structure C_Clock = struct open Int32 type t = int end
+functor C_Clock_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_Dev = struct open Word64 type t = word end
+functor C_Dev_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word64 (A)
+structure C_GId = struct open Word32 type t = word end
+functor C_GId_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
+structure C_Id = struct open Word32 type t = word end
+functor C_Id_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
+structure C_INo = struct open Word64 type t = word end
+functor C_INo_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word64 (A)
+structure C_Mode = struct open Word32 type t = word end
+functor C_Mode_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
+structure C_NLink = struct open Word32 type t = word end
+functor C_NLink_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
+structure C_Off = struct open Int64 type t = int end
+functor C_Off_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int64 (A)
+structure C_PId = struct open Int32 type t = int end
+functor C_PId_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_SSize = struct open Int32 type t = int end
+functor C_SSize_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_SUSeconds = struct open Int32 type t = int end
+functor C_SUSeconds_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_Time = struct open Int32 type t = int end
+functor C_Time_ChooseIntN (A: CHOOSE_INTN_ARG) = ChooseIntN_Int32 (A)
+structure C_UId = struct open Word32 type t = word end
+functor C_UId_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
+structure C_USeconds = struct open Word32 type t = word end
+functor C_USeconds_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
 
 (* from <sys/socket.h> *)
-structure Socklen = struct open Word32 type t = word end
+structure C_Socklen = struct open Word32 type t = word end
+functor C_Socklen_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
 
 (* from <termios.h> *)
-structure CC = struct open Word8 type t = word end
-structure Speed = struct open Word32 type t = word end
-structure TCFlag = struct open Word32 type t = word end
+structure C_CC = struct open Word8 type t = word end
+functor C_CC_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word8 (A)
+structure C_Speed = struct open Word32 type t = word end
+functor C_Speed_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
+structure C_TCFlag = struct open Word32 type t = word end
+functor C_TCFlag_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
 
 (* from "gmp.h" *)
-structure MPLimb = struct open Word32 type t = word end
+structure C_MPLimb = struct open Word32 type t = word end
+functor C_MPLimb_ChooseWordN (A: CHOOSE_WORDN_ARG) = ChooseWordN_Word32 (A)
 
 
-structure Errno = struct type 'a t = 'a end
-end
+structure C_Errno = struct type 'a t = 'a end

Added: mlton/branches/on-20050822-x86_64-branch/basis-library/config/choose.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/config/choose.sml	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/config/choose.sml	2006-02-05 05:10:42 UTC (rev 4345)
@@ -0,0 +1,64 @@
+(* Copyright (C) 1999-2006 Henry Cejtin, Matthew Fluet, Suresh
+ *    Jagannathan, and Stephen Weeks.
+ *
+ * MLton is released under a BSD-style license.
+ * See the file MLton-LICENSE for details.
+ *)
+
+signature CHOOSE_INTN_ARG =
+   sig
+      type 'a t
+      val fInt8: Int8.int t
+      val fInt16: Int16.int t
+      val fInt32: Int32.int t
+      val fInt64: Int64.int t
+   end
+
+functor ChooseIntN_Int8 (A : CHOOSE_INTN_ARG) : 
+   sig val f : Int8.int A.t end = 
+   struct val f = A.fInt8 end
+functor ChooseIntN_Int16 (A : CHOOSE_INTN_ARG) : 
+   sig val f : Int16.int A.t end = 
+   struct val f = A.fInt16 end
+functor ChooseIntN_Int32 (A : CHOOSE_INTN_ARG) : 
+   sig val f : Int32.int A.t end = 
+   struct val f = A.fInt32 end
+functor ChooseIntN_Int64 (A : CHOOSE_INTN_ARG) : 
+   sig val f : Int64.int A.t end = 
+   struct val f = A.fInt64 end
+
+signature CHOOSE_REALN_ARG =
+   sig
+      type 'a t
+      val fReal32: Real32.real t
+      val fReal64: Real64.real t
+   end
+
+functor ChooseRealN_Real32 (A : CHOOSE_REALN_ARG) : 
+   sig val f : Real32.real A.t end = 
+   struct val f = A.fReal32 end
+functor ChooseRealN_Real64 (A : CHOOSE_REALN_ARG) : 
+   sig val f : Real64.real A.t end = 
+   struct val f = A.fReal64 end
+
+signature CHOOSE_WORDN_ARG =
+   sig
+      type 'a t
+      val fWord8: Word8.word t
+      val fWord16: Word16.word t
+      val fWord32: Word32.word t
+      val fWord64: Word64.word t
+   end
+
+functor ChooseWordN_Word8 (A : CHOOSE_WORDN_ARG) : 
+   sig val f : Word8.word A.t end = 
+   struct val f = A.fWord8 end
+functor ChooseWordN_Word16 (A : CHOOSE_WORDN_ARG) : 
+   sig val f : Word16.word A.t end = 
+   struct val f = A.fWord16 end
+functor ChooseWordN_Word32 (A : CHOOSE_WORDN_ARG) : 
+   sig val f : Word32.word A.t end = 
+   struct val f = A.fWord32 end
+functor ChooseWordN_Word64 (A : CHOOSE_WORDN_ARG) : 
+   sig val f : Word64.word A.t end = 
+   struct val f = A.fWord64 end

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/integer/int-inf.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/integer/int-inf.sml	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/integer/int-inf.sml	2006-02-05 05:10:42 UTC (rev 4345)
@@ -97,20 +97,6 @@
          Word.orb (Word.<< (argw, 0w1), 0w1)
 
       (*
-       * Given a fixnum bigInt, change the tag bit to 0.
-       * NOTE: it is an ERROR to call zeroTag on an argument
-       * which is a bignum bigInt.
-       *)
-      fun zeroTag (arg: bigInt): Word.word =
-         Word.andb (Prim.toWord arg, 0wxFFFFFFFE)
-
-      (*
-       * Given a Word.word, set the tag bit back to 1.
-       *)
-      fun incTag (argw: Word.word): Word.word =
-         Word.orb (argw, 0w1)
-
-      (*
        * badw is the fixnum bigInt (as a word) whose negation and
        * absolute value are not fixnums.  badv is the same thing
        * with the tag stripped off.
@@ -272,35 +258,29 @@
             recur 0
          end
             
-      (*
-       * bigInt multiplication.
-       *)
-      local 
-         val carry: Word.word ref = ref 0w0
-      in
-         fun bigMul (lhs: bigInt, rhs: bigInt): bigInt =
-            let
-               val res =
-                  if areSmall (lhs, rhs)
-                     then let
-                             val lhsv = stripTag lhs
-                             val rhs0 = zeroTag rhs
-                             val ans0 = Prim.smallMul (lhsv, rhs0, carry)
-                          in
-                             if (! carry) = Word.~>> (ans0, 0w31)
-                                then SOME (Prim.fromWord (incTag ans0))
+
+      fun bigMul (lhs: bigInt, rhs: bigInt): bigInt =
+         let
+            val res =
+               if areSmall (lhs, rhs)
+                  then let val ansv = (Word.fromInt o Int.*) 
+                                      (Word.toIntX (stripTag lhs),
+                                       Word.toIntX (stripTag rhs))
+                           val ans = addTag ansv
+                       in
+                          if sameSign (ans, ansv)
+                             then SOME (Prim.fromWord ans)
                              else NONE
-                          end
+                       end handle Overflow => NONE
                   else NONE
-            in
-               case res of
-                  NONE =>
-                     dontInline
-                     (fn () =>
-                      Prim.* (lhs, rhs, reserve (size lhs +? size rhs, 0)))
-                | SOME i => i
-            end
-      end
+         in
+            case res of
+               NONE =>
+                  dontInline
+                  (fn () =>
+                   Prim.* (lhs, rhs, reserve (size lhs +? size rhs, 0)))
+             | SOME i => i
+         end
 
       (*
        * bigInt quot.

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/exit.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/exit.sml	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/exit.sml	2006-02-05 05:10:42 UTC (rev 4345)
@@ -9,9 +9,9 @@
    struct
       structure Status = 
          struct
-            type t = C.Status.t
-            val fromInt =C.Status.fromInt
-            val toInt = C.Status.toInt
+            type t = C_Status.t
+            val fromInt = C_Status.fromInt
+            val toInt = C_Status.toInt
             val failure = fromInt 1
             val success = fromInt 0
          end

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/proc-env.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/proc-env.sml	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/proc-env.sml	2006-02-05 05:10:42 UTC (rev 4345)
@@ -8,7 +8,7 @@
 
 structure MLtonProcEnv: MLTON_PROC_ENV =
    struct
-      type gid = C.GId.t
+      type gid = C_GId.t
 
       fun setenv {name, value} =
          let

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/rlimit.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/rlimit.sml	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/rlimit.sml	2006-02-05 05:10:42 UTC (rev 4345)
@@ -9,8 +9,8 @@
 structure MLtonRlimit: MLTON_RLIMIT =
    struct
       open PrimitiveFFI.MLton.Rlimit
-      type rlim = C.RLim.t
-      type t = C.Int.t
+      type rlim = C_RLim.t
+      type t = C_Int.t
 
       val get =
          fn (r: t) =>

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/signal.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/signal.sml	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/signal.sml	2006-02-05 05:10:42 UTC (rev 4345)
@@ -17,7 +17,7 @@
 
 type t = signal
 
-type how = C.Int.t
+type how = C_Int.t
 
 (* val toString = SysWord.toString o toWord *)
    

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/syslog.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/syslog.sml	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/syslog.sml	2006-02-05 05:10:42 UTC (rev 4345)
@@ -16,7 +16,7 @@
 
 open PrimitiveFFI.MLton.Syslog
 
-type openflag = C.Int.t
+type openflag = C_Int.t
 
 local 
    open Logopt
@@ -28,7 +28,7 @@
    val PID = LOG_PID
 end
 
-type facility = C.Int.t
+type facility = C_Int.t
 
 local
    open Facility
@@ -55,7 +55,7 @@
    val UUCP = LOG_UUCP
 end
 
-type loglevel = C.Int.t
+type loglevel = C_Int.t
 
 local
    open Severity

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/net/net-host-db.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/net/net-host-db.sml	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/net/net-host-db.sml	2006-02-05 05:10:42 UTC (rev 4345)
@@ -35,7 +35,7 @@
           finish ()
         end
       fun any () = wordToInAddr (Word.fromInt Prim.INADDR_ANY)
-      type addr_family = C.Int.t
+      type addr_family = C_Int.t
 
       val intToAddrFamily = fn z => z
       val addrFamilyToInt = fn z => z
@@ -96,7 +96,7 @@
             else NONE
       in
         fun getByAddr in_addr = 
-           get (Prim.getByAddress (in_addr, C.Socklen.fromInt (Vector.length in_addr)))
+           get (Prim.getByAddress (in_addr, C_Socklen.fromInt (Vector.length in_addr)))
         fun getByName name = 
            get (Prim.getByName (NullString.nullTerm name))
       end
@@ -107,7 +107,7 @@
           val buf = CharArray.array (n, #"\000")
           val () =
              Posix.Error.SysCall.simple
-             (fn () => Prim.getHostName (CharArray.toPoly buf, C.Size.fromInt n))
+             (fn () => Prim.getHostName (CharArray.toPoly buf, C_Size.fromInt n))
         in
           case CharArray.findi (fn (_, c) => c = #"\000") buf of
              NONE => CharArray.vector buf

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/net/socket.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/net/socket.sig	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/net/socket.sig	2006-02-05 05:10:42 UTC (rev 4345)
@@ -171,7 +171,7 @@
     val fdToSock: Posix.FileSys.file_desc -> ('af, 'sock_type) sock
     type pre_sock_addr
     val unpackSockAddr: 'af sock_addr -> Word8Vector.vector
-    val new_sock_addr: unit -> (pre_sock_addr * C.Socklen.t ref * (unit -> 'af sock_addr))
+    val new_sock_addr: unit -> (pre_sock_addr * C_Socklen.t ref * (unit -> 'af sock_addr))
 
     structure CtlExtra:
        sig

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/net/socket.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/net/socket.sml	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/net/socket.sml	2006-02-05 05:10:42 UTC (rev 4345)
@@ -6,7 +6,7 @@
  *)
 
 structure Socket:> SOCKET_EXTRA
-   where type SOCK.sock_type = C.Int.t
+   where type SOCK.sock_type = C_Int.t
    where type pre_sock_addr = Word8.word array
 =
 struct
@@ -16,23 +16,23 @@
 structure Syscall = Error.SysCall
 structure FileSys = Posix.FileSys
 
-type sock = C.Sock.t
-val sockToWord = SysWord.fromInt o C.Sock.toInt
-val wordToSock = C.Sock.fromInt o SysWord.toInt
+type sock = C_Sock.t
+val sockToWord = SysWord.fromInt o C_Sock.toInt
+val wordToSock = C_Sock.fromInt o SysWord.toInt
 fun sockToFD sock = FileSys.wordToFD (sockToWord sock)
 fun fdToSock fd = wordToSock (FileSys.fdToWord fd)
 
 type pre_sock_addr = Word8.word array
 datatype sock_addr = SA of Word8.word vector
 fun unpackSockAddr (SA sa) = Word8Vector.fromPoly sa
-fun new_sock_addr (): (pre_sock_addr * C.Socklen.t ref * (unit -> sock_addr)) = 
+fun new_sock_addr (): (pre_sock_addr * C_Socklen.t ref * (unit -> sock_addr)) = 
    let
-      val salen = C.Size.toInt Prim.sockAddrStorageLen
+      val salen = C_Size.toInt Prim.sockAddrStorageLen
       val sa = Array.array (salen, 0wx0)
-      val salenRef = ref (C.Socklen.fromInt salen)
+      val salenRef = ref (C_Socklen.fromInt salen)
       fun finish () =
          SA (ArraySlice.vector (ArraySlice.slice 
-                                (sa, 0, SOME (C.Socklen.toInt (!salenRef)))))
+                                (sa, 0, SOME (C_Socklen.toInt (!salenRef)))))
    in
       (sa, salenRef, finish)
    end
@@ -64,7 +64,7 @@
 
 structure SOCK =
    struct
-      type sock_type = C.Int.t
+      type sock_type = C_Int.t
       val stream = Prim.SOCK.STREAM
       val dgram = Prim.SOCK.DGRAM
       val names = [
@@ -84,9 +84,9 @@
 
 structure CtlExtra =
    struct
-      type level = C.Int.t
-      type optname = C.Int.t
-      type request = C.Int.t
+      type level = C_Int.t
+      type optname = C_Int.t
+      type request = C_Int.t
       
       (* host byte order *)
       structure PW = PackWord32Host
@@ -142,14 +142,14 @@
                fun getSockOpt (level: level, optname: optname) s =
                   let
                      val optval = Word8Array.array (optlen, 0wx0)
-                     val optlen = ref (C.Socklen.fromInt optlen)
+                     val optlen = ref (C_Socklen.fromInt optlen)
                   in
                      Syscall.simple
                      (fn () =>
                       Prim.Ctl.getSockOpt (s, level, optname,
                                            Word8Array.toPoly optval,
                                            optlen))
-                     ; unmarshal (optval, C.Socklen.toInt (!optlen), 0)
+                     ; unmarshal (optval, C_Socklen.toInt (!optlen), 0)
                   end
                fun setSockOpt (level: level, optname: optname) (s, optval) =
                   let
@@ -160,7 +160,7 @@
                      (fn () => 
                       Prim.Ctl.setSockOpt (s, level, optname,
                                            Word8Vector.toPoly optval,
-                                           C.Socklen.fromInt optlen))
+                                           C_Socklen.fromInt optlen))
                   end
                fun getIOCtl (request: request) s : 'a =
                   let
@@ -221,7 +221,7 @@
             else SOME (Posix.Error.errorMsg se, SOME se)
          end handle Error.SysErr z => SOME z
       local
-         fun getName (s, f: sock * pre_sock_addr * C.Socklen.t ref -> int) =
+         fun getName (s, f: sock * pre_sock_addr * C_Socklen.t ref -> int) =
             let
                val (sa, salen, finish) = new_sock_addr ()
                val () = Syscall.simple (fn () => f (s, sa, salen))
@@ -248,7 +248,7 @@
 fun familyOfAddr (SA sa) = NetHostDB.intToAddrFamily (Prim.familyOfAddr sa)
 
 fun bind (s, SA sa) =
-   Syscall.simple (fn () => Prim.bind (s, sa, C.Socklen.fromInt (Vector.length sa)))
+   Syscall.simple (fn () => Prim.bind (s, sa, C_Socklen.fromInt (Vector.length sa)))
 
 fun listen (s, n) = 
    Syscall.simple (fn () => Prim.listen (s, n))
@@ -290,12 +290,12 @@
 end
 
 fun connect (s, SA sa) =
-   Syscall.simple (fn () => Prim.connect (s, sa, C.Socklen.fromInt (Vector.length sa)))
+   Syscall.simple (fn () => Prim.connect (s, sa, C_Socklen.fromInt (Vector.length sa)))
 
 fun connectNB (s, SA sa) =
    nonBlock'
    ({restart = false}, fn () => 
-    withNonBlock (s, fn () => Prim.connect (s, sa, C.Socklen.fromInt (Vector.length sa))),
+    withNonBlock (s, fn () => Prim.connect (s, sa, C_Socklen.fromInt (Vector.length sa))),
     fn _ => true,
     Error.inprogress, false)
 
@@ -397,7 +397,7 @@
                val (buf, i, sz) = base sl
             in
                Syscall.simpleResultRestart
-               (fn () => primSend (s, buf, i, C.Size.fromInt sz, 
+               (fn () => primSend (s, buf, i, C_Size.fromInt sz, 
                                    Word.toInt (mk_out_flags out_flags)))
             end
          fun send (sock, buf) = send' (sock, buf, no_out_flags)
@@ -407,7 +407,7 @@
             in
                nonBlock
                (fn () =>
-                primSend (s, buf, i, C.Size.fromInt sz,
+                primSend (s, buf, i, C_Size.fromInt sz,
                           Word.toInt (
                           Word.orb (Word.fromInt Prim.MSG_DONTWAIT, 
                                     mk_out_flags out_flags))),
@@ -421,9 +421,9 @@
             in
                Syscall.simpleRestart
                (fn () =>
-                primSendTo (s, buf, i, C.Size.fromInt sz,
+                primSendTo (s, buf, i, C_Size.fromInt sz,
                             Word.toInt (mk_out_flags out_flags), 
-                            sa, C.Socklen.fromInt (Vector.length sa)))
+                            sa, C_Socklen.fromInt (Vector.length sa)))
             end
          fun sendTo (sock, sock_addr, sl) =
             sendTo' (sock, sock_addr, sl, no_out_flags)
@@ -433,11 +433,11 @@
             in
                nonBlock 
                (fn () =>
-                primSendTo (s, buf, i, C.Size.fromInt sz,
+                primSendTo (s, buf, i, C_Size.fromInt sz,
                             Word.toInt (
                             Word.orb (Word.fromInt Prim.MSG_DONTWAIT,
                                       mk_out_flags out_flags)),
-                            sa, C.Socklen.fromInt (Vector.length sa)),
+                            sa, C_Socklen.fromInt (Vector.length sa)),
                 fn _ => true,
                 false)
             end
@@ -471,7 +471,7 @@
       val (buf, i, sz) = Word8ArraySlice.base sl
    in
       Syscall.simpleResultRestart
-      (fn () => Prim.recv (s, Word8Array.toPoly buf, i, C.Size.fromInt sz, 
+      (fn () => Prim.recv (s, Word8Array.toPoly buf, i, C_Size.fromInt sz, 
                            Word.toInt (mk_in_flags in_flags)))
    end
 
@@ -499,7 +499,7 @@
       val (sa, salen, finish) = new_sock_addr ()
       val n =
          Syscall.simpleResultRestart
-         (fn () => Prim.recvFrom (s, Word8Array.toPoly buf, i, C.Size.fromInt sz,
+         (fn () => Prim.recvFrom (s, Word8Array.toPoly buf, i, C_Size.fromInt sz,
                                   Word.toInt (mk_in_flags in_flags), 
                                   sa, salen))
    in
@@ -526,7 +526,7 @@
       val (buf, i, sz) = Word8ArraySlice.base sl
    in
       nonBlock
-      (fn () => Prim.recv (s, Word8Array.toPoly buf, i, C.Size.fromInt sz,
+      (fn () => Prim.recv (s, Word8Array.toPoly buf, i, C_Size.fromInt sz,
                            Word.toInt (mk_in_flagsNB in_flags)),
        SOME, 
        NONE)
@@ -537,7 +537,7 @@
       val a = Word8Array.rawArray n
    in
       nonBlock
-      (fn () => Prim.recv (s, Word8Array.toPoly a, 0, C.Size.fromInt n,
+      (fn () => Prim.recv (s, Word8Array.toPoly a, 0, C_Size.fromInt n,
                            Word.toInt (mk_in_flagsNB in_flags)),
        fn bytesRead => SOME (getVec (a, n, bytesRead)),
        NONE)
@@ -553,7 +553,7 @@
       val (sa, salen, finish) = new_sock_addr ()
    in
       nonBlock
-      (fn () => Prim.recvFrom (s, Word8Array.toPoly buf, i, C.Size.fromInt sz,
+      (fn () => Prim.recvFrom (s, Word8Array.toPoly buf, i, C_Size.fromInt sz,
                                Word.toInt (mk_in_flagsNB in_flags), sa, salen),
        fn n => SOME (n, finish ()),
        NONE)
@@ -565,7 +565,7 @@
       val (sa, salen, finish) = new_sock_addr ()
    in
       nonBlock
-      (fn () => Prim.recvFrom (s, Word8Array.toPoly a, 0, C.Size.fromInt n,
+      (fn () => Prim.recvFrom (s, Word8Array.toPoly a, 0, C_Size.fromInt n,
                                Word.toInt (mk_in_flagsNB in_flags), sa, salen),
        fn bytesRead => SOME (getVec (a, n, bytesRead), finish ()),
        NONE)

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/net/unix-sock.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/net/unix-sock.sml	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/net/unix-sock.sml	2006-02-05 05:10:42 UTC (rev 4345)
@@ -20,7 +20,7 @@
         let
           val (sa, salen, finish) = Socket.new_sock_addr ()
           val _ = Prim.toAddr (NullString.nullTerm s, 
-                               C.Size.fromInt (String.size s), 
+                               C_Size.fromInt (String.size s), 
                                sa, salen)
         in 
           finish ()
@@ -31,10 +31,10 @@
           val sa = Socket.unpackSockAddr sa
           val sa = Word8Vector.toPoly sa
           val len = Prim.pathLen sa
-          val a = CharArray.array (C.Size.toInt len, #"\000")
+          val a = CharArray.array (C_Size.toInt len, #"\000")
           val _ = Prim.fromAddr (sa, CharArray.toPoly a, len)
         in
-           CharArraySlice.vector (CharArraySlice.slice (a, 0, SOME (C.Size.toInt len)))
+           CharArraySlice.vector (CharArraySlice.slice (a, 0, SOME (C_Size.toInt len)))
         end 
 
       structure Strm =

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/posix/error.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/posix/error.sml	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/posix/error.sml	2006-02-05 05:10:42 UTC (rev 4345)
@@ -11,7 +11,7 @@
       structure Prim = PrimitiveFFI.Posix.Error
       open Prim
 
-      type syserror = C.Int.t
+      type syserror = C_Int.t
  
       val acces = EACCES
       val addrinuse = EADDRINUSE

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/posix/file-sys.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/posix/file-sys.sml	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/posix/file-sys.sml	2006-02-05 05:10:42 UTC (rev 4345)
@@ -30,9 +30,9 @@
       structure Stat = Prim.Stat
       structure Flags = BitFlags
 
-      type file_desc = C.Fd.t
-      type uid = C.UId.t
-      type gid = C.GId.t
+      type file_desc = C_Fd.t
+      type uid = C_UId.t
+      type gid = C_GId.t
 
       val fdToWord = Primitive.FileDesc.toWord
       val wordToFD = Primitive.FileDesc.fromWord
@@ -45,7 +45,7 @@
 
       local
          structure Prim = Prim.Dirstream
-         datatype dirstream = DS of C.DirP.t option ref
+         datatype dirstream = DS of C_DirP.t option ref
 
          fun get (DS r) =
             case !r of
@@ -151,7 +151,7 @@
          fun extract a = extractToChar (a, #"\000")
       in
          fun getcwd () =
-            if Primitive.Pointer.isNull (Prim.getcwd (!buffer, C.Size.fromInt (!size)))
+            if Primitive.Pointer.isNull (Prim.getcwd (!buffer, C_Size.fromInt (!size)))
                then (size := 2 * !size
                      ; buffer := make ()
                      ; getcwd ())
@@ -167,7 +167,7 @@
       structure S =
          struct
             open S Flags
-            type mode = C.Mode.t
+            type mode = C_Mode.t
             val ifblk = IFBLK
             val ifchr = IFCHR
             val ifdir = IFDIR
@@ -285,7 +285,7 @@
             in
                SysCall.syscall
                (fn () =>
-                let val len = Prim.readlink (path, buf, C.Size.fromInt size)
+                let val len = Prim.readlink (path, buf, C_Size.fromInt size)
                 in
                    (len, fn () =>
                     ArraySlice.vector (ArraySlice.slice (buf, 0, SOME len)))
@@ -293,13 +293,13 @@
             end
       end
 
-      type dev = C.Dev.t
-      val wordToDev = C.Dev.fromLargeWord o SysWord.toLargeWord
-      val devToWord = SysWord.fromLargeWord o C.Dev.toLargeWord
+      type dev = C_Dev.t
+      val wordToDev = C_Dev.fromLargeWord o SysWord.toLargeWord
+      val devToWord = SysWord.fromLargeWord o C_Dev.toLargeWord
 
-      type ino = C.INo.t
-      val wordToIno = C.INo.fromLargeWord o SysWord.toLargeWord
-      val inoToWord = SysWord.fromLargeWord o C.INo.toLargeWord
+      type ino = C_INo.t
+      val wordToIno = C_INo.fromLargeWord o SysWord.toLargeWord
+      val inoToWord = SysWord.fromLargeWord o C_INo.toLargeWord
 
       structure ST =
          struct
@@ -319,7 +319,7 @@
                T {dev = Stat.getDev (),
                   ino = Stat.getINo (),
                   mode = Stat.getMode (),
-                  nlink = C.NLink.toInt (Stat.getNLink ()),
+                  nlink = C_NLink.toInt (Stat.getNLink ()),
                   uid = Stat.getUId (),
                   gid = Stat.getGId (),
                   size = Stat.getSize (),

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/posix/io.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/posix/io.sml	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/posix/io.sml	2006-02-05 05:10:42 UTC (rev 4345)
@@ -15,11 +15,11 @@
 structure SysCall = Error.SysCall
 structure FS = PosixFileSys
 
-type file_desc = C.Fd.t
-type pid = C.PId.t
+type file_desc = C_Fd.t
+type pid = C_PId.t
 
-val FD = C.Fd.fromInt
-val unFD = C.Fd.toInt
+val FD = C_Fd.fromInt
+val unFD = C_Fd.toInt
    
 local
    val a: file_desc array = Array.array (2, FD 0)
@@ -228,13 +228,13 @@
             let
                val (buf, i, sz) = ArraySlice.base (toArraySlice sl)
             in
-               SysCall.simpleResultRestart (fn () => read (fd, buf, i, C.Size.fromInt sz))
+               SysCall.simpleResultRestart (fn () => read (fd, buf, i, C_Size.fromInt sz))
             end
          fun readVec (fd, n) =
             let
                val a = Primitive.Array.array n
                val bytesRead = 
-                  SysCall.simpleResultRestart (fn () => read (fd, a, 0, C.Size.fromInt n))
+                  SysCall.simpleResultRestart (fn () => read (fd, a, 0, C_Size.fromInt n))
             in 
                fromVector
                (if n = bytesRead
@@ -247,7 +247,7 @@
                val (buf, i, sz) = ArraySlice.base (toArraySlice sl)
             in
                SysCall.simpleResultRestart
-               (fn () => write (fd, buf, i, C.Size.fromInt sz))
+               (fn () => write (fd, buf, i, C_Size.fromInt sz))
             end
          val writeVec =
             fn (fd, sl) =>
@@ -255,7 +255,7 @@
                val (buf, i, sz) = VectorSlice.base (toVectorSlice sl)
             in
                SysCall.simpleResultRestart
-               (fn () => writeVec (fd, buf, i, C.Size.fromInt sz))
+               (fn () => writeVec (fd, buf, i, C_Size.fromInt sz))
             end
          fun mkReader {fd, name, initBlkMode} =
             let

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/posix/proc-env.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/posix/proc-env.sml	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/posix/proc-env.sml	2006-02-05 05:10:42 UTC (rev 4345)
@@ -13,10 +13,10 @@
       structure SysCall = Error.SysCall
       structure CS = COld.CS
 
-      type pid = C.PId.t
-      type uid = C.UId.t
-      type gid = C.GId.t
-      type file_desc = C.Fd.t
+      type pid = C_PId.t
+      type uid = C_UId.t
+      type gid = C_GId.t
+      type file_desc = C_Fd.t
          
       local
          open Prim
@@ -222,9 +222,9 @@
 
          val ticksPerSec = Int.toLarge (SysWord.toIntX (sysconf "CLK_TCK"))
 
-         fun cvt (ticks: C.Clock.t) =
+         fun cvt (ticks: C_Clock.t) =
             Time.fromTicks (LargeInt.quot
-                            (LargeInt.* (C.Clock.toLarge ticks,
+                            (LargeInt.* (C_Clock.toLarge ticks,
                                          Time.ticksPerSecond),
                              ticksPerSec))
       in

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/posix/process.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/posix/process.sml	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/posix/process.sml	2006-02-05 05:10:42 UTC (rev 4345)
@@ -92,7 +92,7 @@
          end
 
       local
-         val status: C.Status.t ref = ref (C.Status.fromInt 0)
+         val status: C_Status.t ref = ref (C_Status.fromInt 0)
          fun wait (wa, status, flags) =
             let
                val useCwait = 
@@ -166,9 +166,9 @@
          fun wrap prim (t: Time.time): Time.time =
             Time.fromSeconds
             (LargeInt.fromInt
-             (C.UInt.toInt
+             (C_UInt.toInt
               (prim 
-               (C.UInt.fromInt
+               (C_UInt.fromInt
                 (LargeInt.toInt (Time.toSeconds t)
                  handle Overflow => Error.raiseSys Error.inval)))))
       in

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/posix/signal.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/posix/signal.sml	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/posix/signal.sml	2006-02-05 05:10:42 UTC (rev 4345)
@@ -10,7 +10,7 @@
    struct
       open PrimitiveFFI.Posix.Signal
 
-      type signal = C.Int.t
+      type signal = C_Int.t
          
       val abrt = SIGABRT
       val alrm = SIGALRM
@@ -41,8 +41,8 @@
       val xcpu = SIGXCPU
       val xfsz = SIGXFSZ
 
-      val toInt = C.Int.toInt
-      val fromInt = C.Int.fromInt
+      val toInt = C_Int.toInt
+      val fromInt = C_Int.fromInt
 
       val toWord = SysWord.fromInt o toInt
       val fromWord = fromInt o SysWord.toInt

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/posix/sys-db.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/posix/sys-db.sml	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/posix/sys-db.sml	2006-02-05 05:10:42 UTC (rev 4345)
@@ -13,8 +13,8 @@
       structure Error = PosixError
       structure SysCall = Error.SysCall
 
-      type uid = C.UId.t
-      type gid = C.GId.t
+      type uid = C_UId.t
+      type gid = C_GId.t
 
       structure Passwd =
          struct

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/posix/tty.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/posix/tty.sml	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/posix/tty.sml	2006-02-05 05:10:42 UTC (rev 4345)
@@ -14,9 +14,9 @@
       structure Error = PosixError
       structure SysCall = Error.SysCall
 
-      type pid = C.PId.t
+      type pid = C_PId.t
          
-      type file_desc = C.Fd.t
+      type file_desc = C_Fd.t
          
       structure V =
          struct
@@ -34,7 +34,7 @@
             val start = VSTART
             val stop = VSTOP
 
-            type cc = C.CC.t array
+            type cc = C_CC.t array
 
             val default = Byte.charToByte #"\000"
 
@@ -58,9 +58,9 @@
             val sub = Byte.byteToChar o Array.sub
          end
       
-      structure IFlags =
+      structure I =
          struct
-            open IFlags BitFlags
+            open I BitFlags
             val brkint = BRKINT
             val icrnl = ICRNL
             val ignbrk = IGNBRK
@@ -75,9 +75,9 @@
             val parmrk = PARMRK
          end
       
-      structure OFlags =
+      structure O =
          struct
-            open OFlags BitFlags
+            open O BitFlags
             val bs0 = BS0
             val bs1 = BS1
             val bsdly = BSDLY
@@ -108,9 +108,9 @@
             val vtdly = VTDLY
          end
       
-      structure CFlags =
+      structure C =
          struct
-            open CFlags BitFlags
+            open C BitFlags
             val clocal = CLOCAL
             val cread = CREAD
             val cs5 = CS5
@@ -124,9 +124,9 @@
             val parodd = PARODD
          end
       
-      structure LFlags =
+      structure L =
          struct
-            open LFlags BitFlags
+            open L BitFlags
             val echo = ECHO
             val echoe = ECHOE
             val echok = ECHOK
@@ -138,7 +138,7 @@
             val tostop = TOSTOP
          end
 
-      type speed = C.Speed.t
+      type speed = C_Speed.t
 
       val b0 = B0
       val b110 = B110
@@ -162,10 +162,10 @@
       val speedToWord = id
       val wordToSpeed = id
 
-      type termios = {iflag: IFlags.flags,
-                      oflag: OFlags.flags,
-                      cflag: CFlags.flags,
-                      lflag: LFlags.flags,
+      type termios = {iflag: I.flags,
+                      oflag: O.flags,
+                      cflag: C.flags,
+                      lflag: L.flags,
                       cc: V.cc,
                       ispeed: speed,
                       ospeed: speed}
@@ -173,10 +173,10 @@
       val termios = id
       val fieldsOf = id
 
-      val getiflag: termios -> IFlags.flags = #iflag
-      val getoflag: termios -> OFlags.flags = #oflag
-      val getcflag: termios -> CFlags.flags = #cflag
-      val getlflag: termios -> LFlags.flags = #oflag
+      val getiflag: termios -> I.flags = #iflag
+      val getoflag: termios -> O.flags = #oflag
+      val getcflag: termios -> C.flags = #cflag
+      val getlflag: termios -> L.flags = #oflag
       val getcc: termios -> V.cc = #cc
 
       structure CF =
@@ -211,18 +211,18 @@
          struct
             open Prim.TC 
 
-            type set_action = C.Int.t
+            type set_action = C_Int.t
             val sadrain = TCSADRAIN
             val saflush = TCSAFLUSH
             val sanow = TCSANOW
 
-            type flow_action = C.Int.t
+            type flow_action = C_Int.t
             val ioff = TCIOFF
             val ion = TCION
             val ooff = TCOOFF
             val oon = TCOON
 
-            type queue_sel = C.Int.t
+            type queue_sel = C_Int.t
             val iflush = TCIFLUSH
             val oflush = TCOFLUSH
             val ioflush = TCIOFLUSH
@@ -275,9 +275,4 @@
             fun setpgrp (fd, pid) = 
                SysCall.simpleRestart (fn () => Prim.TC.setpgrp (fd, pid))
          end
-
-      structure C = CFlags
-      structure I = IFlags
-      structure L = LFlags
-      structure O = OFlags
    end

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/primitive/basis-ffi.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/primitive/basis-ffi.sml	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/primitive/basis-ffi.sml	2006-02-05 05:10:42 UTC (rev 4345)
@@ -1,145 +1,146 @@
 (* This file is automatically generated.  Do not edit. *)
 
+local open Primitive in 
 structure PrimitiveFFI =
 struct
 structure CommandLine = 
 struct
-val (argcGet, argcSet) = _symbol "CommandLine_argc": (unit -> (C.Int.t)) * ((C.Int.t) -> unit);
-val (argvGet, argvSet) = _symbol "CommandLine_argv": (unit -> (C.StringArray.t)) * ((C.StringArray.t) -> unit);
-val (commandNameGet, commandNameSet) = _symbol "CommandLine_commandName": (unit -> (C.String.t)) * ((C.String.t) -> unit);
+val (argcGet, argcSet) = _symbol "CommandLine_argc": (unit -> (C_Int.t)) * ((C_Int.t) -> unit);
+val (argvGet, argvSet) = _symbol "CommandLine_argv": (unit -> (C_StringArray.t)) * ((C_StringArray.t) -> unit);
+val (commandNameGet, commandNameSet) = _symbol "CommandLine_commandName": (unit -> (C_String.t)) * ((C_String.t) -> unit);
 end
 structure Date = 
 struct
-val gmTime = _import "Date_gmTime" : (C.Time.t) ref -> (C.Int.t) C.Errno.t;
-val localOffset = _import "Date_localOffset" : unit -> C.Double.t;
-val localTime = _import "Date_localTime" : (C.Time.t) ref -> (C.Int.t) C.Errno.t;
-val mkTime = _import "Date_mkTime" : unit -> (C.Time.t) C.Errno.t;
-val strfTime = _import "Date_strfTime" : (Char8.t) array * C.Size.t * NullString8.t -> C.Size.t;
+val gmTime = _import "Date_gmTime" : (C_Time.t) ref -> (C_Int.t) C_Errno.t;
+val localOffset = _import "Date_localOffset" : unit -> C_Double.t;
+val localTime = _import "Date_localTime" : (C_Time.t) ref -> (C_Int.t) C_Errno.t;
+val mkTime = _import "Date_mkTime" : unit -> (C_Time.t) C_Errno.t;
+val strfTime = _import "Date_strfTime" : (Char8.t) array * C_Size.t * NullString8.t -> C_Size.t;
 structure Tm = 
 struct
-val getHour = _import "Date_Tm_getHour" : unit -> C.Int.t;
-val getIsDst = _import "Date_Tm_getIsDst" : unit -> C.Int.t;
-val getMDay = _import "Date_Tm_getMDay" : unit -> C.Int.t;
-val getMin = _import "Date_Tm_getMin" : unit -> C.Int.t;
-val getMon = _import "Date_Tm_getMon" : unit -> C.Int.t;
-val getSec = _import "Date_Tm_getSec" : unit -> C.Int.t;
-val getWDay = _import "Date_Tm_getWDay" : unit -> C.Int.t;
-val getYDay = _import "Date_Tm_getYDay" : unit -> C.Int.t;
-val getYear = _import "Date_Tm_getYear" : unit -> C.Int.t;
-val setHour = _import "Date_Tm_setHour" : C.Int.t -> unit;
-val setIsDst = _import "Date_Tm_setIsDst" : C.Int.t -> unit;
-val setMDay = _import "Date_Tm_setMDay" : C.Int.t -> unit;
-val setMin = _import "Date_Tm_setMin" : C.Int.t -> unit;
-val setMon = _import "Date_Tm_setMon" : C.Int.t -> unit;
-val setSec = _import "Date_Tm_setSec" : C.Int.t -> unit;
-val setWDay = _import "Date_Tm_setWDay" : C.Int.t -> unit;
-val setYDay = _import "Date_Tm_setYDay" : C.Int.t -> unit;
-val setYear = _import "Date_Tm_setYear" : C.Int.t -> unit;
+val getHour = _import "Date_Tm_getHour" : unit -> C_Int.t;
+val getIsDst = _import "Date_Tm_getIsDst" : unit -> C_Int.t;
+val getMDay = _import "Date_Tm_getMDay" : unit -> C_Int.t;
+val getMin = _import "Date_Tm_getMin" : unit -> C_Int.t;
+val getMon = _import "Date_Tm_getMon" : unit -> C_Int.t;
+val getSec = _import "Date_Tm_getSec" : unit -> C_Int.t;
+val getWDay = _import "Date_Tm_getWDay" : unit -> C_Int.t;
+val getYDay = _import "Date_Tm_getYDay" : unit -> C_Int.t;
+val getYear = _import "Date_Tm_getYear" : unit -> C_Int.t;
+val setHour = _import "Date_Tm_setHour" : C_Int.t -> unit;
+val setIsDst = _import "Date_Tm_setIsDst" : C_Int.t -> unit;
+val setMDay = _import "Date_Tm_setMDay" : C_Int.t -> unit;
+val setMin = _import "Date_Tm_setMin" : C_Int.t -> unit;
+val setMon = _import "Date_Tm_setMon" : C_Int.t -> unit;
+val setSec = _import "Date_Tm_setSec" : C_Int.t -> unit;
+val setWDay = _import "Date_Tm_setWDay" : C_Int.t -> unit;
+val setYDay = _import "Date_Tm_setYDay" : C_Int.t -> unit;
+val setYear = _import "Date_Tm_setYear" : C_Int.t -> unit;
 end
 end
 structure IEEEReal = 
 struct
-val getRoundingMode = _import "IEEEReal_getRoundingMode" : unit -> C.Int.t;
+val getRoundingMode = _import "IEEEReal_getRoundingMode" : unit -> C_Int.t;
 structure RoundingMode = 
 struct
-val FE_DOWNWARD = _const "IEEEReal_RoundingMode_FE_DOWNWARD" : C.Int.t;
-val FE_NOSUPPORT = _const "IEEEReal_RoundingMode_FE_NOSUPPORT" : C.Int.t;
-val FE_TONEAREST = _const "IEEEReal_RoundingMode_FE_TONEAREST" : C.Int.t;
-val FE_TOWARDZERO = _const "IEEEReal_RoundingMode_FE_TOWARDZERO" : C.Int.t;
-val FE_UPWARD = _const "IEEEReal_RoundingMode_FE_UPWARD" : C.Int.t;
+val FE_DOWNWARD = _const "IEEEReal_RoundingMode_FE_DOWNWARD" : C_Int.t;
+val FE_NOSUPPORT = _const "IEEEReal_RoundingMode_FE_NOSUPPORT" : C_Int.t;
+val FE_TONEAREST = _const "IEEEReal_RoundingMode_FE_TONEAREST" : C_Int.t;
+val FE_TOWARDZERO = _const "IEEEReal_RoundingMode_FE_TOWARDZERO" : C_Int.t;
+val FE_UPWARD = _const "IEEEReal_RoundingMode_FE_UPWARD" : C_Int.t;
 end
-val setRoundingMode = _import "IEEEReal_setRoundingMode" : C.Int.t -> unit;
+val setRoundingMode = _import "IEEEReal_setRoundingMode" : C_Int.t -> unit;
 end
 structure MLton = 
 struct
 structure Itimer = 
 struct
-val PROF = _const "MLton_Itimer_PROF" : C.Int.t;
-val REAL = _const "MLton_Itimer_REAL" : C.Int.t;
-val set = _import "MLton_Itimer_set" : C.Int.t * C.Time.t * C.SUSeconds.t * C.Time.t * C.SUSeconds.t -> (C.Int.t) C.Errno.t;
-val VIRTUAL = _const "MLton_Itimer_VIRTUAL" : C.Int.t;
+val PROF = _const "MLton_Itimer_PROF" : C_Int.t;
+val REAL = _const "MLton_Itimer_REAL" : C_Int.t;
+val set = _import "MLton_Itimer_set" : C_Int.t * C_Time.t * C_SUSeconds.t * C_Time.t * C_SUSeconds.t -> (C_Int.t) C_Errno.t;
+val VIRTUAL = _const "MLton_Itimer_VIRTUAL" : C_Int.t;
 end
 structure Process = 
 struct
-val cwait = _import "MLton_Process_cwait" : C.PId.t * (C.Status.t) ref -> (C.PId.t) C.Errno.t;
-val spawne = _import "MLton_Process_spawne" : NullString8.t * NullString8Array.t * NullString8Array.t -> (C.Int.t) C.Errno.t;
-val spawnp = _import "MLton_Process_spawnp" : NullString8.t * NullString8Array.t -> (C.Int.t) C.Errno.t;
+val cwait = _import "MLton_Process_cwait" : C_PId.t * (C_Status.t) ref -> (C_PId.t) C_Errno.t;
+val spawne = _import "MLton_Process_spawne" : NullString8.t * NullString8Array.t * NullString8Array.t -> (C_Int.t) C_Errno.t;
+val spawnp = _import "MLton_Process_spawnp" : NullString8.t * NullString8Array.t -> (C_Int.t) C_Errno.t;
 end
 structure Rlimit = 
 struct
-val AS = _const "MLton_Rlimit_AS" : C.Int.t;
-val CORE = _const "MLton_Rlimit_CORE" : C.Int.t;
-val CPU = _const "MLton_Rlimit_CPU" : C.Int.t;
-val DATA = _const "MLton_Rlimit_DATA" : C.Int.t;
-val FSIZE = _const "MLton_Rlimit_FSIZE" : C.Int.t;
-val get = _import "MLton_Rlimit_get" : C.Int.t -> (C.Int.t) C.Errno.t;
-val getHard = _import "MLton_Rlimit_getHard" : unit -> C.RLim.t;
-val getSoft = _import "MLton_Rlimit_getSoft" : unit -> C.RLim.t;
-val INFINITY = _const "MLton_Rlimit_INFINITY" : C.RLim.t;
-val NOFILE = _const "MLton_Rlimit_NOFILE" : C.Int.t;
-val set = _import "MLton_Rlimit_set" : C.Int.t * C.RLim.t * C.RLim.t -> (C.Int.t) C.Errno.t;
-val STACK = _const "MLton_Rlimit_STACK" : C.Int.t;
+val AS = _const "MLton_Rlimit_AS" : C_Int.t;
+val CORE = _const "MLton_Rlimit_CORE" : C_Int.t;
+val CPU = _const "MLton_Rlimit_CPU" : C_Int.t;
+val DATA = _const "MLton_Rlimit_DATA" : C_Int.t;
+val FSIZE = _const "MLton_Rlimit_FSIZE" : C_Int.t;
+val get = _import "MLton_Rlimit_get" : C_Int.t -> (C_Int.t) C_Errno.t;
+val getHard = _import "MLton_Rlimit_getHard" : unit -> C_RLim.t;
+val getSoft = _import "MLton_Rlimit_getSoft" : unit -> C_RLim.t;
+val INFINITY = _const "MLton_Rlimit_INFINITY" : C_RLim.t;
+val NOFILE = _const "MLton_Rlimit_NOFILE" : C_Int.t;
+val set = _import "MLton_Rlimit_set" : C_Int.t * C_RLim.t * C_RLim.t -> (C_Int.t) C_Errno.t;
+val STACK = _const "MLton_Rlimit_STACK" : C_Int.t;
 end
 structure Rusage = 
 struct
-val children_stime_sec = _import "MLton_Rusage_children_stime_sec" : unit -> C.Time.t;
-val children_stime_usec = _import "MLton_Rusage_children_stime_usec" : unit -> C.SUSeconds.t;
-val children_utime_sec = _import "MLton_Rusage_children_utime_sec" : unit -> C.Time.t;
-val children_utime_usec = _import "MLton_Rusage_children_utime_usec" : unit -> C.SUSeconds.t;
-val gc_stime_sec = _import "MLton_Rusage_gc_stime_sec" : unit -> C.Time.t;
-val gc_stime_usec = _import "MLton_Rusage_gc_stime_usec" : unit -> C.SUSeconds.t;
-val gc_utime_sec = _import "MLton_Rusage_gc_utime_sec" : unit -> C.Time.t;
-val gc_utime_usec = _import "MLton_Rusage_gc_utime_usec" : unit -> C.SUSeconds.t;
+val children_stime_sec = _import "MLton_Rusage_children_stime_sec" : unit -> C_Time.t;
+val children_stime_usec = _import "MLton_Rusage_children_stime_usec" : unit -> C_SUSeconds.t;
+val children_utime_sec = _import "MLton_Rusage_children_utime_sec" : unit -> C_Time.t;
+val children_utime_usec = _import "MLton_Rusage_children_utime_usec" : unit -> C_SUSeconds.t;
+val gc_stime_sec = _import "MLton_Rusage_gc_stime_sec" : unit -> C_Time.t;
+val gc_stime_usec = _import "MLton_Rusage_gc_stime_usec" : unit -> C_SUSeconds.t;
+val gc_utime_sec = _import "MLton_Rusage_gc_utime_sec" : unit -> C_Time.t;
+val gc_utime_usec = _import "MLton_Rusage_gc_utime_usec" : unit -> C_SUSeconds.t;
 val getrusage = _import "MLton_Rusage_getrusage" : unit -> unit;
-val self_stime_sec = _import "MLton_Rusage_self_stime_sec" : unit -> C.Time.t;
-val self_stime_usec = _import "MLton_Rusage_self_stime_usec" : unit -> C.SUSeconds.t;
-val self_utime_sec = _import "MLton_Rusage_self_utime_sec" : unit -> C.Time.t;
-val self_utime_usec = _import "MLton_Rusage_self_utime_usec" : unit -> C.SUSeconds.t;
+val self_stime_sec = _import "MLton_Rusage_self_stime_sec" : unit -> C_Time.t;
+val self_stime_usec = _import "MLton_Rusage_self_stime_usec" : unit -> C_SUSeconds.t;
+val self_utime_sec = _import "MLton_Rusage_self_utime_sec" : unit -> C_Time.t;
+val self_utime_usec = _import "MLton_Rusage_self_utime_usec" : unit -> C_SUSeconds.t;
 end
 structure Syslog = 
 struct
 val closelog = _import "MLton_Syslog_closelog" : unit -> unit;
 structure Facility = 
 struct
-val LOG_AUTH = _const "MLton_Syslog_Facility_LOG_AUTH" : C.Int.t;
-val LOG_CRON = _const "MLton_Syslog_Facility_LOG_CRON" : C.Int.t;
-val LOG_DAEMON = _const "MLton_Syslog_Facility_LOG_DAEMON" : C.Int.t;
-val LOG_KERN = _const "MLton_Syslog_Facility_LOG_KERN" : C.Int.t;
-val LOG_LOCAL0 = _const "MLton_Syslog_Facility_LOG_LOCAL0" : C.Int.t;
-val LOG_LOCAL1 = _const "MLton_Syslog_Facility_LOG_LOCAL1" : C.Int.t;
-val LOG_LOCAL2 = _const "MLton_Syslog_Facility_LOG_LOCAL2" : C.Int.t;
-val LOG_LOCAL3 = _const "MLton_Syslog_Facility_LOG_LOCAL3" : C.Int.t;
-val LOG_LOCAL4 = _const "MLton_Syslog_Facility_LOG_LOCAL4" : C.Int.t;
-val LOG_LOCAL5 = _const "MLton_Syslog_Facility_LOG_LOCAL5" : C.Int.t;
-val LOG_LOCAL6 = _const "MLton_Syslog_Facility_LOG_LOCAL6" : C.Int.t;
-val LOG_LOCAL7 = _const "MLton_Syslog_Facility_LOG_LOCAL7" : C.Int.t;
-val LOG_LPR = _const "MLton_Syslog_Facility_LOG_LPR" : C.Int.t;
-val LOG_MAIL = _const "MLton_Syslog_Facility_LOG_MAIL" : C.Int.t;
-val LOG_NEWS = _const "MLton_Syslog_Facility_LOG_NEWS" : C.Int.t;
-val LOG_USER = _const "MLton_Syslog_Facility_LOG_USER" : C.Int.t;
-val LOG_UUCP = _const "MLton_Syslog_Facility_LOG_UUCP" : C.Int.t;
+val LOG_AUTH = _const "MLton_Syslog_Facility_LOG_AUTH" : C_Int.t;
+val LOG_CRON = _const "MLton_Syslog_Facility_LOG_CRON" : C_Int.t;
+val LOG_DAEMON = _const "MLton_Syslog_Facility_LOG_DAEMON" : C_Int.t;
+val LOG_KERN = _const "MLton_Syslog_Facility_LOG_KERN" : C_Int.t;
+val LOG_LOCAL0 = _const "MLton_Syslog_Facility_LOG_LOCAL0" : C_Int.t;
+val LOG_LOCAL1 = _const "MLton_Syslog_Facility_LOG_LOCAL1" : C_Int.t;
+val LOG_LOCAL2 = _const "MLton_Syslog_Facility_LOG_LOCAL2" : C_Int.t;
+val LOG_LOCAL3 = _const "MLton_Syslog_Facility_LOG_LOCAL3" : C_Int.t;
+val LOG_LOCAL4 = _const "MLton_Syslog_Facility_LOG_LOCAL4" : C_Int.t;
+val LOG_LOCAL5 = _const "MLton_Syslog_Facility_LOG_LOCAL5" : C_Int.t;
+val LOG_LOCAL6 = _const "MLton_Syslog_Facility_LOG_LOCAL6" : C_Int.t;
+val LOG_LOCAL7 = _const "MLton_Syslog_Facility_LOG_LOCAL7" : C_Int.t;
+val LOG_LPR = _const "MLton_Syslog_Facility_LOG_LPR" : C_Int.t;
+val LOG_MAIL = _const "MLton_Syslog_Facility_LOG_MAIL" : C_Int.t;
+val LOG_NEWS = _const "MLton_Syslog_Facility_LOG_NEWS" : C_Int.t;
+val LOG_USER = _const "MLton_Syslog_Facility_LOG_USER" : C_Int.t;
+val LOG_UUCP = _const "MLton_Syslog_Facility_LOG_UUCP" : C_Int.t;
 end
 structure Logopt = 
 struct
-val LOG_CONS = _const "MLton_Syslog_Logopt_LOG_CONS" : C.Int.t;
-val LOG_NDELAY = _const "MLton_Syslog_Logopt_LOG_NDELAY" : C.Int.t;
-val LOG_NOWAIT = _const "MLton_Syslog_Logopt_LOG_NOWAIT" : C.Int.t;
-val LOG_ODELAY = _const "MLton_Syslog_Logopt_LOG_ODELAY" : C.Int.t;
-val LOG_PID = _const "MLton_Syslog_Logopt_LOG_PID" : C.Int.t;
+val LOG_CONS = _const "MLton_Syslog_Logopt_LOG_CONS" : C_Int.t;
+val LOG_NDELAY = _const "MLton_Syslog_Logopt_LOG_NDELAY" : C_Int.t;
+val LOG_NOWAIT = _const "MLton_Syslog_Logopt_LOG_NOWAIT" : C_Int.t;
+val LOG_ODELAY = _const "MLton_Syslog_Logopt_LOG_ODELAY" : C_Int.t;
+val LOG_PID = _const "MLton_Syslog_Logopt_LOG_PID" : C_Int.t;
 end
-val openlog = _import "MLton_Syslog_openlog" : NullString8.t * C.Int.t * C.Int.t -> unit;
+val openlog = _import "MLton_Syslog_openlog" : NullString8.t * C_Int.t * C_Int.t -> unit;
 structure Severity = 
 struct
-val LOG_ALERT = _const "MLton_Syslog_Severity_LOG_ALERT" : C.Int.t;
-val LOG_CRIT = _const "MLton_Syslog_Severity_LOG_CRIT" : C.Int.t;
-val LOG_DEBUG = _const "MLton_Syslog_Severity_LOG_DEBUG" : C.Int.t;
-val LOG_EMERG = _const "MLton_Syslog_Severity_LOG_EMERG" : C.Int.t;
-val LOG_ERR = _const "MLton_Syslog_Severity_LOG_ERR" : C.Int.t;
-val LOG_INFO = _const "MLton_Syslog_Severity_LOG_INFO" : C.Int.t;
-val LOG_NOTICE = _const "MLton_Syslog_Severity_LOG_NOTICE" : C.Int.t;
-val LOG_WARNING = _const "MLton_Syslog_Severity_LOG_WARNING" : C.Int.t;
+val LOG_ALERT = _const "MLton_Syslog_Severity_LOG_ALERT" : C_Int.t;
+val LOG_CRIT = _const "MLton_Syslog_Severity_LOG_CRIT" : C_Int.t;
+val LOG_DEBUG = _const "MLton_Syslog_Severity_LOG_DEBUG" : C_Int.t;
+val LOG_EMERG = _const "MLton_Syslog_Severity_LOG_EMERG" : C_Int.t;
+val LOG_ERR = _const "MLton_Syslog_Severity_LOG_ERR" : C_Int.t;
+val LOG_INFO = _const "MLton_Syslog_Severity_LOG_INFO" : C_Int.t;
+val LOG_NOTICE = _const "MLton_Syslog_Severity_LOG_NOTICE" : C_Int.t;
+val LOG_WARNING = _const "MLton_Syslog_Severity_LOG_WARNING" : C_Int.t;
 end
-val syslog = _import "MLton_Syslog_syslog" : C.Int.t * NullString8.t -> unit;
+val syslog = _import "MLton_Syslog_syslog" : C_Int.t * NullString8.t -> unit;
 end
 end
 structure Net = 
@@ -151,48 +152,48 @@
 end
 structure NetHostDB = 
 struct
-val getByAddress = _import "NetHostDB_getByAddress" : (Word8.t) vector * C.Socklen.t -> Bool.t;
+val getByAddress = _import "NetHostDB_getByAddress" : (Word8.t) vector * C_Socklen.t -> Bool.t;
 val getByName = _import "NetHostDB_getByName" : NullString8.t -> Bool.t;
-val getEntryAddrsN = _import "NetHostDB_getEntryAddrsN" : C.Int.t * (Word8.t) array -> unit;
-val getEntryAddrsNum = _import "NetHostDB_getEntryAddrsNum" : unit -> C.Int.t;
-val getEntryAddrType = _import "NetHostDB_getEntryAddrType" : unit -> C.Int.t;
-val getEntryAliasesN = _import "NetHostDB_getEntryAliasesN" : C.Int.t -> C.String.t;
-val getEntryAliasesNum = _import "NetHostDB_getEntryAliasesNum" : unit -> C.Int.t;
-val getEntryLength = _import "NetHostDB_getEntryLength" : unit -> C.Int.t;
-val getEntryName = _import "NetHostDB_getEntryName" : unit -> C.String.t;
-val getHostName = _import "NetHostDB_getHostName" : (Char8.t) array * C.Size.t -> (C.Int.t) C.Errno.t;
-val INADDR_ANY = _const "NetHostDB_INADDR_ANY" : C.Int.t;
-val inAddrSize = _const "NetHostDB_inAddrSize" : C.Size.t;
+val getEntryAddrsN = _import "NetHostDB_getEntryAddrsN" : C_Int.t * (Word8.t) array -> unit;
+val getEntryAddrsNum = _import "NetHostDB_getEntryAddrsNum" : unit -> C_Int.t;
+val getEntryAddrType = _import "NetHostDB_getEntryAddrType" : unit -> C_Int.t;
+val getEntryAliasesN = _import "NetHostDB_getEntryAliasesN" : C_Int.t -> C_String.t;
+val getEntryAliasesNum = _import "NetHostDB_getEntryAliasesNum" : unit -> C_Int.t;
+val getEntryLength = _import "NetHostDB_getEntryLength" : unit -> C_Int.t;
+val getEntryName = _import "NetHostDB_getEntryName" : unit -> C_String.t;
+val getHostName = _import "NetHostDB_getHostName" : (Char8.t) array * C_Size.t -> (C_Int.t) C_Errno.t;
+val INADDR_ANY = _const "NetHostDB_INADDR_ANY" : C_Int.t;
+val inAddrSize = _const "NetHostDB_inAddrSize" : C_Size.t;
 end
 structure NetProtDB = 
 struct
 val getByName = _import "NetProtDB_getByName" : NullString8.t -> Bool.t;
-val getByNumber = _import "NetProtDB_getByNumber" : C.Int.t -> Bool.t;
-val getEntryAliasesN = _import "NetProtDB_getEntryAliasesN" : C.Int.t -> C.String.t;
-val getEntryAliasesNum = _import "NetProtDB_getEntryAliasesNum" : unit -> C.Int.t;
-val getEntryName = _import "NetProtDB_getEntryName" : unit -> C.String.t;
-val getEntryProto = _import "NetProtDB_getEntryProto" : unit -> C.Int.t;
+val getByNumber = _import "NetProtDB_getByNumber" : C_Int.t -> Bool.t;
+val getEntryAliasesN = _import "NetProtDB_getEntryAliasesN" : C_Int.t -> C_String.t;
+val getEntryAliasesNum = _import "NetProtDB_getEntryAliasesNum" : unit -> C_Int.t;
+val getEntryName = _import "NetProtDB_getEntryName" : unit -> C_String.t;
+val getEntryProto = _import "NetProtDB_getEntryProto" : unit -> C_Int.t;
 end
 structure NetServDB = 
 struct
 val getByName = _import "NetServDB_getByName" : NullString8.t * NullString8.t -> Bool.t;
 val getByNameNull = _import "NetServDB_getByNameNull" : NullString8.t -> Bool.t;
-val getByPort = _import "NetServDB_getByPort" : C.Int.t * NullString8.t -> Bool.t;
-val getByPortNull = _import "NetServDB_getByPortNull" : C.Int.t -> Bool.t;
-val getEntryAliasesN = _import "NetServDB_getEntryAliasesN" : C.Int.t -> C.String.t;
-val getEntryAliasesNum = _import "NetServDB_getEntryAliasesNum" : unit -> C.Int.t;
-val getEntryName = _import "NetServDB_getEntryName" : unit -> C.String.t;
-val getEntryPort = _import "NetServDB_getEntryPort" : unit -> C.Int.t;
-val getEntryProto = _import "NetServDB_getEntryProto" : unit -> C.String.t;
+val getByPort = _import "NetServDB_getByPort" : C_Int.t * NullString8.t -> Bool.t;
+val getByPortNull = _import "NetServDB_getByPortNull" : C_Int.t -> Bool.t;
+val getEntryAliasesN = _import "NetServDB_getEntryAliasesN" : C_Int.t -> C_String.t;
+val getEntryAliasesNum = _import "NetServDB_getEntryAliasesNum" : unit -> C_Int.t;
+val getEntryName = _import "NetServDB_getEntryName" : unit -> C_String.t;
+val getEntryPort = _import "NetServDB_getEntryPort" : unit -> C_Int.t;
+val getEntryProto = _import "NetServDB_getEntryProto" : unit -> C_String.t;
 end
 structure OS = 
 struct
 structure IO = 
 struct
-val poll = _import "OS_IO_poll" : (C.Fd.t) vector * (C.Short.t) vector * C.NFds.t * C.Int.t * (C.Short.t) array -> (C.Int.t) C.Errno.t;
-val POLLIN = _const "OS_IO_POLLIN" : C.Short.t;
-val POLLOUT = _const "OS_IO_POLLOUT" : C.Short.t;
-val POLLPRI = _const "OS_IO_POLLPRI" : C.Short.t;
+val poll = _import "OS_IO_poll" : (C_Fd.t) vector * (C_Short.t) vector * C_NFds.t * C_Int.t * (C_Short.t) array -> (C_Int.t) C_Errno.t;
+val POLLIN = _const "OS_IO_POLLIN" : C_Short.t;
+val POLLOUT = _const "OS_IO_POLLOUT" : C_Short.t;
+val POLLPRI = _const "OS_IO_POLLPRI" : C_Short.t;
 end
 end
 structure Posix = 
@@ -200,783 +201,783 @@
 structure Error = 
 struct
 val clearErrno = _import "Posix_Error_clearErrno" : unit -> unit;
-val E2BIG = _const "Posix_Error_E2BIG" : C.Int.t;
-val EACCES = _const "Posix_Error_EACCES" : C.Int.t;
-val EADDRINUSE = _const "Posix_Error_EADDRINUSE" : C.Int.t;
-val EADDRNOTAVAIL = _const "Posix_Error_EADDRNOTAVAIL" : C.Int.t;
-val EAFNOSUPPORT = _const "Posix_Error_EAFNOSUPPORT" : C.Int.t;
-val EAGAIN = _const "Posix_Error_EAGAIN" : C.Int.t;
-val EALREADY = _const "Posix_Error_EALREADY" : C.Int.t;
-val EBADF = _const "Posix_Error_EBADF" : C.Int.t;
-val EBADMSG = _const "Posix_Error_EBADMSG" : C.Int.t;
-val EBUSY = _const "Posix_Error_EBUSY" : C.Int.t;
-val ECANCELED = _const "Posix_Error_ECANCELED" : C.Int.t;
-val ECHILD = _const "Posix_Error_ECHILD" : C.Int.t;
-val ECONNABORTED = _const "Posix_Error_ECONNABORTED" : C.Int.t;
-val ECONNREFUSED = _const "Posix_Error_ECONNREFUSED" : C.Int.t;
-val ECONNRESET = _const "Posix_Error_ECONNRESET" : C.Int.t;
-val EDEADLK = _const "Posix_Error_EDEADLK" : C.Int.t;
-val EDESTADDRREQ = _const "Posix_Error_EDESTADDRREQ" : C.Int.t;
-val EDOM = _const "Posix_Error_EDOM" : C.Int.t;
-val EDQUOT = _const "Posix_Error_EDQUOT" : C.Int.t;
-val EEXIST = _const "Posix_Error_EEXIST" : C.Int.t;
-val EFAULT = _const "Posix_Error_EFAULT" : C.Int.t;
-val EFBIG = _const "Posix_Error_EFBIG" : C.Int.t;
-val EHOSTUNREACH = _const "Posix_Error_EHOSTUNREACH" : C.Int.t;
-val EIDRM = _const "Posix_Error_EIDRM" : C.Int.t;
-val EILSEQ = _const "Posix_Error_EILSEQ" : C.Int.t;
-val EINPROGRESS = _const "Posix_Error_EINPROGRESS" : C.Int.t;
-val EINTR = _const "Posix_Error_EINTR" : C.Int.t;
-val EINVAL = _const "Posix_Error_EINVAL" : C.Int.t;
-val EIO = _const "Posix_Error_EIO" : C.Int.t;
-val EISCONN = _const "Posix_Error_EISCONN" : C.Int.t;
-val EISDIR = _const "Posix_Error_EISDIR" : C.Int.t;
-val ELOOP = _const "Posix_Error_ELOOP" : C.Int.t;
-val EMFILE = _const "Posix_Error_EMFILE" : C.Int.t;
-val EMLINK = _const "Posix_Error_EMLINK" : C.Int.t;
-val EMSGSIZE = _const "Posix_Error_EMSGSIZE" : C.Int.t;
-val EMULTIHOP = _const "Posix_Error_EMULTIHOP" : C.Int.t;
-val ENAMETOOLONG = _const "Posix_Error_ENAMETOOLONG" : C.Int.t;
-val ENETDOWN = _const "Posix_Error_ENETDOWN" : C.Int.t;
-val ENETRESET = _const "Posix_Error_ENETRESET" : C.Int.t;
-val ENETUNREACH = _const "Posix_Error_ENETUNREACH" : C.Int.t;
-val ENFILE = _const "Posix_Error_ENFILE" : C.Int.t;
-val ENOBUFS = _const "Posix_Error_ENOBUFS" : C.Int.t;
-val ENODATA = _const "Posix_Error_ENODATA" : C.Int.t;
-val ENODEV = _const "Posix_Error_ENODEV" : C.Int.t;
-val ENOENT = _const "Posix_Error_ENOENT" : C.Int.t;
-val ENOEXEC = _const "Posix_Error_ENOEXEC" : C.Int.t;
-val ENOLCK = _const "Posix_Error_ENOLCK" : C.Int.t;
-val ENOLINK = _const "Posix_Error_ENOLINK" : C.Int.t;
-val ENOMEM = _const "Posix_Error_ENOMEM" : C.Int.t;
-val ENOMSG = _const "Posix_Error_ENOMSG" : C.Int.t;
-val ENOPROTOOPT = _const "Posix_Error_ENOPROTOOPT" : C.Int.t;
-val ENOSPC = _const "Posix_Error_ENOSPC" : C.Int.t;
-val ENOSR = _const "Posix_Error_ENOSR" : C.Int.t;
-val ENOSTR = _const "Posix_Error_ENOSTR" : C.Int.t;
-val ENOSYS = _const "Posix_Error_ENOSYS" : C.Int.t;
-val ENOTCONN = _const "Posix_Error_ENOTCONN" : C.Int.t;
-val ENOTDIR = _const "Posix_Error_ENOTDIR" : C.Int.t;
-val ENOTEMPTY = _const "Posix_Error_ENOTEMPTY" : C.Int.t;
-val ENOTSOCK = _const "Posix_Error_ENOTSOCK" : C.Int.t;
-val ENOTSUP = _const "Posix_Error_ENOTSUP" : C.Int.t;
-val ENOTTY = _const "Posix_Error_ENOTTY" : C.Int.t;
-val ENXIO = _const "Posix_Error_ENXIO" : C.Int.t;
-val EOPNOTSUPP = _const "Posix_Error_EOPNOTSUPP" : C.Int.t;
-val EOVERFLOW = _const "Posix_Error_EOVERFLOW" : C.Int.t;
-val EPERM = _const "Posix_Error_EPERM" : C.Int.t;
-val EPIPE = _const "Posix_Error_EPIPE" : C.Int.t;
-val EPROTO = _const "Posix_Error_EPROTO" : C.Int.t;
-val EPROTONOSUPPORT = _const "Posix_Error_EPROTONOSUPPORT" : C.Int.t;
-val EPROTOTYPE = _const "Posix_Error_EPROTOTYPE" : C.Int.t;
-val ERANGE = _const "Posix_Error_ERANGE" : C.Int.t;
-val EROFS = _const "Posix_Error_EROFS" : C.Int.t;
-val ESPIPE = _const "Posix_Error_ESPIPE" : C.Int.t;
-val ESRCH = _const "Posix_Error_ESRCH" : C.Int.t;
-val ESTALE = _const "Posix_Error_ESTALE" : C.Int.t;
-val ETIME = _const "Posix_Error_ETIME" : C.Int.t;
-val ETIMEDOUT = _const "Posix_Error_ETIMEDOUT" : C.Int.t;
-val ETXTBSY = _const "Posix_Error_ETXTBSY" : C.Int.t;
-val EWOULDBLOCK = _const "Posix_Error_EWOULDBLOCK" : C.Int.t;
-val EXDEV = _const "Posix_Error_EXDEV" : C.Int.t;
-val getErrno = _import "Posix_Error_getErrno" : unit -> C.Int.t;
-val strError = _import "Posix_Error_strError" : C.Int.t -> C.String.t;
+val E2BIG = _const "Posix_Error_E2BIG" : C_Int.t;
+val EACCES = _const "Posix_Error_EACCES" : C_Int.t;
+val EADDRINUSE = _const "Posix_Error_EADDRINUSE" : C_Int.t;
+val EADDRNOTAVAIL = _const "Posix_Error_EADDRNOTAVAIL" : C_Int.t;
+val EAFNOSUPPORT = _const "Posix_Error_EAFNOSUPPORT" : C_Int.t;
+val EAGAIN = _const "Posix_Error_EAGAIN" : C_Int.t;
+val EALREADY = _const "Posix_Error_EALREADY" : C_Int.t;
+val EBADF = _const "Posix_Error_EBADF" : C_Int.t;
+val EBADMSG = _const "Posix_Error_EBADMSG" : C_Int.t;
+val EBUSY = _const "Posix_Error_EBUSY" : C_Int.t;
+val ECANCELED = _const "Posix_Error_ECANCELED" : C_Int.t;
+val ECHILD = _const "Posix_Error_ECHILD" : C_Int.t;
+val ECONNABORTED = _const "Posix_Error_ECONNABORTED" : C_Int.t;
+val ECONNREFUSED = _const "Posix_Error_ECONNREFUSED" : C_Int.t;
+val ECONNRESET = _const "Posix_Error_ECONNRESET" : C_Int.t;
+val EDEADLK = _const "Posix_Error_EDEADLK" : C_Int.t;
+val EDESTADDRREQ = _const "Posix_Error_EDESTADDRREQ" : C_Int.t;
+val EDOM = _const "Posix_Error_EDOM" : C_Int.t;
+val EDQUOT = _const "Posix_Error_EDQUOT" : C_Int.t;
+val EEXIST = _const "Posix_Error_EEXIST" : C_Int.t;
+val EFAULT = _const "Posix_Error_EFAULT" : C_Int.t;
+val EFBIG = _const "Posix_Error_EFBIG" : C_Int.t;
+val EHOSTUNREACH = _const "Posix_Error_EHOSTUNREACH" : C_Int.t;
+val EIDRM = _const "Posix_Error_EIDRM" : C_Int.t;
+val EILSEQ = _const "Posix_Error_EILSEQ" : C_Int.t;
+val EINPROGRESS = _const "Posix_Error_EINPROGRESS" : C_Int.t;
+val EINTR = _const "Posix_Error_EINTR" : C_Int.t;
+val EINVAL = _const "Posix_Error_EINVAL" : C_Int.t;
+val EIO = _const "Posix_Error_EIO" : C_Int.t;
+val EISCONN = _const "Posix_Error_EISCONN" : C_Int.t;
+val EISDIR = _const "Posix_Error_EISDIR" : C_Int.t;
+val ELOOP = _const "Posix_Error_ELOOP" : C_Int.t;
+val EMFILE = _const "Posix_Error_EMFILE" : C_Int.t;
+val EMLINK = _const "Posix_Error_EMLINK" : C_Int.t;
+val EMSGSIZE = _const "Posix_Error_EMSGSIZE" : C_Int.t;
+val EMULTIHOP = _const "Posix_Error_EMULTIHOP" : C_Int.t;
+val ENAMETOOLONG = _const "Posix_Error_ENAMETOOLONG" : C_Int.t;
+val ENETDOWN = _const "Posix_Error_ENETDOWN" : C_Int.t;
+val ENETRESET = _const "Posix_Error_ENETRESET" : C_Int.t;
+val ENETUNREACH = _const "Posix_Error_ENETUNREACH" : C_Int.t;
+val ENFILE = _const "Posix_Error_ENFILE" : C_Int.t;
+val ENOBUFS = _const "Posix_Error_ENOBUFS" : C_Int.t;
+val ENODATA = _const "Posix_Error_ENODATA" : C_Int.t;
+val ENODEV = _const "Posix_Error_ENODEV" : C_Int.t;
+val ENOENT = _const "Posix_Error_ENOENT" : C_Int.t;
+val ENOEXEC = _const "Posix_Error_ENOEXEC" : C_Int.t;
+val ENOLCK = _const "Posix_Error_ENOLCK" : C_Int.t;
+val ENOLINK = _const "Posix_Error_ENOLINK" : C_Int.t;
+val ENOMEM = _const "Posix_Error_ENOMEM" : C_Int.t;
+val ENOMSG = _const "Posix_Error_ENOMSG" : C_Int.t;
+val ENOPROTOOPT = _const "Posix_Error_ENOPROTOOPT" : C_Int.t;
+val ENOSPC = _const "Posix_Error_ENOSPC" : C_Int.t;
+val ENOSR = _const "Posix_Error_ENOSR" : C_Int.t;
+val ENOSTR = _const "Posix_Error_ENOSTR" : C_Int.t;
+val ENOSYS = _const "Posix_Error_ENOSYS" : C_Int.t;
+val ENOTCONN = _const "Posix_Error_ENOTCONN" : C_Int.t;
+val ENOTDIR = _const "Posix_Error_ENOTDIR" : C_Int.t;
+val ENOTEMPTY = _const "Posix_Error_ENOTEMPTY" : C_Int.t;
+val ENOTSOCK = _const "Posix_Error_ENOTSOCK" : C_Int.t;
+val ENOTSUP = _const "Posix_Error_ENOTSUP" : C_Int.t;
+val ENOTTY = _const "Posix_Error_ENOTTY" : C_Int.t;
+val ENXIO = _const "Posix_Error_ENXIO" : C_Int.t;
+val EOPNOTSUPP = _const "Posix_Error_EOPNOTSUPP" : C_Int.t;
+val EOVERFLOW = _const "Posix_Error_EOVERFLOW" : C_Int.t;
+val EPERM = _const "Posix_Error_EPERM" : C_Int.t;
+val EPIPE = _const "Posix_Error_EPIPE" : C_Int.t;
+val EPROTO = _const "Posix_Error_EPROTO" : C_Int.t;
+val EPROTONOSUPPORT = _const "Posix_Error_EPROTONOSUPPORT" : C_Int.t;
+val EPROTOTYPE = _const "Posix_Error_EPROTOTYPE" : C_Int.t;
+val ERANGE = _const "Posix_Error_ERANGE" : C_Int.t;
+val EROFS = _const "Posix_Error_EROFS" : C_Int.t;
+val ESPIPE = _const "Posix_Error_ESPIPE" : C_Int.t;
+val ESRCH = _const "Posix_Error_ESRCH" : C_Int.t;
+val ESTALE = _const "Posix_Error_ESTALE" : C_Int.t;
+val ETIME = _const "Posix_Error_ETIME" : C_Int.t;
+val ETIMEDOUT = _const "Posix_Error_ETIMEDOUT" : C_Int.t;
+val ETXTBSY = _const "Posix_Error_ETXTBSY" : C_Int.t;
+val EWOULDBLOCK = _const "Posix_Error_EWOULDBLOCK" : C_Int.t;
+val EXDEV = _const "Posix_Error_EXDEV" : C_Int.t;
+val getErrno = _import "Posix_Error_getErrno" : unit -> C_Int.t;
+val strError = _import "Posix_Error_strError" : C_Int.t -> C_String.t;
 end
 structure FileSys = 
 struct
 structure A = 
 struct
-val F_OK = _const "Posix_FileSys_A_F_OK" : C.Int.t;
-val R_OK = _const "Posix_FileSys_A_R_OK" : C.Int.t;
-val W_OK = _const "Posix_FileSys_A_W_OK" : C.Int.t;
-val X_OK = _const "Posix_FileSys_A_X_OK" : C.Int.t;
+val F_OK = _const "Posix_FileSys_A_F_OK" : C_Int.t;
+val R_OK = _const "Posix_FileSys_A_R_OK" : C_Int.t;
+val W_OK = _const "Posix_FileSys_A_W_OK" : C_Int.t;
+val X_OK = _const "Posix_FileSys_A_X_OK" : C_Int.t;
 end
-val access = _import "Posix_FileSys_access" : NullString8.t * C.Int.t -> (C.Int.t) C.Errno.t;
-val chdir = _import "Posix_FileSys_chdir" : NullString8.t -> (C.Int.t) C.Errno.t;
-val chmod = _import "Posix_FileSys_chmod" : NullString8.t * C.Mode.t -> (C.Int.t) C.Errno.t;
-val chown = _import "Posix_FileSys_chown" : NullString8.t * C.UId.t * C.GId.t -> (C.Int.t) C.Errno.t;
+val access = _import "Posix_FileSys_access" : NullString8.t * C_Int.t -> (C_Int.t) C_Errno.t;
+val chdir = _import "Posix_FileSys_chdir" : NullString8.t -> (C_Int.t) C_Errno.t;
+val chmod = _import "Posix_FileSys_chmod" : NullString8.t * C_Mode.t -> (C_Int.t) C_Errno.t;
+val chown = _import "Posix_FileSys_chown" : NullString8.t * C_UId.t * C_GId.t -> (C_Int.t) C_Errno.t;
 structure Dirstream = 
 struct
-val closeDir = _import "Posix_FileSys_Dirstream_closeDir" : C.DirP.t -> (C.Int.t) C.Errno.t;
-val openDir = _import "Posix_FileSys_Dirstream_openDir" : NullString8.t -> (C.DirP.t) C.Errno.t;
-val readDir = _import "Posix_FileSys_Dirstream_readDir" : C.DirP.t -> (C.String.t) C.Errno.t;
-val rewindDir = _import "Posix_FileSys_Dirstream_rewindDir" : C.DirP.t -> unit;
+val closeDir = _import "Posix_FileSys_Dirstream_closeDir" : C_DirP.t -> (C_Int.t) C_Errno.t;
+val openDir = _import "Posix_FileSys_Dirstream_openDir" : NullString8.t -> (C_DirP.t) C_Errno.t;
+val readDir = _import "Posix_FileSys_Dirstream_readDir" : C_DirP.t -> (C_String.t) C_Errno.t;
+val rewindDir = _import "Posix_FileSys_Dirstream_rewindDir" : C_DirP.t -> unit;
 end
-val fchdir = _import "Posix_FileSys_fchdir" : C.Fd.t -> (C.Int.t) C.Errno.t;
-val fchmod = _import "Posix_FileSys_fchmod" : C.Fd.t * C.Mode.t -> (C.Int.t) C.Errno.t;
-val fchown = _import "Posix_FileSys_fchown" : C.Fd.t * C.UId.t * C.GId.t -> (C.Int.t) C.Errno.t;
-val fpathconf = _import "Posix_FileSys_fpathconf" : C.Fd.t * C.Int.t -> (C.Long.t) C.Errno.t;
-val ftruncate = _import "Posix_FileSys_ftruncate" : C.Fd.t * C.Off.t -> (C.Int.t) C.Errno.t;
-val getcwd = _import "Posix_FileSys_getcwd" : (Char8.t) array * C.Size.t -> (C.String.t) C.Errno.t;
-val link = _import "Posix_FileSys_link" : NullString8.t * NullString8.t -> (C.Int.t) C.Errno.t;
-val mkdir = _import "Posix_FileSys_mkdir" : NullString8.t * C.Mode.t -> (C.Int.t) C.Errno.t;
-val mkfifo = _import "Posix_FileSys_mkfifo" : NullString8.t * C.Mode.t -> (C.Int.t) C.Errno.t;
+val fchdir = _import "Posix_FileSys_fchdir" : C_Fd.t -> (C_Int.t) C_Errno.t;
+val fchmod = _import "Posix_FileSys_fchmod" : C_Fd.t * C_Mode.t -> (C_Int.t) C_Errno.t;
+val fchown = _import "Posix_FileSys_fchown" : C_Fd.t * C_UId.t * C_GId.t -> (C_Int.t) C_Errno.t;
+val fpathconf = _import "Posix_FileSys_fpathconf" : C_Fd.t * C_Int.t -> (C_Long.t) C_Errno.t;
+val ftruncate = _import "Posix_FileSys_ftruncate" : C_Fd.t * C_Off.t -> (C_Int.t) C_Errno.t;
+val getcwd = _import "Posix_FileSys_getcwd" : (Char8.t) array * C_Size.t -> (C_String.t) C_Errno.t;
+val link = _import "Posix_FileSys_link" : NullString8.t * NullString8.t -> (C_Int.t) C_Errno.t;
+val mkdir = _import "Posix_FileSys_mkdir" : NullString8.t * C_Mode.t -> (C_Int.t) C_Errno.t;
+val mkfifo = _import "Posix_FileSys_mkfifo" : NullString8.t * C_Mode.t -> (C_Int.t) C_Errno.t;
 structure O = 
 struct
-val APPEND = _const "Posix_FileSys_O_APPEND" : C.Int.t;
-val BINARY = _const "Posix_FileSys_O_BINARY" : C.Int.t;
-val CREAT = _const "Posix_FileSys_O_CREAT" : C.Int.t;
-val DSYNC = _const "Posix_FileSys_O_DSYNC" : C.Int.t;
-val EXCL = _const "Posix_FileSys_O_EXCL" : C.Int.t;
-val NOCTTY = _const "Posix_FileSys_O_NOCTTY" : C.Int.t;
-val NONBLOCK = _const "Posix_FileSys_O_NONBLOCK" : C.Int.t;
-val RDONLY = _const "Posix_FileSys_O_RDONLY" : C.Int.t;
-val RDWR = _const "Posix_FileSys_O_RDWR" : C.Int.t;
-val RSYNC = _const "Posix_FileSys_O_RSYNC" : C.Int.t;
-val SYNC = _const "Posix_FileSys_O_SYNC" : C.Int.t;
-val TEXT = _const "Posix_FileSys_O_TEXT" : C.Int.t;
-val TRUNC = _const "Posix_FileSys_O_TRUNC" : C.Int.t;
-val WRONLY = _const "Posix_FileSys_O_WRONLY" : C.Int.t;
+val APPEND = _const "Posix_FileSys_O_APPEND" : C_Int.t;
+val BINARY = _const "Posix_FileSys_O_BINARY" : C_Int.t;
+val CREAT = _const "Posix_FileSys_O_CREAT" : C_Int.t;
+val DSYNC = _const "Posix_FileSys_O_DSYNC" : C_Int.t;
+val EXCL = _const "Posix_FileSys_O_EXCL" : C_Int.t;
+val NOCTTY = _const "Posix_FileSys_O_NOCTTY" : C_Int.t;
+val NONBLOCK = _const "Posix_FileSys_O_NONBLOCK" : C_Int.t;
+val RDONLY = _const "Posix_FileSys_O_RDONLY" : C_Int.t;
+val RDWR = _const "Posix_FileSys_O_RDWR" : C_Int.t;
+val RSYNC = _const "Posix_FileSys_O_RSYNC" : C_Int.t;
+val SYNC = _const "Posix_FileSys_O_SYNC" : C_Int.t;
+val TEXT = _const "Posix_FileSys_O_TEXT" : C_Int.t;
+val TRUNC = _const "Posix_FileSys_O_TRUNC" : C_Int.t;
+val WRONLY = _const "Posix_FileSys_O_WRONLY" : C_Int.t;
 end
-val open2 = _import "Posix_FileSys_open2" : NullString8.t * C.Int.t -> (C.Fd.t) C.Errno.t;
-val open3 = _import "Posix_FileSys_open3" : NullString8.t * C.Int.t * C.Mode.t -> (C.Fd.t) C.Errno.t;
-val pathconf = _import "Posix_FileSys_pathconf" : NullString8.t * C.Int.t -> (C.Long.t) C.Errno.t;
+val open2 = _import "Posix_FileSys_open2" : NullString8.t * C_Int.t -> (C_Fd.t) C_Errno.t;
+val open3 = _import "Posix_FileSys_open3" : NullString8.t * C_Int.t * C_Mode.t -> (C_Fd.t) C_Errno.t;
+val pathconf = _import "Posix_FileSys_pathconf" : NullString8.t * C_Int.t -> (C_Long.t) C_Errno.t;
 structure PC = 
 struct
-val ALLOC_SIZE_MIN = _const "Posix_FileSys_PC_ALLOC_SIZE_MIN" : C.Int.t;
-val ASYNC_IO = _const "Posix_FileSys_PC_ASYNC_IO" : C.Int.t;
-val CHOWN_RESTRICTED = _const "Posix_FileSys_PC_CHOWN_RESTRICTED" : C.Int.t;
-val FILESIZEBITS = _const "Posix_FileSys_PC_FILESIZEBITS" : C.Int.t;
-val LINK_MAX = _const "Posix_FileSys_PC_LINK_MAX" : C.Int.t;
-val MAX_CANON = _const "Posix_FileSys_PC_MAX_CANON" : C.Int.t;
-val MAX_INPUT = _const "Posix_FileSys_PC_MAX_INPUT" : C.Int.t;
-val NAME_MAX = _const "Posix_FileSys_PC_NAME_MAX" : C.Int.t;
-val NO_TRUNC = _const "Posix_FileSys_PC_NO_TRUNC" : C.Int.t;
-val PATH_MAX = _const "Posix_FileSys_PC_PATH_MAX" : C.Int.t;
-val PIPE_BUF = _const "Posix_FileSys_PC_PIPE_BUF" : C.Int.t;
-val PRIO_IO = _const "Posix_FileSys_PC_PRIO_IO" : C.Int.t;
-val REC_INCR_XFER_SIZE = _const "Posix_FileSys_PC_REC_INCR_XFER_SIZE" : C.Int.t;
-val REC_MAX_XFER_SIZE = _const "Posix_FileSys_PC_REC_MAX_XFER_SIZE" : C.Int.t;
-val REC_MIN_XFER_SIZE = _const "Posix_FileSys_PC_REC_MIN_XFER_SIZE" : C.Int.t;
-val REC_XFER_ALIGN = _const "Posix_FileSys_PC_REC_XFER_ALIGN" : C.Int.t;
-val SYMLINK_MAX = _const "Posix_FileSys_PC_SYMLINK_MAX" : C.Int.t;
-val SYNC_IO = _const "Posix_FileSys_PC_SYNC_IO" : C.Int.t;
-val VDISABLE = _const "Posix_FileSys_PC_VDISABLE" : C.Int.t;
+val ALLOC_SIZE_MIN = _const "Posix_FileSys_PC_ALLOC_SIZE_MIN" : C_Int.t;
+val ASYNC_IO = _const "Posix_FileSys_PC_ASYNC_IO" : C_Int.t;
+val CHOWN_RESTRICTED = _const "Posix_FileSys_PC_CHOWN_RESTRICTED" : C_Int.t;
+val FILESIZEBITS = _const "Posix_FileSys_PC_FILESIZEBITS" : C_Int.t;
+val LINK_MAX = _const "Posix_FileSys_PC_LINK_MAX" : C_Int.t;
+val MAX_CANON = _const "Posix_FileSys_PC_MAX_CANON" : C_Int.t;
+val MAX_INPUT = _const "Posix_FileSys_PC_MAX_INPUT" : C_Int.t;
+val NAME_MAX = _const "Posix_FileSys_PC_NAME_MAX" : C_Int.t;
+val NO_TRUNC = _const "Posix_FileSys_PC_NO_TRUNC" : C_Int.t;
+val PATH_MAX = _const "Posix_FileSys_PC_PATH_MAX" : C_Int.t;
+val PIPE_BUF = _const "Posix_FileSys_PC_PIPE_BUF" : C_Int.t;
+val PRIO_IO = _const "Posix_FileSys_PC_PRIO_IO" : C_Int.t;
+val REC_INCR_XFER_SIZE = _const "Posix_FileSys_PC_REC_INCR_XFER_SIZE" : C_Int.t;
+val REC_MAX_XFER_SIZE = _const "Posix_FileSys_PC_REC_MAX_XFER_SIZE" : C_Int.t;
+val REC_MIN_XFER_SIZE = _const "Posix_FileSys_PC_REC_MIN_XFER_SIZE" : C_Int.t;
+val REC_XFER_ALIGN = _const "Posix_FileSys_PC_REC_XFER_ALIGN" : C_Int.t;
+val SYMLINK_MAX = _const "Posix_FileSys_PC_SYMLINK_MAX" : C_Int.t;
+val SYNC_IO = _const "Posix_FileSys_PC_SYNC_IO" : C_Int.t;
+val VDISABLE = _const "Posix_FileSys_PC_VDISABLE" : C_Int.t;
 end
-val readlink = _import "Posix_FileSys_readlink" : NullString8.t * (Char8.t) array * C.Size.t -> (C.SSize.t) C.Errno.t;
-val rename = _import "Posix_FileSys_rename" : NullString8.t * NullString8.t -> (C.Int.t) C.Errno.t;
-val rmdir = _import "Posix_FileSys_rmdir" : NullString8.t -> (C.Int.t) C.Errno.t;
+val readlink = _import "Posix_FileSys_readlink" : NullString8.t * (Char8.t) array * C_Size.t -> (C_SSize.t) C_Errno.t;
+val rename = _import "Posix_FileSys_rename" : NullString8.t * NullString8.t -> (C_Int.t) C_Errno.t;
+val rmdir = _import "Posix_FileSys_rmdir" : NullString8.t -> (C_Int.t) C_Errno.t;
 structure S = 
 struct
-val IFBLK = _const "Posix_FileSys_S_IFBLK" : C.Mode.t;
-val IFCHR = _const "Posix_FileSys_S_IFCHR" : C.Mode.t;
-val IFDIR = _const "Posix_FileSys_S_IFDIR" : C.Mode.t;
-val IFIFO = _const "Posix_FileSys_S_IFIFO" : C.Mode.t;
-val IFLNK = _const "Posix_FileSys_S_IFLNK" : C.Mode.t;
-val IFMT = _const "Posix_FileSys_S_IFMT" : C.Mode.t;
-val IFREG = _const "Posix_FileSys_S_IFREG" : C.Mode.t;
-val IFSOCK = _const "Posix_FileSys_S_IFSOCK" : C.Mode.t;
-val IRGRP = _const "Posix_FileSys_S_IRGRP" : C.Mode.t;
-val IROTH = _const "Posix_FileSys_S_IROTH" : C.Mode.t;
-val IRUSR = _const "Posix_FileSys_S_IRUSR" : C.Mode.t;
-val IRWXG = _const "Posix_FileSys_S_IRWXG" : C.Mode.t;
-val IRWXO = _const "Posix_FileSys_S_IRWXO" : C.Mode.t;
-val IRWXU = _const "Posix_FileSys_S_IRWXU" : C.Mode.t;
-val ISGID = _const "Posix_FileSys_S_ISGID" : C.Mode.t;
-val ISUID = _const "Posix_FileSys_S_ISUID" : C.Mode.t;
-val ISVTX = _const "Posix_FileSys_S_ISVTX" : C.Mode.t;
-val IWGRP = _const "Posix_FileSys_S_IWGRP" : C.Mode.t;
-val IWOTH = _const "Posix_FileSys_S_IWOTH" : C.Mode.t;
-val IWUSR = _const "Posix_FileSys_S_IWUSR" : C.Mode.t;
-val IXGRP = _const "Posix_FileSys_S_IXGRP" : C.Mode.t;
-val IXOTH = _const "Posix_FileSys_S_IXOTH" : C.Mode.t;
-val IXUSR = _const "Posix_FileSys_S_IXUSR" : C.Mode.t;
+val IFBLK = _const "Posix_FileSys_S_IFBLK" : C_Mode.t;
+val IFCHR = _const "Posix_FileSys_S_IFCHR" : C_Mode.t;
+val IFDIR = _const "Posix_FileSys_S_IFDIR" : C_Mode.t;
+val IFIFO = _const "Posix_FileSys_S_IFIFO" : C_Mode.t;
+val IFLNK = _const "Posix_FileSys_S_IFLNK" : C_Mode.t;
+val IFMT = _const "Posix_FileSys_S_IFMT" : C_Mode.t;
+val IFREG = _const "Posix_FileSys_S_IFREG" : C_Mode.t;
+val IFSOCK = _const "Posix_FileSys_S_IFSOCK" : C_Mode.t;
+val IRGRP = _const "Posix_FileSys_S_IRGRP" : C_Mode.t;
+val IROTH = _const "Posix_FileSys_S_IROTH" : C_Mode.t;
+val IRUSR = _const "Posix_FileSys_S_IRUSR" : C_Mode.t;
+val IRWXG = _const "Posix_FileSys_S_IRWXG" : C_Mode.t;
+val IRWXO = _const "Posix_FileSys_S_IRWXO" : C_Mode.t;
+val IRWXU = _const "Posix_FileSys_S_IRWXU" : C_Mode.t;
+val ISGID = _const "Posix_FileSys_S_ISGID" : C_Mode.t;
+val ISUID = _const "Posix_FileSys_S_ISUID" : C_Mode.t;
+val ISVTX = _const "Posix_FileSys_S_ISVTX" : C_Mode.t;
+val IWGRP = _const "Posix_FileSys_S_IWGRP" : C_Mode.t;
+val IWOTH = _const "Posix_FileSys_S_IWOTH" : C_Mode.t;
+val IWUSR = _const "Posix_FileSys_S_IWUSR" : C_Mode.t;
+val IXGRP = _const "Posix_FileSys_S_IXGRP" : C_Mode.t;
+val IXOTH = _const "Posix_FileSys_S_IXOTH" : C_Mode.t;
+val IXUSR = _const "Posix_FileSys_S_IXUSR" : C_Mode.t;
 end
 structure ST = 
 struct
-val isBlk = _import "Posix_FileSys_ST_isBlk" : C.Mode.t -> Bool.t;
-val isChr = _import "Posix_FileSys_ST_isChr" : C.Mode.t -> Bool.t;
-val isDir = _import "Posix_FileSys_ST_isDir" : C.Mode.t -> Bool.t;
-val isFIFO = _import "Posix_FileSys_ST_isFIFO" : C.Mode.t -> Bool.t;
-val isLink = _import "Posix_FileSys_ST_isLink" : C.Mode.t -> Bool.t;
-val isReg = _import "Posix_FileSys_ST_isReg" : C.Mode.t -> Bool.t;
-val isSock = _import "Posix_FileSys_ST_isSock" : C.Mode.t -> Bool.t;
+val isBlk = _import "Posix_FileSys_ST_isBlk" : C_Mode.t -> Bool.t;
+val isChr = _import "Posix_FileSys_ST_isChr" : C_Mode.t -> Bool.t;
+val isDir = _import "Posix_FileSys_ST_isDir" : C_Mode.t -> Bool.t;
+val isFIFO = _import "Posix_FileSys_ST_isFIFO" : C_Mode.t -> Bool.t;
+val isLink = _import "Posix_FileSys_ST_isLink" : C_Mode.t -> Bool.t;
+val isReg = _import "Posix_FileSys_ST_isReg" : C_Mode.t -> Bool.t;
+val isSock = _import "Posix_FileSys_ST_isSock" : C_Mode.t -> Bool.t;
 end
 structure Stat = 
 struct
-val fstat = _import "Posix_FileSys_Stat_fstat" : C.Fd.t -> (C.Int.t) C.Errno.t;
-val getATime = _import "Posix_FileSys_Stat_getATime" : unit -> C.Time.t;
-val getCTime = _import "Posix_FileSys_Stat_getCTime" : unit -> C.Time.t;
-val getDev = _import "Posix_FileSys_Stat_getDev" : unit -> C.Dev.t;
-val getGId = _import "Posix_FileSys_Stat_getGId" : unit -> C.GId.t;
-val getINo = _import "Posix_FileSys_Stat_getINo" : unit -> C.INo.t;
-val getMode = _import "Posix_FileSys_Stat_getMode" : unit -> C.Mode.t;
-val getMTime = _import "Posix_FileSys_Stat_getMTime" : unit -> C.Time.t;
-val getNLink = _import "Posix_FileSys_Stat_getNLink" : unit -> C.NLink.t;
-val getRDev = _import "Posix_FileSys_Stat_getRDev" : unit -> C.Dev.t;
-val getSize = _import "Posix_FileSys_Stat_getSize" : unit -> C.Off.t;
-val getUId = _import "Posix_FileSys_Stat_getUId" : unit -> C.UId.t;
-val lstat = _import "Posix_FileSys_Stat_lstat" : NullString8.t -> (C.Int.t) C.Errno.t;
-val stat = _import "Posix_FileSys_Stat_stat" : NullString8.t -> (C.Int.t) C.Errno.t;
+val fstat = _import "Posix_FileSys_Stat_fstat" : C_Fd.t -> (C_Int.t) C_Errno.t;
+val getATime = _import "Posix_FileSys_Stat_getATime" : unit -> C_Time.t;
+val getCTime = _import "Posix_FileSys_Stat_getCTime" : unit -> C_Time.t;
+val getDev = _import "Posix_FileSys_Stat_getDev" : unit -> C_Dev.t;
+val getGId = _import "Posix_FileSys_Stat_getGId" : unit -> C_GId.t;
+val getINo = _import "Posix_FileSys_Stat_getINo" : unit -> C_INo.t;
+val getMode = _import "Posix_FileSys_Stat_getMode" : unit -> C_Mode.t;
+val getMTime = _import "Posix_FileSys_Stat_getMTime" : unit -> C_Time.t;
+val getNLink = _import "Posix_FileSys_Stat_getNLink" : unit -> C_NLink.t;
+val getRDev = _import "Posix_FileSys_Stat_getRDev" : unit -> C_Dev.t;
+val getSize = _import "Posix_FileSys_Stat_getSize" : unit -> C_Off.t;
+val getUId = _import "Posix_FileSys_Stat_getUId" : unit -> C_UId.t;
+val lstat = _import "Posix_FileSys_Stat_lstat" : NullString8.t -> (C_Int.t) C_Errno.t;
+val stat = _import "Posix_FileSys_Stat_stat" : NullString8.t -> (C_Int.t) C_Errno.t;
 end
-val symlink = _import "Posix_FileSys_symlink" : NullString8.t * NullString8.t -> (C.Int.t) C.Errno.t;
-val truncate = _import "Posix_FileSys_truncate" : NullString8.t * C.Off.t -> (C.Int.t) C.Errno.t;
-val umask = _import "Posix_FileSys_umask" : C.Mode.t -> C.Mode.t;
-val unlink = _import "Posix_FileSys_unlink" : NullString8.t -> (C.Int.t) C.Errno.t;
+val symlink = _import "Posix_FileSys_symlink" : NullString8.t * NullString8.t -> (C_Int.t) C_Errno.t;
+val truncate = _import "Posix_FileSys_truncate" : NullString8.t * C_Off.t -> (C_Int.t) C_Errno.t;
+val umask = _import "Posix_FileSys_umask" : C_Mode.t -> C_Mode.t;
+val unlink = _import "Posix_FileSys_unlink" : NullString8.t -> (C_Int.t) C_Errno.t;
 structure Utimbuf = 
 struct
-val setAcTime = _import "Posix_FileSys_Utimbuf_setAcTime" : C.Time.t -> unit;
-val setModTime = _import "Posix_FileSys_Utimbuf_setModTime" : C.Time.t -> unit;
-val utime = _import "Posix_FileSys_Utimbuf_utime" : NullString8.t -> (C.Int.t) C.Errno.t;
+val setAcTime = _import "Posix_FileSys_Utimbuf_setAcTime" : C_Time.t -> unit;
+val setModTime = _import "Posix_FileSys_Utimbuf_setModTime" : C_Time.t -> unit;
+val utime = _import "Posix_FileSys_Utimbuf_utime" : NullString8.t -> (C_Int.t) C_Errno.t;
 end
 end
 structure IO = 
 struct
-val close = _import "Posix_IO_close" : C.Fd.t -> (C.Int.t) C.Errno.t;
-val dup = _import "Posix_IO_dup" : C.Fd.t -> (C.Fd.t) C.Errno.t;
-val dup2 = _import "Posix_IO_dup2" : C.Fd.t * C.Fd.t -> (C.Fd.t) C.Errno.t;
-val F_DUPFD = _const "Posix_IO_F_DUPFD" : C.Int.t;
-val F_GETFD = _const "Posix_IO_F_GETFD" : C.Int.t;
-val F_GETFL = _const "Posix_IO_F_GETFL" : C.Int.t;
-val F_GETOWN = _const "Posix_IO_F_GETOWN" : C.Int.t;
-val F_SETFD = _const "Posix_IO_F_SETFD" : C.Int.t;
-val F_SETFL = _const "Posix_IO_F_SETFL" : C.Int.t;
-val F_SETOWN = _const "Posix_IO_F_SETOWN" : C.Int.t;
-val fcntl2 = _import "Posix_IO_fcntl2" : C.Fd.t * C.Int.t -> (C.Int.t) C.Errno.t;
-val fcntl3 = _import "Posix_IO_fcntl3" : C.Fd.t * C.Int.t * C.Int.t -> (C.Int.t) C.Errno.t;
+val close = _import "Posix_IO_close" : C_Fd.t -> (C_Int.t) C_Errno.t;
+val dup = _import "Posix_IO_dup" : C_Fd.t -> (C_Fd.t) C_Errno.t;
+val dup2 = _import "Posix_IO_dup2" : C_Fd.t * C_Fd.t -> (C_Fd.t) C_Errno.t;
+val F_DUPFD = _const "Posix_IO_F_DUPFD" : C_Int.t;
+val F_GETFD = _const "Posix_IO_F_GETFD" : C_Int.t;
+val F_GETFL = _const "Posix_IO_F_GETFL" : C_Int.t;
+val F_GETOWN = _const "Posix_IO_F_GETOWN" : C_Int.t;
+val F_SETFD = _const "Posix_IO_F_SETFD" : C_Int.t;
+val F_SETFL = _const "Posix_IO_F_SETFL" : C_Int.t;
+val F_SETOWN = _const "Posix_IO_F_SETOWN" : C_Int.t;
+val fcntl2 = _import "Posix_IO_fcntl2" : C_Fd.t * C_Int.t -> (C_Int.t) C_Errno.t;
+val fcntl3 = _import "Posix_IO_fcntl3" : C_Fd.t * C_Int.t * C_Int.t -> (C_Int.t) C_Errno.t;
 structure FD = 
 struct
-val CLOEXEC = _const "Posix_IO_FD_CLOEXEC" : C.Fd.t;
+val CLOEXEC = _const "Posix_IO_FD_CLOEXEC" : C_Fd.t;
 end
 structure FLock = 
 struct
-val F_GETLK = _const "Posix_IO_FLock_F_GETLK" : C.Int.t;
-val F_RDLCK = _const "Posix_IO_FLock_F_RDLCK" : C.Short.t;
-val F_SETLK = _const "Posix_IO_FLock_F_SETLK" : C.Int.t;
-val F_SETLKW = _const "Posix_IO_FLock_F_SETLKW" : C.Int.t;
-val F_UNLCK = _const "Posix_IO_FLock_F_UNLCK" : C.Short.t;
-val F_WRLCK = _const "Posix_IO_FLock_F_WRLCK" : C.Short.t;
-val fcntl = _import "Posix_IO_FLock_fcntl" : C.Fd.t * C.Int.t -> (C.Int.t) C.Errno.t;
-val getLen = _import "Posix_IO_FLock_getLen" : unit -> C.Off.t;
-val getPId = _import "Posix_IO_FLock_getPId" : unit -> C.PId.t;
-val getStart = _import "Posix_IO_FLock_getStart" : unit -> C.Off.t;
-val getType = _import "Posix_IO_FLock_getType" : unit -> C.Short.t;
-val getWhence = _import "Posix_IO_FLock_getWhence" : unit -> C.Short.t;
-val SEEK_CUR = _const "Posix_IO_FLock_SEEK_CUR" : C.Short.t;
-val SEEK_END = _const "Posix_IO_FLock_SEEK_END" : C.Short.t;
-val SEEK_SET = _const "Posix_IO_FLock_SEEK_SET" : C.Short.t;
-val setLen = _import "Posix_IO_FLock_setLen" : C.Off.t -> unit;
-val setPId = _import "Posix_IO_FLock_setPId" : C.PId.t -> unit;
-val setStart = _import "Posix_IO_FLock_setStart" : C.Off.t -> unit;
-val setType = _import "Posix_IO_FLock_setType" : C.Short.t -> unit;
-val setWhence = _import "Posix_IO_FLock_setWhence" : C.Short.t -> unit;
+val F_GETLK = _const "Posix_IO_FLock_F_GETLK" : C_Int.t;
+val F_RDLCK = _const "Posix_IO_FLock_F_RDLCK" : C_Short.t;
+val F_SETLK = _const "Posix_IO_FLock_F_SETLK" : C_Int.t;
+val F_SETLKW = _const "Posix_IO_FLock_F_SETLKW" : C_Int.t;
+val F_UNLCK = _const "Posix_IO_FLock_F_UNLCK" : C_Short.t;
+val F_WRLCK = _const "Posix_IO_FLock_F_WRLCK" : C_Short.t;
+val fcntl = _import "Posix_IO_FLock_fcntl" : C_Fd.t * C_Int.t -> (C_Int.t) C_Errno.t;
+val getLen = _import "Posix_IO_FLock_getLen" : unit -> C_Off.t;
+val getPId = _import "Posix_IO_FLock_getPId" : unit -> C_PId.t;
+val getStart = _import "Posix_IO_FLock_getStart" : unit -> C_Off.t;
+val getType = _import "Posix_IO_FLock_getType" : unit -> C_Short.t;
+val getWhence = _import "Posix_IO_FLock_getWhence" : unit -> C_Short.t;
+val SEEK_CUR = _const "Posix_IO_FLock_SEEK_CUR" : C_Short.t;
+val SEEK_END = _const "Posix_IO_FLock_SEEK_END" : C_Short.t;
+val SEEK_SET = _const "Posix_IO_FLock_SEEK_SET" : C_Short.t;
+val setLen = _import "Posix_IO_FLock_setLen" : C_Off.t -> unit;
+val setPId = _import "Posix_IO_FLock_setPId" : C_PId.t -> unit;
+val setStart = _import "Posix_IO_FLock_setStart" : C_Off.t -> unit;
+val setType = _import "Posix_IO_FLock_setType" : C_Short.t -> unit;
+val setWhence = _import "Posix_IO_FLock_setWhence" : C_Short.t -> unit;
 end
-val fsync = _import "Posix_IO_fsync" : C.Fd.t -> (C.Int.t) C.Errno.t;
-val lseek = _import "Posix_IO_lseek" : C.Fd.t * C.Off.t * C.Int.t -> (C.Off.t) C.Errno.t;
-val O_ACCMODE = _const "Posix_IO_O_ACCMODE" : C.Int.t;
-val pipe = _import "Posix_IO_pipe" : (C.Fd.t) array -> (C.Int.t) C.Errno.t;
-val readChar8 = _import "Posix_IO_readChar8" : C.Fd.t * (Char8.t) array * C.Int.t * C.Size.t -> (C.SSize.t) C.Errno.t;
-val readWord8 = _import "Posix_IO_readWord8" : C.Fd.t * (Word8.t) array * C.Int.t * C.Size.t -> (C.SSize.t) C.Errno.t;
-val SEEK_CUR = _const "Posix_IO_SEEK_CUR" : C.Int.t;
-val SEEK_END = _const "Posix_IO_SEEK_END" : C.Int.t;
-val SEEK_SET = _const "Posix_IO_SEEK_SET" : C.Int.t;
-val setbin = _import "Posix_IO_setbin" : C.Fd.t -> unit;
-val settext = _import "Posix_IO_settext" : C.Fd.t -> unit;
-val writeChar8Arr = _import "Posix_IO_writeChar8Arr" : C.Fd.t * (Char8.t) array * C.Int.t * C.Size.t -> (C.SSize.t) C.Errno.t;
-val writeChar8Vec = _import "Posix_IO_writeChar8Vec" : C.Fd.t * (Char8.t) vector * C.Int.t * C.Size.t -> (C.SSize.t) C.Errno.t;
-val writeWord8Arr = _import "Posix_IO_writeWord8Arr" : C.Fd.t * (Word8.t) array * C.Int.t * C.Size.t -> (C.SSize.t) C.Errno.t;
-val writeWord8Vec = _import "Posix_IO_writeWord8Vec" : C.Fd.t * (Word8.t) vector * C.Int.t * C.Size.t -> (C.SSize.t) C.Errno.t;
+val fsync = _import "Posix_IO_fsync" : C_Fd.t -> (C_Int.t) C_Errno.t;
+val lseek = _import "Posix_IO_lseek" : C_Fd.t * C_Off.t * C_Int.t -> (C_Off.t) C_Errno.t;
+val O_ACCMODE = _const "Posix_IO_O_ACCMODE" : C_Int.t;
+val pipe = _import "Posix_IO_pipe" : (C_Fd.t) array -> (C_Int.t) C_Errno.t;
+val readChar8 = _import "Posix_IO_readChar8" : C_Fd.t * (Char8.t) array * C_Int.t * C_Size.t -> (C_SSize.t) C_Errno.t;
+val readWord8 = _import "Posix_IO_readWord8" : C_Fd.t * (Word8.t) array * C_Int.t * C_Size.t -> (C_SSize.t) C_Errno.t;
+val SEEK_CUR = _const "Posix_IO_SEEK_CUR" : C_Int.t;
+val SEEK_END = _const "Posix_IO_SEEK_END" : C_Int.t;
+val SEEK_SET = _const "Posix_IO_SEEK_SET" : C_Int.t;
+val setbin = _import "Posix_IO_setbin" : C_Fd.t -> unit;
+val settext = _import "Posix_IO_settext" : C_Fd.t -> unit;
+val writeChar8Arr = _import "Posix_IO_writeChar8Arr" : C_Fd.t * (Char8.t) array * C_Int.t * C_Size.t -> (C_SSize.t) C_Errno.t;
+val writeChar8Vec = _import "Posix_IO_writeChar8Vec" : C_Fd.t * (Char8.t) vector * C_Int.t * C_Size.t -> (C_SSize.t) C_Errno.t;
+val writeWord8Arr = _import "Posix_IO_writeWord8Arr" : C_Fd.t * (Word8.t) array * C_Int.t * C_Size.t -> (C_SSize.t) C_Errno.t;
+val writeWord8Vec = _import "Posix_IO_writeWord8Vec" : C_Fd.t * (Word8.t) vector * C_Int.t * C_Size.t -> (C_SSize.t) C_Errno.t;
 end
 structure ProcEnv = 
 struct
-val ctermid = _import "Posix_ProcEnv_ctermid" : unit -> C.String.t;
-val (environGet, environSet) = _symbol "Posix_ProcEnv_environ": (unit -> (C.StringArray.t)) * ((C.StringArray.t) -> unit);
-val getegid = _import "Posix_ProcEnv_getegid" : unit -> C.GId.t;
-val getenv = _import "Posix_ProcEnv_getenv" : NullString8.t -> C.String.t;
-val geteuid = _import "Posix_ProcEnv_geteuid" : unit -> C.UId.t;
-val getgid = _import "Posix_ProcEnv_getgid" : unit -> C.GId.t;
-val getgroups = _import "Posix_ProcEnv_getgroups" : C.Int.t * (C.GId.t) array -> (C.Int.t) C.Errno.t;
-val getgroupsN = _import "Posix_ProcEnv_getgroupsN" : unit -> C.Int.t;
-val getlogin = _import "Posix_ProcEnv_getlogin" : unit -> (C.String.t) C.Errno.t;
-val getpgrp = _import "Posix_ProcEnv_getpgrp" : unit -> C.PId.t;
-val getpid = _import "Posix_ProcEnv_getpid" : unit -> C.PId.t;
-val getppid = _import "Posix_ProcEnv_getppid" : unit -> C.PId.t;
-val getuid = _import "Posix_ProcEnv_getuid" : unit -> C.UId.t;
-val isatty = _import "Posix_ProcEnv_isatty" : C.Fd.t -> Bool.t;
-val SC_2_C_BIND = _const "Posix_ProcEnv_SC_2_C_BIND" : C.Int.t;
-val SC_2_C_DEV = _const "Posix_ProcEnv_SC_2_C_DEV" : C.Int.t;
-val SC_2_CHAR_TERM = _const "Posix_ProcEnv_SC_2_CHAR_TERM" : C.Int.t;
-val SC_2_FORT_DEV = _const "Posix_ProcEnv_SC_2_FORT_DEV" : C.Int.t;
-val SC_2_FORT_RUN = _const "Posix_ProcEnv_SC_2_FORT_RUN" : C.Int.t;
-val SC_2_LOCALEDEF = _const "Posix_ProcEnv_SC_2_LOCALEDEF" : C.Int.t;
-val SC_2_PBS = _const "Posix_ProcEnv_SC_2_PBS" : C.Int.t;
-val SC_2_PBS_ACCOUNTING = _const "Posix_ProcEnv_SC_2_PBS_ACCOUNTING" : C.Int.t;
-val SC_2_PBS_CHECKPOINT = _const "Posix_ProcEnv_SC_2_PBS_CHECKPOINT" : C.Int.t;
-val SC_2_PBS_LOCATE = _const "Posix_ProcEnv_SC_2_PBS_LOCATE" : C.Int.t;
-val SC_2_PBS_MESSAGE = _const "Posix_ProcEnv_SC_2_PBS_MESSAGE" : C.Int.t;
-val SC_2_PBS_TRACK = _const "Posix_ProcEnv_SC_2_PBS_TRACK" : C.Int.t;
-val SC_2_SW_DEV = _const "Posix_ProcEnv_SC_2_SW_DEV" : C.Int.t;
-val SC_2_UPE = _const "Posix_ProcEnv_SC_2_UPE" : C.Int.t;
-val SC_2_VERSION = _const "Posix_ProcEnv_SC_2_VERSION" : C.Int.t;
-val SC_ADVISORY_INFO = _const "Posix_ProcEnv_SC_ADVISORY_INFO" : C.Int.t;
-val SC_AIO_LISTIO_MAX = _const "Posix_ProcEnv_SC_AIO_LISTIO_MAX" : C.Int.t;
-val SC_AIO_MAX = _const "Posix_ProcEnv_SC_AIO_MAX" : C.Int.t;
-val SC_AIO_PRIO_DELTA_MAX = _const "Posix_ProcEnv_SC_AIO_PRIO_DELTA_MAX" : C.Int.t;
-val SC_ARG_MAX = _const "Posix_ProcEnv_SC_ARG_MAX" : C.Int.t;
-val SC_ASYNCHRONOUS_IO = _const "Posix_ProcEnv_SC_ASYNCHRONOUS_IO" : C.Int.t;
-val SC_ATEXIT_MAX = _const "Posix_ProcEnv_SC_ATEXIT_MAX" : C.Int.t;
-val SC_BARRIERS = _const "Posix_ProcEnv_SC_BARRIERS" : C.Int.t;
-val SC_BC_BASE_MAX = _const "Posix_ProcEnv_SC_BC_BASE_MAX" : C.Int.t;
-val SC_BC_DIM_MAX = _const "Posix_ProcEnv_SC_BC_DIM_MAX" : C.Int.t;
-val SC_BC_SCALE_MAX = _const "Posix_ProcEnv_SC_BC_SCALE_MAX" : C.Int.t;
-val SC_BC_STRING_MAX = _const "Posix_ProcEnv_SC_BC_STRING_MAX" : C.Int.t;
-val SC_CHILD_MAX = _const "Posix_ProcEnv_SC_CHILD_MAX" : C.Int.t;
-val SC_CLK_TCK = _const "Posix_ProcEnv_SC_CLK_TCK" : C.Int.t;
-val SC_CLOCK_SELECTION = _const "Posix_ProcEnv_SC_CLOCK_SELECTION" : C.Int.t;
-val SC_COLL_WEIGHTS_MAX = _const "Posix_ProcEnv_SC_COLL_WEIGHTS_MAX" : C.Int.t;
-val SC_CPUTIME = _const "Posix_ProcEnv_SC_CPUTIME" : C.Int.t;
-val SC_DELAYTIMER_MAX = _const "Posix_ProcEnv_SC_DELAYTIMER_MAX" : C.Int.t;
-val SC_EXPR_NEST_MAX = _const "Posix_ProcEnv_SC_EXPR_NEST_MAX" : C.Int.t;
-val SC_FSYNC = _const "Posix_ProcEnv_SC_FSYNC" : C.Int.t;
-val SC_GETGR_R_SIZE_MAX = _const "Posix_ProcEnv_SC_GETGR_R_SIZE_MAX" : C.Int.t;
-val SC_GETPW_R_SIZE_MAX = _const "Posix_ProcEnv_SC_GETPW_R_SIZE_MAX" : C.Int.t;
-val SC_HOST_NAME_MAX = _const "Posix_ProcEnv_SC_HOST_NAME_MAX" : C.Int.t;
-val SC_IOV_MAX = _const "Posix_ProcEnv_SC_IOV_MAX" : C.Int.t;
-val SC_IPV6 = _const "Posix_ProcEnv_SC_IPV6" : C.Int.t;
-val SC_JOB_CONTROL = _const "Posix_ProcEnv_SC_JOB_CONTROL" : C.Int.t;
-val SC_LINE_MAX = _const "Posix_ProcEnv_SC_LINE_MAX" : C.Int.t;
-val SC_LOGIN_NAME_MAX = _const "Posix_ProcEnv_SC_LOGIN_NAME_MAX" : C.Int.t;
-val SC_MAPPED_FILES = _const "Posix_ProcEnv_SC_MAPPED_FILES" : C.Int.t;
-val SC_MEMLOCK = _const "Posix_ProcEnv_SC_MEMLOCK" : C.Int.t;
-val SC_MEMLOCK_RANGE = _const "Posix_ProcEnv_SC_MEMLOCK_RANGE" : C.Int.t;
-val SC_MEMORY_PROTECTION = _const "Posix_ProcEnv_SC_MEMORY_PROTECTION" : C.Int.t;
-val SC_MESSAGE_PASSING = _const "Posix_ProcEnv_SC_MESSAGE_PASSING" : C.Int.t;
-val SC_MONOTONIC_CLOCK = _const "Posix_ProcEnv_SC_MONOTONIC_CLOCK" : C.Int.t;
-val SC_MQ_OPEN_MAX = _const "Posix_ProcEnv_SC_MQ_OPEN_MAX" : C.Int.t;
-val SC_MQ_PRIO_MAX = _const "Posix_ProcEnv_SC_MQ_PRIO_MAX" : C.Int.t;
-val SC_NGROUPS_MAX = _const "Posix_ProcEnv_SC_NGROUPS_MAX" : C.Int.t;
-val SC_OPEN_MAX = _const "Posix_ProcEnv_SC_OPEN_MAX" : C.Int.t;
-val SC_PAGE_SIZE = _const "Posix_ProcEnv_SC_PAGE_SIZE" : C.Int.t;
-val SC_PAGESIZE = _const "Posix_ProcEnv_SC_PAGESIZE" : C.Int.t;
-val SC_PRIORITIZED_IO = _const "Posix_ProcEnv_SC_PRIORITIZED_IO" : C.Int.t;
-val SC_PRIORITY_SCHEDULING = _const "Posix_ProcEnv_SC_PRIORITY_SCHEDULING" : C.Int.t;
-val SC_RAW_SOCKETS = _const "Posix_ProcEnv_SC_RAW_SOCKETS" : C.Int.t;
-val SC_RE_DUP_MAX = _const "Posix_ProcEnv_SC_RE_DUP_MAX" : C.Int.t;
-val SC_READER_WRITER_LOCKS = _const "Posix_ProcEnv_SC_READER_WRITER_LOCKS" : C.Int.t;
-val SC_REALTIME_SIGNALS = _const "Posix_ProcEnv_SC_REALTIME_SIGNALS" : C.Int.t;
-val SC_REGEXP = _const "Posix_ProcEnv_SC_REGEXP" : C.Int.t;
-val SC_RTSIG_MAX = _const "Posix_ProcEnv_SC_RTSIG_MAX" : C.Int.t;
-val SC_SAVED_IDS = _const "Posix_ProcEnv_SC_SAVED_IDS" : C.Int.t;
-val SC_SEM_NSEMS_MAX = _const "Posix_ProcEnv_SC_SEM_NSEMS_MAX" : C.Int.t;
-val SC_SEM_VALUE_MAX = _const "Posix_ProcEnv_SC_SEM_VALUE_MAX" : C.Int.t;
-val SC_SEMAPHORES = _const "Posix_ProcEnv_SC_SEMAPHORES" : C.Int.t;
-val SC_SHARED_MEMORY_OBJECTS = _const "Posix_ProcEnv_SC_SHARED_MEMORY_OBJECTS" : C.Int.t;
-val SC_SHELL = _const "Posix_ProcEnv_SC_SHELL" : C.Int.t;
-val SC_SIGQUEUE_MAX = _const "Posix_ProcEnv_SC_SIGQUEUE_MAX" : C.Int.t;
-val SC_SPAWN = _const "Posix_ProcEnv_SC_SPAWN" : C.Int.t;
-val SC_SPIN_LOCKS = _const "Posix_ProcEnv_SC_SPIN_LOCKS" : C.Int.t;
-val SC_SPORADIC_SERVER = _const "Posix_ProcEnv_SC_SPORADIC_SERVER" : C.Int.t;
-val SC_SS_REPL_MAX = _const "Posix_ProcEnv_SC_SS_REPL_MAX" : C.Int.t;
-val SC_STREAM_MAX = _const "Posix_ProcEnv_SC_STREAM_MAX" : C.Int.t;
-val SC_SYMLOOP_MAX = _const "Posix_ProcEnv_SC_SYMLOOP_MAX" : C.Int.t;
-val SC_SYNCHRONIZED_IO = _const "Posix_ProcEnv_SC_SYNCHRONIZED_IO" : C.Int.t;
-val SC_THREAD_ATTR_STACKADDR = _const "Posix_ProcEnv_SC_THREAD_ATTR_STACKADDR" : C.Int.t;
-val SC_THREAD_ATTR_STACKSIZE = _const "Posix_ProcEnv_SC_THREAD_ATTR_STACKSIZE" : C.Int.t;
-val SC_THREAD_CPUTIME = _const "Posix_ProcEnv_SC_THREAD_CPUTIME" : C.Int.t;
-val SC_THREAD_DESTRUCTOR_ITERATIONS = _const "Posix_ProcEnv_SC_THREAD_DESTRUCTOR_ITERATIONS" : C.Int.t;
-val SC_THREAD_KEYS_MAX = _const "Posix_ProcEnv_SC_THREAD_KEYS_MAX" : C.Int.t;
-val SC_THREAD_PRIO_INHERIT = _const "Posix_ProcEnv_SC_THREAD_PRIO_INHERIT" : C.Int.t;
-val SC_THREAD_PRIO_PROTECT = _const "Posix_ProcEnv_SC_THREAD_PRIO_PROTECT" : C.Int.t;
-val SC_THREAD_PRIORITY_SCHEDULING = _const "Posix_ProcEnv_SC_THREAD_PRIORITY_SCHEDULING" : C.Int.t;
-val SC_THREAD_PROCESS_SHARED = _const "Posix_ProcEnv_SC_THREAD_PROCESS_SHARED" : C.Int.t;
-val SC_THREAD_SAFE_FUNCTIONS = _const "Posix_ProcEnv_SC_THREAD_SAFE_FUNCTIONS" : C.Int.t;
-val SC_THREAD_SPORADIC_SERVER = _const "Posix_ProcEnv_SC_THREAD_SPORADIC_SERVER" : C.Int.t;
-val SC_THREAD_STACK_MIN = _const "Posix_ProcEnv_SC_THREAD_STACK_MIN" : C.Int.t;
-val SC_THREAD_THREADS_MAX = _const "Posix_ProcEnv_SC_THREAD_THREADS_MAX" : C.Int.t;
-val SC_THREADS = _const "Posix_ProcEnv_SC_THREADS" : C.Int.t;
-val SC_TIMEOUTS = _const "Posix_ProcEnv_SC_TIMEOUTS" : C.Int.t;
-val SC_TIMER_MAX = _const "Posix_ProcEnv_SC_TIMER_MAX" : C.Int.t;
-val SC_TIMERS = _const "Posix_ProcEnv_SC_TIMERS" : C.Int.t;
-val SC_TRACE = _const "Posix_ProcEnv_SC_TRACE" : C.Int.t;
-val SC_TRACE_EVENT_FILTER = _const "Posix_ProcEnv_SC_TRACE_EVENT_FILTER" : C.Int.t;
-val SC_TRACE_EVENT_NAME_MAX = _const "Posix_ProcEnv_SC_TRACE_EVENT_NAME_MAX" : C.Int.t;
-val SC_TRACE_INHERIT = _const "Posix_ProcEnv_SC_TRACE_INHERIT" : C.Int.t;
-val SC_TRACE_LOG = _const "Posix_ProcEnv_SC_TRACE_LOG" : C.Int.t;
-val SC_TRACE_NAME_MAX = _const "Posix_ProcEnv_SC_TRACE_NAME_MAX" : C.Int.t;
-val SC_TRACE_SYS_MAX = _const "Posix_ProcEnv_SC_TRACE_SYS_MAX" : C.Int.t;
-val SC_TRACE_USER_EVENT_MAX = _const "Posix_ProcEnv_SC_TRACE_USER_EVENT_MAX" : C.Int.t;
-val SC_TTY_NAME_MAX = _const "Posix_ProcEnv_SC_TTY_NAME_MAX" : C.Int.t;
-val SC_TYPED_MEMORY_OBJECTS = _const "Posix_ProcEnv_SC_TYPED_MEMORY_OBJECTS" : C.Int.t;
-val SC_TZNAME_MAX = _const "Posix_ProcEnv_SC_TZNAME_MAX" : C.Int.t;
-val SC_V6_ILP32_OFF32 = _const "Posix_ProcEnv_SC_V6_ILP32_OFF32" : C.Int.t;
-val SC_V6_ILP32_OFFBIG = _const "Posix_ProcEnv_SC_V6_ILP32_OFFBIG" : C.Int.t;
-val SC_V6_LP64_OFF64 = _const "Posix_ProcEnv_SC_V6_LP64_OFF64" : C.Int.t;
-val SC_V6_LPBIG_OFFBIG = _const "Posix_ProcEnv_SC_V6_LPBIG_OFFBIG" : C.Int.t;
-val SC_VERSION = _const "Posix_ProcEnv_SC_VERSION" : C.Int.t;
-val SC_XBS5_ILP32_OFF32 = _const "Posix_ProcEnv_SC_XBS5_ILP32_OFF32" : C.Int.t;
-val SC_XBS5_ILP32_OFFBIG = _const "Posix_ProcEnv_SC_XBS5_ILP32_OFFBIG" : C.Int.t;
-val SC_XBS5_LP64_OFF64 = _const "Posix_ProcEnv_SC_XBS5_LP64_OFF64" : C.Int.t;
-val SC_XBS5_LPBIG_OFFBIG = _const "Posix_ProcEnv_SC_XBS5_LPBIG_OFFBIG" : C.Int.t;
-val SC_XOPEN_CRYPT = _const "Posix_ProcEnv_SC_XOPEN_CRYPT" : C.Int.t;
-val SC_XOPEN_ENH_I18N = _const "Posix_ProcEnv_SC_XOPEN_ENH_I18N" : C.Int.t;
-val SC_XOPEN_LEGACY = _const "Posix_ProcEnv_SC_XOPEN_LEGACY" : C.Int.t;
-val SC_XOPEN_REALTIME = _const "Posix_ProcEnv_SC_XOPEN_REALTIME" : C.Int.t;
-val SC_XOPEN_REALTIME_THREADS = _const "Posix_ProcEnv_SC_XOPEN_REALTIME_THREADS" : C.Int.t;
-val SC_XOPEN_SHM = _const "Posix_ProcEnv_SC_XOPEN_SHM" : C.Int.t;
-val SC_XOPEN_STREAMS = _const "Posix_ProcEnv_SC_XOPEN_STREAMS" : C.Int.t;
-val SC_XOPEN_UNIX = _const "Posix_ProcEnv_SC_XOPEN_UNIX" : C.Int.t;
-val SC_XOPEN_VERSION = _const "Posix_ProcEnv_SC_XOPEN_VERSION" : C.Int.t;
-val setenv = _import "Posix_ProcEnv_setenv" : NullString8.t * NullString8.t -> (C.Int.t) C.Errno.t;
-val setgid = _import "Posix_ProcEnv_setgid" : C.GId.t -> (C.Int.t) C.Errno.t;
-val setgroups = _import "Posix_ProcEnv_setgroups" : C.Int.t * (C.GId.t) vector -> (C.Int.t) C.Errno.t;
-val setpgid = _import "Posix_ProcEnv_setpgid" : C.PId.t * C.PId.t -> (C.Int.t) C.Errno.t;
-val setsid = _import "Posix_ProcEnv_setsid" : unit -> (C.PId.t) C.Errno.t;
-val setuid = _import "Posix_ProcEnv_setuid" : C.UId.t -> (C.Int.t) C.Errno.t;
-val sysconf = _import "Posix_ProcEnv_sysconf" : C.Int.t -> (C.Long.t) C.Errno.t;
-val times = _import "Posix_ProcEnv_times" : unit -> (C.Clock.t) C.Errno.t;
+val ctermid = _import "Posix_ProcEnv_ctermid" : unit -> C_String.t;
+val (environGet, environSet) = _symbol "Posix_ProcEnv_environ": (unit -> (C_StringArray.t)) * ((C_StringArray.t) -> unit);
+val getegid = _import "Posix_ProcEnv_getegid" : unit -> C_GId.t;
+val getenv = _import "Posix_ProcEnv_getenv" : NullString8.t -> C_String.t;
+val geteuid = _import "Posix_ProcEnv_geteuid" : unit -> C_UId.t;
+val getgid = _import "Posix_ProcEnv_getgid" : unit -> C_GId.t;
+val getgroups = _import "Posix_ProcEnv_getgroups" : C_Int.t * (C_GId.t) array -> (C_Int.t) C_Errno.t;
+val getgroupsN = _import "Posix_ProcEnv_getgroupsN" : unit -> C_Int.t;
+val getlogin = _import "Posix_ProcEnv_getlogin" : unit -> (C_String.t) C_Errno.t;
+val getpgrp = _import "Posix_ProcEnv_getpgrp" : unit -> C_PId.t;
+val getpid = _import "Posix_ProcEnv_getpid" : unit -> C_PId.t;
+val getppid = _import "Posix_ProcEnv_getppid" : unit -> C_PId.t;
+val getuid = _import "Posix_ProcEnv_getuid" : unit -> C_UId.t;
+val isatty = _import "Posix_ProcEnv_isatty" : C_Fd.t -> Bool.t;
+val SC_2_C_BIND = _const "Posix_ProcEnv_SC_2_C_BIND" : C_Int.t;
+val SC_2_C_DEV = _const "Posix_ProcEnv_SC_2_C_DEV" : C_Int.t;
+val SC_2_CHAR_TERM = _const "Posix_ProcEnv_SC_2_CHAR_TERM" : C_Int.t;
+val SC_2_FORT_DEV = _const "Posix_ProcEnv_SC_2_FORT_DEV" : C_Int.t;
+val SC_2_FORT_RUN = _const "Posix_ProcEnv_SC_2_FORT_RUN" : C_Int.t;
+val SC_2_LOCALEDEF = _const "Posix_ProcEnv_SC_2_LOCALEDEF" : C_Int.t;
+val SC_2_PBS = _const "Posix_ProcEnv_SC_2_PBS" : C_Int.t;
+val SC_2_PBS_ACCOUNTING = _const "Posix_ProcEnv_SC_2_PBS_ACCOUNTING" : C_Int.t;
+val SC_2_PBS_CHECKPOINT = _const "Posix_ProcEnv_SC_2_PBS_CHECKPOINT" : C_Int.t;
+val SC_2_PBS_LOCATE = _const "Posix_ProcEnv_SC_2_PBS_LOCATE" : C_Int.t;
+val SC_2_PBS_MESSAGE = _const "Posix_ProcEnv_SC_2_PBS_MESSAGE" : C_Int.t;
+val SC_2_PBS_TRACK = _const "Posix_ProcEnv_SC_2_PBS_TRACK" : C_Int.t;
+val SC_2_SW_DEV = _const "Posix_ProcEnv_SC_2_SW_DEV" : C_Int.t;
+val SC_2_UPE = _const "Posix_ProcEnv_SC_2_UPE" : C_Int.t;
+val SC_2_VERSION = _const "Posix_ProcEnv_SC_2_VERSION" : C_Int.t;
+val SC_ADVISORY_INFO = _const "Posix_ProcEnv_SC_ADVISORY_INFO" : C_Int.t;
+val SC_AIO_LISTIO_MAX = _const "Posix_ProcEnv_SC_AIO_LISTIO_MAX" : C_Int.t;
+val SC_AIO_MAX = _const "Posix_ProcEnv_SC_AIO_MAX" : C_Int.t;
+val SC_AIO_PRIO_DELTA_MAX = _const "Posix_ProcEnv_SC_AIO_PRIO_DELTA_MAX" : C_Int.t;
+val SC_ARG_MAX = _const "Posix_ProcEnv_SC_ARG_MAX" : C_Int.t;
+val SC_ASYNCHRONOUS_IO = _const "Posix_ProcEnv_SC_ASYNCHRONOUS_IO" : C_Int.t;
+val SC_ATEXIT_MAX = _const "Posix_ProcEnv_SC_ATEXIT_MAX" : C_Int.t;
+val SC_BARRIERS = _const "Posix_ProcEnv_SC_BARRIERS" : C_Int.t;
+val SC_BC_BASE_MAX = _const "Posix_ProcEnv_SC_BC_BASE_MAX" : C_Int.t;
+val SC_BC_DIM_MAX = _const "Posix_ProcEnv_SC_BC_DIM_MAX" : C_Int.t;
+val SC_BC_SCALE_MAX = _const "Posix_ProcEnv_SC_BC_SCALE_MAX" : C_Int.t;
+val SC_BC_STRING_MAX = _const "Posix_ProcEnv_SC_BC_STRING_MAX" : C_Int.t;
+val SC_CHILD_MAX = _const "Posix_ProcEnv_SC_CHILD_MAX" : C_Int.t;
+val SC_CLK_TCK = _const "Posix_ProcEnv_SC_CLK_TCK" : C_Int.t;
+val SC_CLOCK_SELECTION = _const "Posix_ProcEnv_SC_CLOCK_SELECTION" : C_Int.t;
+val SC_COLL_WEIGHTS_MAX = _const "Posix_ProcEnv_SC_COLL_WEIGHTS_MAX" : C_Int.t;
+val SC_CPUTIME = _const "Posix_ProcEnv_SC_CPUTIME" : C_Int.t;
+val SC_DELAYTIMER_MAX = _const "Posix_ProcEnv_SC_DELAYTIMER_MAX" : C_Int.t;
+val SC_EXPR_NEST_MAX = _const "Posix_ProcEnv_SC_EXPR_NEST_MAX" : C_Int.t;
+val SC_FSYNC = _const "Posix_ProcEnv_SC_FSYNC" : C_Int.t;
+val SC_GETGR_R_SIZE_MAX = _const "Posix_ProcEnv_SC_GETGR_R_SIZE_MAX" : C_Int.t;
+val SC_GETPW_R_SIZE_MAX = _const "Posix_ProcEnv_SC_GETPW_R_SIZE_MAX" : C_Int.t;
+val SC_HOST_NAME_MAX = _const "Posix_ProcEnv_SC_HOST_NAME_MAX" : C_Int.t;
+val SC_IOV_MAX = _const "Posix_ProcEnv_SC_IOV_MAX" : C_Int.t;
+val SC_IPV6 = _const "Posix_ProcEnv_SC_IPV6" : C_Int.t;
+val SC_JOB_CONTROL = _const "Posix_ProcEnv_SC_JOB_CONTROL" : C_Int.t;
+val SC_LINE_MAX = _const "Posix_ProcEnv_SC_LINE_MAX" : C_Int.t;
+val SC_LOGIN_NAME_MAX = _const "Posix_ProcEnv_SC_LOGIN_NAME_MAX" : C_Int.t;
+val SC_MAPPED_FILES = _const "Posix_ProcEnv_SC_MAPPED_FILES" : C_Int.t;
+val SC_MEMLOCK = _const "Posix_ProcEnv_SC_MEMLOCK" : C_Int.t;
+val SC_MEMLOCK_RANGE = _const "Posix_ProcEnv_SC_MEMLOCK_RANGE" : C_Int.t;
+val SC_MEMORY_PROTECTION = _const "Posix_ProcEnv_SC_MEMORY_PROTECTION" : C_Int.t;
+val SC_MESSAGE_PASSING = _const "Posix_ProcEnv_SC_MESSAGE_PASSING" : C_Int.t;
+val SC_MONOTONIC_CLOCK = _const "Posix_ProcEnv_SC_MONOTONIC_CLOCK" : C_Int.t;
+val SC_MQ_OPEN_MAX = _const "Posix_ProcEnv_SC_MQ_OPEN_MAX" : C_Int.t;
+val SC_MQ_PRIO_MAX = _const "Posix_ProcEnv_SC_MQ_PRIO_MAX" : C_Int.t;
+val SC_NGROUPS_MAX = _const "Posix_ProcEnv_SC_NGROUPS_MAX" : C_Int.t;
+val SC_OPEN_MAX = _const "Posix_ProcEnv_SC_OPEN_MAX" : C_Int.t;
+val SC_PAGE_SIZE = _const "Posix_ProcEnv_SC_PAGE_SIZE" : C_Int.t;
+val SC_PAGESIZE = _const "Posix_ProcEnv_SC_PAGESIZE" : C_Int.t;
+val SC_PRIORITIZED_IO = _const "Posix_ProcEnv_SC_PRIORITIZED_IO" : C_Int.t;
+val SC_PRIORITY_SCHEDULING = _const "Posix_ProcEnv_SC_PRIORITY_SCHEDULING" : C_Int.t;
+val SC_RAW_SOCKETS = _const "Posix_ProcEnv_SC_RAW_SOCKETS" : C_Int.t;
+val SC_RE_DUP_MAX = _const "Posix_ProcEnv_SC_RE_DUP_MAX" : C_Int.t;
+val SC_READER_WRITER_LOCKS = _const "Posix_ProcEnv_SC_READER_WRITER_LOCKS" : C_Int.t;
+val SC_REALTIME_SIGNALS = _const "Posix_ProcEnv_SC_REALTIME_SIGNALS" : C_Int.t;
+val SC_REGEXP = _const "Posix_ProcEnv_SC_REGEXP" : C_Int.t;
+val SC_RTSIG_MAX = _const "Posix_ProcEnv_SC_RTSIG_MAX" : C_Int.t;
+val SC_SAVED_IDS = _const "Posix_ProcEnv_SC_SAVED_IDS" : C_Int.t;
+val SC_SEM_NSEMS_MAX = _const "Posix_ProcEnv_SC_SEM_NSEMS_MAX" : C_Int.t;
+val SC_SEM_VALUE_MAX = _const "Posix_ProcEnv_SC_SEM_VALUE_MAX" : C_Int.t;
+val SC_SEMAPHORES = _const "Posix_ProcEnv_SC_SEMAPHORES" : C_Int.t;
+val SC_SHARED_MEMORY_OBJECTS = _const "Posix_ProcEnv_SC_SHARED_MEMORY_OBJECTS" : C_Int.t;
+val SC_SHELL = _const "Posix_ProcEnv_SC_SHELL" : C_Int.t;
+val SC_SIGQUEUE_MAX = _const "Posix_ProcEnv_SC_SIGQUEUE_MAX" : C_Int.t;
+val SC_SPAWN = _const "Posix_ProcEnv_SC_SPAWN" : C_Int.t;
+val SC_SPIN_LOCKS = _const "Posix_ProcEnv_SC_SPIN_LOCKS" : C_Int.t;
+val SC_SPORADIC_SERVER = _const "Posix_ProcEnv_SC_SPORADIC_SERVER" : C_Int.t;
+val SC_SS_REPL_MAX = _const "Posix_ProcEnv_SC_SS_REPL_MAX" : C_Int.t;
+val SC_STREAM_MAX = _const "Posix_ProcEnv_SC_STREAM_MAX" : C_Int.t;
+val SC_SYMLOOP_MAX = _const "Posix_ProcEnv_SC_SYMLOOP_MAX" : C_Int.t;
+val SC_SYNCHRONIZED_IO = _const "Posix_ProcEnv_SC_SYNCHRONIZED_IO" : C_Int.t;
+val SC_THREAD_ATTR_STACKADDR = _const "Posix_ProcEnv_SC_THREAD_ATTR_STACKADDR" : C_Int.t;
+val SC_THREAD_ATTR_STACKSIZE = _const "Posix_ProcEnv_SC_THREAD_ATTR_STACKSIZE" : C_Int.t;
+val SC_THREAD_CPUTIME = _const "Posix_ProcEnv_SC_THREAD_CPUTIME" : C_Int.t;
+val SC_THREAD_DESTRUCTOR_ITERATIONS = _const "Posix_ProcEnv_SC_THREAD_DESTRUCTOR_ITERATIONS" : C_Int.t;
+val SC_THREAD_KEYS_MAX = _const "Posix_ProcEnv_SC_THREAD_KEYS_MAX" : C_Int.t;
+val SC_THREAD_PRIO_INHERIT = _const "Posix_ProcEnv_SC_THREAD_PRIO_INHERIT" : C_Int.t;
+val SC_THREAD_PRIO_PROTECT = _const "Posix_ProcEnv_SC_THREAD_PRIO_PROTECT" : C_Int.t;
+val SC_THREAD_PRIORITY_SCHEDULING = _const "Posix_ProcEnv_SC_THREAD_PRIORITY_SCHEDULING" : C_Int.t;
+val SC_THREAD_PROCESS_SHARED = _const "Posix_ProcEnv_SC_THREAD_PROCESS_SHARED" : C_Int.t;
+val SC_THREAD_SAFE_FUNCTIONS = _const "Posix_ProcEnv_SC_THREAD_SAFE_FUNCTIONS" : C_Int.t;
+val SC_THREAD_SPORADIC_SERVER = _const "Posix_ProcEnv_SC_THREAD_SPORADIC_SERVER" : C_Int.t;
+val SC_THREAD_STACK_MIN = _const "Posix_ProcEnv_SC_THREAD_STACK_MIN" : C_Int.t;
+val SC_THREAD_THREADS_MAX = _const "Posix_ProcEnv_SC_THREAD_THREADS_MAX" : C_Int.t;
+val SC_THREADS = _const "Posix_ProcEnv_SC_THREADS" : C_Int.t;
+val SC_TIMEOUTS = _const "Posix_ProcEnv_SC_TIMEOUTS" : C_Int.t;
+val SC_TIMER_MAX = _const "Posix_ProcEnv_SC_TIMER_MAX" : C_Int.t;
+val SC_TIMERS = _const "Posix_ProcEnv_SC_TIMERS" : C_Int.t;
+val SC_TRACE = _const "Posix_ProcEnv_SC_TRACE" : C_Int.t;
+val SC_TRACE_EVENT_FILTER = _const "Posix_ProcEnv_SC_TRACE_EVENT_FILTER" : C_Int.t;
+val SC_TRACE_EVENT_NAME_MAX = _const "Posix_ProcEnv_SC_TRACE_EVENT_NAME_MAX" : C_Int.t;
+val SC_TRACE_INHERIT = _const "Posix_ProcEnv_SC_TRACE_INHERIT" : C_Int.t;
+val SC_TRACE_LOG = _const "Posix_ProcEnv_SC_TRACE_LOG" : C_Int.t;
+val SC_TRACE_NAME_MAX = _const "Posix_ProcEnv_SC_TRACE_NAME_MAX" : C_Int.t;
+val SC_TRACE_SYS_MAX = _const "Posix_ProcEnv_SC_TRACE_SYS_MAX" : C_Int.t;
+val SC_TRACE_USER_EVENT_MAX = _const "Posix_ProcEnv_SC_TRACE_USER_EVENT_MAX" : C_Int.t;
+val SC_TTY_NAME_MAX = _const "Posix_ProcEnv_SC_TTY_NAME_MAX" : C_Int.t;
+val SC_TYPED_MEMORY_OBJECTS = _const "Posix_ProcEnv_SC_TYPED_MEMORY_OBJECTS" : C_Int.t;
+val SC_TZNAME_MAX = _const "Posix_ProcEnv_SC_TZNAME_MAX" : C_Int.t;
+val SC_V6_ILP32_OFF32 = _const "Posix_ProcEnv_SC_V6_ILP32_OFF32" : C_Int.t;
+val SC_V6_ILP32_OFFBIG = _const "Posix_ProcEnv_SC_V6_ILP32_OFFBIG" : C_Int.t;
+val SC_V6_LP64_OFF64 = _const "Posix_ProcEnv_SC_V6_LP64_OFF64" : C_Int.t;
+val SC_V6_LPBIG_OFFBIG = _const "Posix_ProcEnv_SC_V6_LPBIG_OFFBIG" : C_Int.t;
+val SC_VERSION = _const "Posix_ProcEnv_SC_VERSION" : C_Int.t;
+val SC_XBS5_ILP32_OFF32 = _const "Posix_ProcEnv_SC_XBS5_ILP32_OFF32" : C_Int.t;
+val SC_XBS5_ILP32_OFFBIG = _const "Posix_ProcEnv_SC_XBS5_ILP32_OFFBIG" : C_Int.t;
+val SC_XBS5_LP64_OFF64 = _const "Posix_ProcEnv_SC_XBS5_LP64_OFF64" : C_Int.t;
+val SC_XBS5_LPBIG_OFFBIG = _const "Posix_ProcEnv_SC_XBS5_LPBIG_OFFBIG" : C_Int.t;
+val SC_XOPEN_CRYPT = _const "Posix_ProcEnv_SC_XOPEN_CRYPT" : C_Int.t;
+val SC_XOPEN_ENH_I18N = _const "Posix_ProcEnv_SC_XOPEN_ENH_I18N" : C_Int.t;
+val SC_XOPEN_LEGACY = _const "Posix_ProcEnv_SC_XOPEN_LEGACY" : C_Int.t;
+val SC_XOPEN_REALTIME = _const "Posix_ProcEnv_SC_XOPEN_REALTIME" : C_Int.t;
+val SC_XOPEN_REALTIME_THREADS = _const "Posix_ProcEnv_SC_XOPEN_REALTIME_THREADS" : C_Int.t;
+val SC_XOPEN_SHM = _const "Posix_ProcEnv_SC_XOPEN_SHM" : C_Int.t;
+val SC_XOPEN_STREAMS = _const "Posix_ProcEnv_SC_XOPEN_STREAMS" : C_Int.t;
+val SC_XOPEN_UNIX = _const "Posix_ProcEnv_SC_XOPEN_UNIX" : C_Int.t;
+val SC_XOPEN_VERSION = _const "Posix_ProcEnv_SC_XOPEN_VERSION" : C_Int.t;
+val setenv = _import "Posix_ProcEnv_setenv" : NullString8.t * NullString8.t -> (C_Int.t) C_Errno.t;
+val setgid = _import "Posix_ProcEnv_setgid" : C_GId.t -> (C_Int.t) C_Errno.t;
+val setgroups = _import "Posix_ProcEnv_setgroups" : C_Int.t * (C_GId.t) vector -> (C_Int.t) C_Errno.t;
+val setpgid = _import "Posix_ProcEnv_setpgid" : C_PId.t * C_PId.t -> (C_Int.t) C_Errno.t;
+val setsid = _import "Posix_ProcEnv_setsid" : unit -> (C_PId.t) C_Errno.t;
+val setuid = _import "Posix_ProcEnv_setuid" : C_UId.t -> (C_Int.t) C_Errno.t;
+val sysconf = _import "Posix_ProcEnv_sysconf" : C_Int.t -> (C_Long.t) C_Errno.t;
+val times = _import "Posix_ProcEnv_times" : unit -> (C_Clock.t) C_Errno.t;
 structure Times = 
 struct
-val getCSTime = _import "Posix_ProcEnv_Times_getCSTime" : unit -> C.Clock.t;
-val getCUTime = _import "Posix_ProcEnv_Times_getCUTime" : unit -> C.Clock.t;
-val getSTime = _import "Posix_ProcEnv_Times_getSTime" : unit -> C.Clock.t;
-val getUTime = _import "Posix_ProcEnv_Times_getUTime" : unit -> C.Clock.t;
+val getCSTime = _import "Posix_ProcEnv_Times_getCSTime" : unit -> C_Clock.t;
+val getCUTime = _import "Posix_ProcEnv_Times_getCUTime" : unit -> C_Clock.t;
+val getSTime = _import "Posix_ProcEnv_Times_getSTime" : unit -> C_Clock.t;
+val getUTime = _import "Posix_ProcEnv_Times_getUTime" : unit -> C_Clock.t;
 end
-val ttyname = _import "Posix_ProcEnv_ttyname" : C.Fd.t -> (C.String.t) C.Errno.t;
-val uname = _import "Posix_ProcEnv_uname" : unit -> (C.Int.t) C.Errno.t;
+val ttyname = _import "Posix_ProcEnv_ttyname" : C_Fd.t -> (C_String.t) C_Errno.t;
+val uname = _import "Posix_ProcEnv_uname" : unit -> (C_Int.t) C_Errno.t;
 structure Uname = 
 struct
-val getMachine = _import "Posix_ProcEnv_Uname_getMachine" : unit -> C.String.t;
-val getNodeName = _import "Posix_ProcEnv_Uname_getNodeName" : unit -> C.String.t;
-val getRelease = _import "Posix_ProcEnv_Uname_getRelease" : unit -> C.String.t;
-val getSysName = _import "Posix_ProcEnv_Uname_getSysName" : unit -> C.String.t;
-val getVersion = _import "Posix_ProcEnv_Uname_getVersion" : unit -> C.String.t;
+val getMachine = _import "Posix_ProcEnv_Uname_getMachine" : unit -> C_String.t;
+val getNodeName = _import "Posix_ProcEnv_Uname_getNodeName" : unit -> C_String.t;
+val getRelease = _import "Posix_ProcEnv_Uname_getRelease" : unit -> C_String.t;
+val getSysName = _import "Posix_ProcEnv_Uname_getSysName" : unit -> C_String.t;
+val getVersion = _import "Posix_ProcEnv_Uname_getVersion" : unit -> C_String.t;
 end
 end
 structure Process = 
 struct
-val alarm = _import "Posix_Process_alarm" : C.UInt.t -> C.UInt.t;
-val exece = _import "Posix_Process_exece" : NullString8.t * NullString8Array.t * NullString8Array.t -> (C.Int.t) C.Errno.t;
-val execp = _import "Posix_Process_execp" : NullString8.t * NullString8Array.t -> (C.Int.t) C.Errno.t;
-val exit = _import "Posix_Process_exit" : C.Status.t -> unit;
-val exitStatus = _import "Posix_Process_exitStatus" : C.Status.t -> C.Int.t;
-val fork = _import "Posix_Process_fork" : unit -> (C.PId.t) C.Errno.t;
-val ifExited = _import "Posix_Process_ifExited" : C.Status.t -> Bool.t;
-val ifSignaled = _import "Posix_Process_ifSignaled" : C.Status.t -> Bool.t;
-val ifStopped = _import "Posix_Process_ifStopped" : C.Status.t -> Bool.t;
-val kill = _import "Posix_Process_kill" : C.PId.t * C.Signal.t -> (C.Int.t) C.Errno.t;
-val nanosleep = _import "Posix_Process_nanosleep" : (C.Time.t) ref * (C.Long.t) ref -> (C.Int.t) C.Errno.t;
-val pause = _import "Posix_Process_pause" : unit -> (C.Int.t) C.Errno.t;
-val sleep = _import "Posix_Process_sleep" : C.UInt.t -> C.UInt.t;
-val stopSig = _import "Posix_Process_stopSig" : C.Status.t -> C.Signal.t;
-val system = _import "Posix_Process_system" : NullString8.t -> (C.Status.t) C.Errno.t;
-val termSig = _import "Posix_Process_termSig" : C.Status.t -> C.Signal.t;
+val alarm = _import "Posix_Process_alarm" : C_UInt.t -> C_UInt.t;
+val exece = _import "Posix_Process_exece" : NullString8.t * NullString8Array.t * NullString8Array.t -> (C_Int.t) C_Errno.t;
+val execp = _import "Posix_Process_execp" : NullString8.t * NullString8Array.t -> (C_Int.t) C_Errno.t;
+val exit = _import "Posix_Process_exit" : C_Status.t -> unit;
+val exitStatus = _import "Posix_Process_exitStatus" : C_Status.t -> C_Int.t;
+val fork = _import "Posix_Process_fork" : unit -> (C_PId.t) C_Errno.t;
+val ifExited = _import "Posix_Process_ifExited" : C_Status.t -> Bool.t;
+val ifSignaled = _import "Posix_Process_ifSignaled" : C_Status.t -> Bool.t;
+val ifStopped = _import "Posix_Process_ifStopped" : C_Status.t -> Bool.t;
+val kill = _import "Posix_Process_kill" : C_PId.t * C_Signal.t -> (C_Int.t) C_Errno.t;
+val nanosleep = _import "Posix_Process_nanosleep" : (C_Time.t) ref * (C_Long.t) ref -> (C_Int.t) C_Errno.t;
+val pause = _import "Posix_Process_pause" : unit -> (C_Int.t) C_Errno.t;
+val sleep = _import "Posix_Process_sleep" : C_UInt.t -> C_UInt.t;
+val stopSig = _import "Posix_Process_stopSig" : C_Status.t -> C_Signal.t;
+val system = _import "Posix_Process_system" : NullString8.t -> (C_Status.t) C_Errno.t;
+val termSig = _import "Posix_Process_termSig" : C_Status.t -> C_Signal.t;
 structure W = 
 struct
-val CONTINUED = _const "Posix_Process_W_CONTINUED" : C.Int.t;
-val NOHANG = _const "Posix_Process_W_NOHANG" : C.Int.t;
-val UNTRACED = _const "Posix_Process_W_UNTRACED" : C.Int.t;
+val CONTINUED = _const "Posix_Process_W_CONTINUED" : C_Int.t;
+val NOHANG = _const "Posix_Process_W_NOHANG" : C_Int.t;
+val UNTRACED = _const "Posix_Process_W_UNTRACED" : C_Int.t;
 end
-val waitpid = _import "Posix_Process_waitpid" : C.PId.t * (C.Int.t) ref * C.Int.t -> (C.PId.t) C.Errno.t;
+val waitpid = _import "Posix_Process_waitpid" : C_PId.t * (C_Int.t) ref * C_Int.t -> (C_PId.t) C_Errno.t;
 end
 structure Signal = 
 struct
-val default = _import "Posix_Signal_default" : C.Signal.t -> (C.Int.t) C.Errno.t;
-val handlee = _import "Posix_Signal_handlee" : C.Signal.t -> (C.Int.t) C.Errno.t;
+val default = _import "Posix_Signal_default" : C_Signal.t -> (C_Int.t) C_Errno.t;
+val handlee = _import "Posix_Signal_handlee" : C_Signal.t -> (C_Int.t) C_Errno.t;
 val handleGC = _import "Posix_Signal_handleGC" : unit -> unit;
-val ignore = _import "Posix_Signal_ignore" : C.Signal.t -> (C.Int.t) C.Errno.t;
-val isDefault = _import "Posix_Signal_isDefault" : C.Signal.t * (Bool.t) ref -> (C.Int.t) C.Errno.t;
-val isIgnore = _import "Posix_Signal_isIgnore" : C.Signal.t * (Bool.t) ref -> (C.Int.t) C.Errno.t;
-val isPending = _import "Posix_Signal_isPending" : C.Signal.t -> Bool.t;
+val ignore = _import "Posix_Signal_ignore" : C_Signal.t -> (C_Int.t) C_Errno.t;
+val isDefault = _import "Posix_Signal_isDefault" : C_Signal.t * (Bool.t) ref -> (C_Int.t) C_Errno.t;
+val isIgnore = _import "Posix_Signal_isIgnore" : C_Signal.t * (Bool.t) ref -> (C_Int.t) C_Errno.t;
+val isPending = _import "Posix_Signal_isPending" : C_Signal.t -> Bool.t;
 val isPendingGC = _import "Posix_Signal_isPendingGC" : unit -> Bool.t;
-val NSIG = _const "Posix_Signal_NSIG" : C.Int.t;
+val NSIG = _const "Posix_Signal_NSIG" : C_Int.t;
 val resetPending = _import "Posix_Signal_resetPending" : unit -> unit;
-val SIG_BLOCK = _const "Posix_Signal_SIG_BLOCK" : C.Int.t;
-val SIG_SETMASK = _const "Posix_Signal_SIG_SETMASK" : C.Int.t;
-val SIG_UNBLOCK = _const "Posix_Signal_SIG_UNBLOCK" : C.Int.t;
-val SIGABRT = _const "Posix_Signal_SIGABRT" : C.Signal.t;
-val sigaddset = _import "Posix_Signal_sigaddset" : C.Signal.t -> (C.Int.t) C.Errno.t;
-val SIGALRM = _const "Posix_Signal_SIGALRM" : C.Signal.t;
-val SIGBUS = _const "Posix_Signal_SIGBUS" : C.Signal.t;
-val SIGCHLD = _const "Posix_Signal_SIGCHLD" : C.Signal.t;
-val SIGCONT = _const "Posix_Signal_SIGCONT" : C.Signal.t;
-val sigdelset = _import "Posix_Signal_sigdelset" : C.Signal.t -> (C.Int.t) C.Errno.t;
-val sigemptyset = _import "Posix_Signal_sigemptyset" : unit -> (C.Int.t) C.Errno.t;
-val sigfillset = _import "Posix_Signal_sigfillset" : unit -> (C.Int.t) C.Errno.t;
-val SIGFPE = _const "Posix_Signal_SIGFPE" : C.Signal.t;
-val SIGHUP = _const "Posix_Signal_SIGHUP" : C.Signal.t;
-val SIGILL = _const "Posix_Signal_SIGILL" : C.Signal.t;
-val SIGINT = _const "Posix_Signal_SIGINT" : C.Signal.t;
-val sigismember = _import "Posix_Signal_sigismember" : C.Signal.t -> (C.Int.t) C.Errno.t;
-val SIGKILL = _const "Posix_Signal_SIGKILL" : C.Signal.t;
-val SIGPIPE = _const "Posix_Signal_SIGPIPE" : C.Signal.t;
-val SIGPOLL = _const "Posix_Signal_SIGPOLL" : C.Signal.t;
-val sigprocmask = _import "Posix_Signal_sigprocmask" : C.Int.t -> (C.Int.t) C.Errno.t;
-val SIGPROF = _const "Posix_Signal_SIGPROF" : C.Signal.t;
-val SIGQUIT = _const "Posix_Signal_SIGQUIT" : C.Signal.t;
-val SIGSEGV = _const "Posix_Signal_SIGSEGV" : C.Signal.t;
-val SIGSTOP = _const "Posix_Signal_SIGSTOP" : C.Signal.t;
+val SIG_BLOCK = _const "Posix_Signal_SIG_BLOCK" : C_Int.t;
+val SIG_SETMASK = _const "Posix_Signal_SIG_SETMASK" : C_Int.t;
+val SIG_UNBLOCK = _const "Posix_Signal_SIG_UNBLOCK" : C_Int.t;
+val SIGABRT = _const "Posix_Signal_SIGABRT" : C_Signal.t;
+val sigaddset = _import "Posix_Signal_sigaddset" : C_Signal.t -> (C_Int.t) C_Errno.t;
+val SIGALRM = _const "Posix_Signal_SIGALRM" : C_Signal.t;
+val SIGBUS = _const "Posix_Signal_SIGBUS" : C_Signal.t;
+val SIGCHLD = _const "Posix_Signal_SIGCHLD" : C_Signal.t;
+val SIGCONT = _const "Posix_Signal_SIGCONT" : C_Signal.t;
+val sigdelset = _import "Posix_Signal_sigdelset" : C_Signal.t -> (C_Int.t) C_Errno.t;
+val sigemptyset = _import "Posix_Signal_sigemptyset" : unit -> (C_Int.t) C_Errno.t;
+val sigfillset = _import "Posix_Signal_sigfillset" : unit -> (C_Int.t) C_Errno.t;
+val SIGFPE = _const "Posix_Signal_SIGFPE" : C_Signal.t;
+val SIGHUP = _const "Posix_Signal_SIGHUP" : C_Signal.t;
+val SIGILL = _const "Posix_Signal_SIGILL" : C_Signal.t;
+val SIGINT = _const "Posix_Signal_SIGINT" : C_Signal.t;
+val sigismember = _import "Posix_Signal_sigismember" : C_Signal.t -> (C_Int.t) C_Errno.t;
+val SIGKILL = _const "Posix_Signal_SIGKILL" : C_Signal.t;
+val SIGPIPE = _const "Posix_Signal_SIGPIPE" : C_Signal.t;
+val SIGPOLL = _const "Posix_Signal_SIGPOLL" : C_Signal.t;
+val sigprocmask = _import "Posix_Signal_sigprocmask" : C_Int.t -> (C_Int.t) C_Errno.t;
+val SIGPROF = _const "Posix_Signal_SIGPROF" : C_Signal.t;
+val SIGQUIT = _const "Posix_Signal_SIGQUIT" : C_Signal.t;
+val SIGSEGV = _const "Posix_Signal_SIGSEGV" : C_Signal.t;
+val SIGSTOP = _const "Posix_Signal_SIGSTOP" : C_Signal.t;
 val sigsuspend = _import "Posix_Signal_sigsuspend" : unit -> unit;
-val SIGSYS = _const "Posix_Signal_SIGSYS" : C.Signal.t;
-val SIGTERM = _const "Posix_Signal_SIGTERM" : C.Signal.t;
-val SIGTRAP = _const "Posix_Signal_SIGTRAP" : C.Signal.t;
-val SIGTSTP = _const "Posix_Signal_SIGTSTP" : C.Signal.t;
-val SIGTTIN = _const "Posix_Signal_SIGTTIN" : C.Signal.t;
-val SIGTTOU = _const "Posix_Signal_SIGTTOU" : C.Signal.t;
-val SIGURG = _const "Posix_Signal_SIGURG" : C.Signal.t;
-val SIGUSR1 = _const "Posix_Signal_SIGUSR1" : C.Signal.t;
-val SIGUSR2 = _const "Posix_Signal_SIGUSR2" : C.Signal.t;
-val SIGVTALRM = _const "Posix_Signal_SIGVTALRM" : C.Signal.t;
-val SIGXCPU = _const "Posix_Signal_SIGXCPU" : C.Signal.t;
-val SIGXFSZ = _const "Posix_Signal_SIGXFSZ" : C.Signal.t;
+val SIGSYS = _const "Posix_Signal_SIGSYS" : C_Signal.t;
+val SIGTERM = _const "Posix_Signal_SIGTERM" : C_Signal.t;
+val SIGTRAP = _const "Posix_Signal_SIGTRAP" : C_Signal.t;
+val SIGTSTP = _const "Posix_Signal_SIGTSTP" : C_Signal.t;
+val SIGTTIN = _const "Posix_Signal_SIGTTIN" : C_Signal.t;
+val SIGTTOU = _const "Posix_Signal_SIGTTOU" : C_Signal.t;
+val SIGURG = _const "Posix_Signal_SIGURG" : C_Signal.t;
+val SIGUSR1 = _const "Posix_Signal_SIGUSR1" : C_Signal.t;
+val SIGUSR2 = _const "Posix_Signal_SIGUSR2" : C_Signal.t;
+val SIGVTALRM = _const "Posix_Signal_SIGVTALRM" : C_Signal.t;
+val SIGXCPU = _const "Posix_Signal_SIGXCPU" : C_Signal.t;
+val SIGXFSZ = _const "Posix_Signal_SIGXFSZ" : C_Signal.t;
 end
 structure SysDB = 
 struct
-val getgrgid = _import "Posix_SysDB_getgrgid" : C.GId.t -> Bool.t;
+val getgrgid = _import "Posix_SysDB_getgrgid" : C_GId.t -> Bool.t;
 val getgrnam = _import "Posix_SysDB_getgrnam" : NullString8.t -> Bool.t;
 val getpwnam = _import "Posix_SysDB_getpwnam" : NullString8.t -> Bool.t;
-val getpwuid = _import "Posix_SysDB_getpwuid" : C.GId.t -> Bool.t;
+val getpwuid = _import "Posix_SysDB_getpwuid" : C_GId.t -> Bool.t;
 structure Group = 
 struct
-val getGId = _import "Posix_SysDB_Group_getGId" : unit -> C.GId.t;
-val getMem = _import "Posix_SysDB_Group_getMem" : unit -> C.StringArray.t;
-val getName = _import "Posix_SysDB_Group_getName" : unit -> C.String.t;
+val getGId = _import "Posix_SysDB_Group_getGId" : unit -> C_GId.t;
+val getMem = _import "Posix_SysDB_Group_getMem" : unit -> C_StringArray.t;
+val getName = _import "Posix_SysDB_Group_getName" : unit -> C_String.t;
 end
 structure Passwd = 
 struct
-val getDir = _import "Posix_SysDB_Passwd_getDir" : unit -> C.String.t;
-val getGId = _import "Posix_SysDB_Passwd_getGId" : unit -> C.GId.t;
-val getName = _import "Posix_SysDB_Passwd_getName" : unit -> C.String.t;
-val getShell = _import "Posix_SysDB_Passwd_getShell" : unit -> C.String.t;
-val getUId = _import "Posix_SysDB_Passwd_getUId" : unit -> C.UId.t;
+val getDir = _import "Posix_SysDB_Passwd_getDir" : unit -> C_String.t;
+val getGId = _import "Posix_SysDB_Passwd_getGId" : unit -> C_GId.t;
+val getName = _import "Posix_SysDB_Passwd_getName" : unit -> C_String.t;
+val getShell = _import "Posix_SysDB_Passwd_getShell" : unit -> C_String.t;
+val getUId = _import "Posix_SysDB_Passwd_getUId" : unit -> C_UId.t;
 end
 end
 structure TTY = 
 struct
-val B0 = _const "Posix_TTY_B0" : C.Speed.t;
-val B110 = _const "Posix_TTY_B110" : C.Speed.t;
-val B1200 = _const "Posix_TTY_B1200" : C.Speed.t;
-val B134 = _const "Posix_TTY_B134" : C.Speed.t;
-val B150 = _const "Posix_TTY_B150" : C.Speed.t;
-val B1800 = _const "Posix_TTY_B1800" : C.Speed.t;
-val B19200 = _const "Posix_TTY_B19200" : C.Speed.t;
-val B200 = _const "Posix_TTY_B200" : C.Speed.t;
-val B2400 = _const "Posix_TTY_B2400" : C.Speed.t;
-val B300 = _const "Posix_TTY_B300" : C.Speed.t;
-val B38400 = _const "Posix_TTY_B38400" : C.Speed.t;
-val B4800 = _const "Posix_TTY_B4800" : C.Speed.t;
-val B50 = _const "Posix_TTY_B50" : C.Speed.t;
-val B600 = _const "Posix_TTY_B600" : C.Speed.t;
-val B75 = _const "Posix_TTY_B75" : C.Speed.t;
-val B9600 = _const "Posix_TTY_B9600" : C.Speed.t;
-structure CFlags = 
+val B0 = _const "Posix_TTY_B0" : C_Speed.t;
+val B110 = _const "Posix_TTY_B110" : C_Speed.t;
+val B1200 = _const "Posix_TTY_B1200" : C_Speed.t;
+val B134 = _const "Posix_TTY_B134" : C_Speed.t;
+val B150 = _const "Posix_TTY_B150" : C_Speed.t;
+val B1800 = _const "Posix_TTY_B1800" : C_Speed.t;
+val B19200 = _const "Posix_TTY_B19200" : C_Speed.t;
+val B200 = _const "Posix_TTY_B200" : C_Speed.t;
+val B2400 = _const "Posix_TTY_B2400" : C_Speed.t;
+val B300 = _const "Posix_TTY_B300" : C_Speed.t;
+val B38400 = _const "Posix_TTY_B38400" : C_Speed.t;
+val B4800 = _const "Posix_TTY_B4800" : C_Speed.t;
+val B50 = _const "Posix_TTY_B50" : C_Speed.t;
+val B600 = _const "Posix_TTY_B600" : C_Speed.t;
+val B75 = _const "Posix_TTY_B75" : C_Speed.t;
+val B9600 = _const "Posix_TTY_B9600" : C_Speed.t;
+structure C = 
 struct
-val CLOCAL = _const "Posix_TTY_CFlags_CLOCAL" : C.TCFlag.t;
-val CREAD = _const "Posix_TTY_CFlags_CREAD" : C.TCFlag.t;
-val CS5 = _const "Posix_TTY_CFlags_CS5" : C.TCFlag.t;
-val CS6 = _const "Posix_TTY_CFlags_CS6" : C.TCFlag.t;
-val CS7 = _const "Posix_TTY_CFlags_CS7" : C.TCFlag.t;
-val CS8 = _const "Posix_TTY_CFlags_CS8" : C.TCFlag.t;
-val CSIZE = _const "Posix_TTY_CFlags_CSIZE" : C.TCFlag.t;
-val CSTOPB = _const "Posix_TTY_CFlags_CSTOPB" : C.TCFlag.t;
-val HUPCL = _const "Posix_TTY_CFlags_HUPCL" : C.TCFlag.t;
-val PARENB = _const "Posix_TTY_CFlags_PARENB" : C.TCFlag.t;
-val PARODD = _const "Posix_TTY_CFlags_PARODD" : C.TCFlag.t;
+val CLOCAL = _const "Posix_TTY_C_CLOCAL" : C_TCFlag.t;
+val CREAD = _const "Posix_TTY_C_CREAD" : C_TCFlag.t;
+val CS5 = _const "Posix_TTY_C_CS5" : C_TCFlag.t;
+val CS6 = _const "Posix_TTY_C_CS6" : C_TCFlag.t;
+val CS7 = _const "Posix_TTY_C_CS7" : C_TCFlag.t;
+val CS8 = _const "Posix_TTY_C_CS8" : C_TCFlag.t;
+val CSIZE = _const "Posix_TTY_C_CSIZE" : C_TCFlag.t;
+val CSTOPB = _const "Posix_TTY_C_CSTOPB" : C_TCFlag.t;
+val HUPCL = _const "Posix_TTY_C_HUPCL" : C_TCFlag.t;
+val PARENB = _const "Posix_TTY_C_PARENB" : C_TCFlag.t;
+val PARODD = _const "Posix_TTY_C_PARODD" : C_TCFlag.t;
 end
-structure IFlags = 
+structure I = 
 struct
-val BRKINT = _const "Posix_TTY_IFlags_BRKINT" : C.TCFlag.t;
-val ICRNL = _const "Posix_TTY_IFlags_ICRNL" : C.TCFlag.t;
-val IGNBRK = _const "Posix_TTY_IFlags_IGNBRK" : C.TCFlag.t;
-val IGNCR = _const "Posix_TTY_IFlags_IGNCR" : C.TCFlag.t;
-val IGNPAR = _const "Posix_TTY_IFlags_IGNPAR" : C.TCFlag.t;
-val INLCR = _const "Posix_TTY_IFlags_INLCR" : C.TCFlag.t;
-val INPCK = _const "Posix_TTY_IFlags_INPCK" : C.TCFlag.t;
-val ISTRIP = _const "Posix_TTY_IFlags_ISTRIP" : C.TCFlag.t;
-val IXANY = _const "Posix_TTY_IFlags_IXANY" : C.TCFlag.t;
-val IXOFF = _const "Posix_TTY_IFlags_IXOFF" : C.TCFlag.t;
-val IXON = _const "Posix_TTY_IFlags_IXON" : C.TCFlag.t;
-val PARMRK = _const "Posix_TTY_IFlags_PARMRK" : C.TCFlag.t;
+val BRKINT = _const "Posix_TTY_I_BRKINT" : C_TCFlag.t;
+val ICRNL = _const "Posix_TTY_I_ICRNL" : C_TCFlag.t;
+val IGNBRK = _const "Posix_TTY_I_IGNBRK" : C_TCFlag.t;
+val IGNCR = _const "Posix_TTY_I_IGNCR" : C_TCFlag.t;
+val IGNPAR = _const "Posix_TTY_I_IGNPAR" : C_TCFlag.t;
+val INLCR = _const "Posix_TTY_I_INLCR" : C_TCFlag.t;
+val INPCK = _const "Posix_TTY_I_INPCK" : C_TCFlag.t;
+val ISTRIP = _const "Posix_TTY_I_ISTRIP" : C_TCFlag.t;
+val IXANY = _const "Posix_TTY_I_IXANY" : C_TCFlag.t;
+val IXOFF = _const "Posix_TTY_I_IXOFF" : C_TCFlag.t;
+val IXON = _const "Posix_TTY_I_IXON" : C_TCFlag.t;
+val PARMRK = _const "Posix_TTY_I_PARMRK" : C_TCFlag.t;
 end
-structure LFlags = 
+structure L = 
 struct
-val ECHO = _const "Posix_TTY_LFlags_ECHO" : C.TCFlag.t;
-val ECHOE = _const "Posix_TTY_LFlags_ECHOE" : C.TCFlag.t;
-val ECHOK = _const "Posix_TTY_LFlags_ECHOK" : C.TCFlag.t;
-val ECHONL = _const "Posix_TTY_LFlags_ECHONL" : C.TCFlag.t;
-val ICANON = _const "Posix_TTY_LFlags_ICANON" : C.TCFlag.t;
-val IEXTEN = _const "Posix_TTY_LFlags_IEXTEN" : C.TCFlag.t;
-val ISIG = _const "Posix_TTY_LFlags_ISIG" : C.TCFlag.t;
-val NOFLSH = _const "Posix_TTY_LFlags_NOFLSH" : C.TCFlag.t;
-val TOSTOP = _const "Posix_TTY_LFlags_TOSTOP" : C.TCFlag.t;
+val ECHO = _const "Posix_TTY_L_ECHO" : C_TCFlag.t;
+val ECHOE = _const "Posix_TTY_L_ECHOE" : C_TCFlag.t;
+val ECHOK = _const "Posix_TTY_L_ECHOK" : C_TCFlag.t;
+val ECHONL = _const "Posix_TTY_L_ECHONL" : C_TCFlag.t;
+val ICANON = _const "Posix_TTY_L_ICANON" : C_TCFlag.t;
+val IEXTEN = _const "Posix_TTY_L_IEXTEN" : C_TCFlag.t;
+val ISIG = _const "Posix_TTY_L_ISIG" : C_TCFlag.t;
+val NOFLSH = _const "Posix_TTY_L_NOFLSH" : C_TCFlag.t;
+val TOSTOP = _const "Posix_TTY_L_TOSTOP" : C_TCFlag.t;
 end
-structure OFlags = 
+structure O = 
 struct
-val BS0 = _const "Posix_TTY_OFlags_BS0" : C.TCFlag.t;
-val BS1 = _const "Posix_TTY_OFlags_BS1" : C.TCFlag.t;
-val BSDLY = _const "Posix_TTY_OFlags_BSDLY" : C.TCFlag.t;
-val CR0 = _const "Posix_TTY_OFlags_CR0" : C.TCFlag.t;
-val CR1 = _const "Posix_TTY_OFlags_CR1" : C.TCFlag.t;
-val CR2 = _const "Posix_TTY_OFlags_CR2" : C.TCFlag.t;
-val CR3 = _const "Posix_TTY_OFlags_CR3" : C.TCFlag.t;
-val CRDLY = _const "Posix_TTY_OFlags_CRDLY" : C.TCFlag.t;
-val FF0 = _const "Posix_TTY_OFlags_FF0" : C.TCFlag.t;
-val FF1 = _const "Posix_TTY_OFlags_FF1" : C.TCFlag.t;
-val FFDLY = _const "Posix_TTY_OFlags_FFDLY" : C.TCFlag.t;
-val NL0 = _const "Posix_TTY_OFlags_NL0" : C.TCFlag.t;
-val NL1 = _const "Posix_TTY_OFlags_NL1" : C.TCFlag.t;
-val NLDLY = _const "Posix_TTY_OFlags_NLDLY" : C.TCFlag.t;
-val OCRNL = _const "Posix_TTY_OFlags_OCRNL" : C.TCFlag.t;
-val OFILL = _const "Posix_TTY_OFlags_OFILL" : C.TCFlag.t;
-val ONLCR = _const "Posix_TTY_OFlags_ONLCR" : C.TCFlag.t;
-val ONLRET = _const "Posix_TTY_OFlags_ONLRET" : C.TCFlag.t;
-val ONOCR = _const "Posix_TTY_OFlags_ONOCR" : C.TCFlag.t;
-val OPOST = _const "Posix_TTY_OFlags_OPOST" : C.TCFlag.t;
-val TAB0 = _const "Posix_TTY_OFlags_TAB0" : C.TCFlag.t;
-val TAB1 = _const "Posix_TTY_OFlags_TAB1" : C.TCFlag.t;
-val TAB2 = _const "Posix_TTY_OFlags_TAB2" : C.TCFlag.t;
-val TAB3 = _const "Posix_TTY_OFlags_TAB3" : C.TCFlag.t;
-val TABDLY = _const "Posix_TTY_OFlags_TABDLY" : C.TCFlag.t;
-val VT0 = _const "Posix_TTY_OFlags_VT0" : C.TCFlag.t;
-val VT1 = _const "Posix_TTY_OFlags_VT1" : C.TCFlag.t;
-val VTDLY = _const "Posix_TTY_OFlags_VTDLY" : C.TCFlag.t;
+val BS0 = _const "Posix_TTY_O_BS0" : C_TCFlag.t;
+val BS1 = _const "Posix_TTY_O_BS1" : C_TCFlag.t;
+val BSDLY = _const "Posix_TTY_O_BSDLY" : C_TCFlag.t;
+val CR0 = _const "Posix_TTY_O_CR0" : C_TCFlag.t;
+val CR1 = _const "Posix_TTY_O_CR1" : C_TCFlag.t;
+val CR2 = _const "Posix_TTY_O_CR2" : C_TCFlag.t;
+val CR3 = _const "Posix_TTY_O_CR3" : C_TCFlag.t;
+val CRDLY = _const "Posix_TTY_O_CRDLY" : C_TCFlag.t;
+val FF0 = _const "Posix_TTY_O_FF0" : C_TCFlag.t;
+val FF1 = _const "Posix_TTY_O_FF1" : C_TCFlag.t;
+val FFDLY = _const "Posix_TTY_O_FFDLY" : C_TCFlag.t;
+val NL0 = _const "Posix_TTY_O_NL0" : C_TCFlag.t;
+val NL1 = _const "Posix_TTY_O_NL1" : C_TCFlag.t;
+val NLDLY = _const "Posix_TTY_O_NLDLY" : C_TCFlag.t;
+val OCRNL = _const "Posix_TTY_O_OCRNL" : C_TCFlag.t;
+val OFILL = _const "Posix_TTY_O_OFILL" : C_TCFlag.t;
+val ONLCR = _const "Posix_TTY_O_ONLCR" : C_TCFlag.t;
+val ONLRET = _const "Posix_TTY_O_ONLRET" : C_TCFlag.t;
+val ONOCR = _const "Posix_TTY_O_ONOCR" : C_TCFlag.t;
+val OPOST = _const "Posix_TTY_O_OPOST" : C_TCFlag.t;
+val TAB0 = _const "Posix_TTY_O_TAB0" : C_TCFlag.t;
+val TAB1 = _const "Posix_TTY_O_TAB1" : C_TCFlag.t;
+val TAB2 = _const "Posix_TTY_O_TAB2" : C_TCFlag.t;
+val TAB3 = _const "Posix_TTY_O_TAB3" : C_TCFlag.t;
+val TABDLY = _const "Posix_TTY_O_TABDLY" : C_TCFlag.t;
+val VT0 = _const "Posix_TTY_O_VT0" : C_TCFlag.t;
+val VT1 = _const "Posix_TTY_O_VT1" : C_TCFlag.t;
+val VTDLY = _const "Posix_TTY_O_VTDLY" : C_TCFlag.t;
 end
 structure TC = 
 struct
-val drain = _import "Posix_TTY_TC_drain" : C.Fd.t -> (C.Int.t) C.Errno.t;
-val flow = _import "Posix_TTY_TC_flow" : C.Fd.t * C.Int.t -> (C.Int.t) C.Errno.t;
-val flush = _import "Posix_TTY_TC_flush" : C.Fd.t * C.Int.t -> (C.Int.t) C.Errno.t;
-val getattr = _import "Posix_TTY_TC_getattr" : C.Fd.t -> (C.Int.t) C.Errno.t;
-val getpgrp = _import "Posix_TTY_TC_getpgrp" : C.Fd.t -> (C.PId.t) C.Errno.t;
-val sendbreak = _import "Posix_TTY_TC_sendbreak" : C.Fd.t * C.Int.t -> (C.Int.t) C.Errno.t;
-val setattr = _import "Posix_TTY_TC_setattr" : C.Fd.t * C.Int.t -> (C.Int.t) C.Errno.t;
-val setpgrp = _import "Posix_TTY_TC_setpgrp" : C.Fd.t * C.PId.t -> (C.Int.t) C.Errno.t;
-val TCIFLUSH = _const "Posix_TTY_TC_TCIFLUSH" : C.Int.t;
-val TCIOFF = _const "Posix_TTY_TC_TCIOFF" : C.Int.t;
-val TCIOFLUSH = _const "Posix_TTY_TC_TCIOFLUSH" : C.Int.t;
-val TCION = _const "Posix_TTY_TC_TCION" : C.Int.t;
-val TCOFLUSH = _const "Posix_TTY_TC_TCOFLUSH" : C.Int.t;
-val TCOOFF = _const "Posix_TTY_TC_TCOOFF" : C.Int.t;
-val TCOON = _const "Posix_TTY_TC_TCOON" : C.Int.t;
-val TCSADRAIN = _const "Posix_TTY_TC_TCSADRAIN" : C.Int.t;
-val TCSAFLUSH = _const "Posix_TTY_TC_TCSAFLUSH" : C.Int.t;
-val TCSANOW = _const "Posix_TTY_TC_TCSANOW" : C.Int.t;
+val drain = _import "Posix_TTY_TC_drain" : C_Fd.t -> (C_Int.t) C_Errno.t;
+val flow = _import "Posix_TTY_TC_flow" : C_Fd.t * C_Int.t -> (C_Int.t) C_Errno.t;
+val flush = _import "Posix_TTY_TC_flush" : C_Fd.t * C_Int.t -> (C_Int.t) C_Errno.t;
+val getattr = _import "Posix_TTY_TC_getattr" : C_Fd.t -> (C_Int.t) C_Errno.t;
+val getpgrp = _import "Posix_TTY_TC_getpgrp" : C_Fd.t -> (C_PId.t) C_Errno.t;
+val sendbreak = _import "Posix_TTY_TC_sendbreak" : C_Fd.t * C_Int.t -> (C_Int.t) C_Errno.t;
+val setattr = _import "Posix_TTY_TC_setattr" : C_Fd.t * C_Int.t -> (C_Int.t) C_Errno.t;
+val setpgrp = _import "Posix_TTY_TC_setpgrp" : C_Fd.t * C_PId.t -> (C_Int.t) C_Errno.t;
+val TCIFLUSH = _const "Posix_TTY_TC_TCIFLUSH" : C_Int.t;
+val TCIOFF = _const "Posix_TTY_TC_TCIOFF" : C_Int.t;
+val TCIOFLUSH = _const "Posix_TTY_TC_TCIOFLUSH" : C_Int.t;
+val TCION = _const "Posix_TTY_TC_TCION" : C_Int.t;
+val TCOFLUSH = _const "Posix_TTY_TC_TCOFLUSH" : C_Int.t;
+val TCOOFF = _const "Posix_TTY_TC_TCOOFF" : C_Int.t;
+val TCOON = _const "Posix_TTY_TC_TCOON" : C_Int.t;
+val TCSADRAIN = _const "Posix_TTY_TC_TCSADRAIN" : C_Int.t;
+val TCSAFLUSH = _const "Posix_TTY_TC_TCSAFLUSH" : C_Int.t;
+val TCSANOW = _const "Posix_TTY_TC_TCSANOW" : C_Int.t;
 end
 structure Termios = 
 struct
-val cfGetISpeed = _import "Posix_TTY_Termios_cfGetISpeed" : unit -> C.Speed.t;
-val cfGetOSpeed = _import "Posix_TTY_Termios_cfGetOSpeed" : unit -> C.Speed.t;
-val cfSetISpeed = _import "Posix_TTY_Termios_cfSetISpeed" : C.Speed.t -> (C.Int.t) C.Errno.t;
-val cfSetOSpeed = _import "Posix_TTY_Termios_cfSetOSpeed" : C.Speed.t -> (C.Int.t) C.Errno.t;
-val getCC = _import "Posix_TTY_Termios_getCC" : (C.CC.t) array -> unit;
-val getCFlag = _import "Posix_TTY_Termios_getCFlag" : unit -> C.TCFlag.t;
-val getIFlag = _import "Posix_TTY_Termios_getIFlag" : unit -> C.TCFlag.t;
-val getLFlag = _import "Posix_TTY_Termios_getLFlag" : unit -> C.TCFlag.t;
-val getOFlag = _import "Posix_TTY_Termios_getOFlag" : unit -> C.TCFlag.t;
-val setCC = _import "Posix_TTY_Termios_setCC" : (C.CC.t) array -> unit;
-val setCFlag = _import "Posix_TTY_Termios_setCFlag" : C.TCFlag.t -> unit;
-val setIFlag = _import "Posix_TTY_Termios_setIFlag" : C.TCFlag.t -> unit;
-val setLFlag = _import "Posix_TTY_Termios_setLFlag" : C.TCFlag.t -> unit;
-val setOFlag = _import "Posix_TTY_Termios_setOFlag" : C.TCFlag.t -> unit;
+val cfGetISpeed = _import "Posix_TTY_Termios_cfGetISpeed" : unit -> C_Speed.t;
+val cfGetOSpeed = _import "Posix_TTY_Termios_cfGetOSpeed" : unit -> C_Speed.t;
+val cfSetISpeed = _import "Posix_TTY_Termios_cfSetISpeed" : C_Speed.t -> (C_Int.t) C_Errno.t;
+val cfSetOSpeed = _import "Posix_TTY_Termios_cfSetOSpeed" : C_Speed.t -> (C_Int.t) C_Errno.t;
+val getCC = _import "Posix_TTY_Termios_getCC" : (C_CC.t) array -> unit;
+val getCFlag = _import "Posix_TTY_Termios_getCFlag" : unit -> C_TCFlag.t;
+val getIFlag = _import "Posix_TTY_Termios_getIFlag" : unit -> C_TCFlag.t;
+val getLFlag = _import "Posix_TTY_Termios_getLFlag" : unit -> C_TCFlag.t;
+val getOFlag = _import "Posix_TTY_Termios_getOFlag" : unit -> C_TCFlag.t;
+val setCC = _import "Posix_TTY_Termios_setCC" : (C_CC.t) array -> unit;
+val setCFlag = _import "Posix_TTY_Termios_setCFlag" : C_TCFlag.t -> unit;
+val setIFlag = _import "Posix_TTY_Termios_setIFlag" : C_TCFlag.t -> unit;
+val setLFlag = _import "Posix_TTY_Termios_setLFlag" : C_TCFlag.t -> unit;
+val setOFlag = _import "Posix_TTY_Termios_setOFlag" : C_TCFlag.t -> unit;
 end
 structure V = 
 struct
-val NCCS = _const "Posix_TTY_V_NCCS" : C.Int.t;
-val VEOF = _const "Posix_TTY_V_VEOF" : C.Int.t;
-val VEOL = _const "Posix_TTY_V_VEOL" : C.Int.t;
-val VERASE = _const "Posix_TTY_V_VERASE" : C.Int.t;
-val VINTR = _const "Posix_TTY_V_VINTR" : C.Int.t;
-val VKILL = _const "Posix_TTY_V_VKILL" : C.Int.t;
-val VMIN = _const "Posix_TTY_V_VMIN" : C.Int.t;
-val VQUIT = _const "Posix_TTY_V_VQUIT" : C.Int.t;
-val VSTART = _const "Posix_TTY_V_VSTART" : C.Int.t;
-val VSTOP = _const "Posix_TTY_V_VSTOP" : C.Int.t;
-val VSUSP = _const "Posix_TTY_V_VSUSP" : C.Int.t;
-val VTIME = _const "Posix_TTY_V_VTIME" : C.Int.t;
+val NCCS = _const "Posix_TTY_V_NCCS" : C_Int.t;
+val VEOF = _const "Posix_TTY_V_VEOF" : C_Int.t;
+val VEOL = _const "Posix_TTY_V_VEOL" : C_Int.t;
+val VERASE = _const "Posix_TTY_V_VERASE" : C_Int.t;
+val VINTR = _const "Posix_TTY_V_VINTR" : C_Int.t;
+val VKILL = _const "Posix_TTY_V_VKILL" : C_Int.t;
+val VMIN = _const "Posix_TTY_V_VMIN" : C_Int.t;
+val VQUIT = _const "Posix_TTY_V_VQUIT" : C_Int.t;
+val VSTART = _const "Posix_TTY_V_VSTART" : C_Int.t;
+val VSTOP = _const "Posix_TTY_V_VSTOP" : C_Int.t;
+val VSUSP = _const "Posix_TTY_V_VSUSP" : C_Int.t;
+val VTIME = _const "Posix_TTY_V_VTIME" : C_Int.t;
 end
 end
 end
 structure Socket = 
 struct
-val accept = _import "Socket_accept" : C.Sock.t * (Word8.t) array * (C.Socklen.t) ref -> (C.Int.t) C.Errno.t;
+val accept = _import "Socket_accept" : C_Sock.t * (Word8.t) array * (C_Socklen.t) ref -> (C_Int.t) C_Errno.t;
 structure AF = 
 struct
-val INET = _const "Socket_AF_INET" : C.Int.t;
-val INET6 = _const "Socket_AF_INET6" : C.Int.t;
-val UNIX = _const "Socket_AF_UNIX" : C.Int.t;
-val UNSPEC = _const "Socket_AF_UNSPEC" : C.Int.t;
+val INET = _const "Socket_AF_INET" : C_Int.t;
+val INET6 = _const "Socket_AF_INET6" : C_Int.t;
+val UNIX = _const "Socket_AF_UNIX" : C_Int.t;
+val UNSPEC = _const "Socket_AF_UNSPEC" : C_Int.t;
 end
-val bind = _import "Socket_bind" : C.Sock.t * (Word8.t) vector * C.Socklen.t -> (C.Int.t) C.Errno.t;
-val close = _import "Socket_close" : C.Sock.t -> (C.Int.t) C.Errno.t;
-val connect = _import "Socket_connect" : C.Sock.t * (Word8.t) vector * C.Socklen.t -> (C.Int.t) C.Errno.t;
+val bind = _import "Socket_bind" : C_Sock.t * (Word8.t) vector * C_Socklen.t -> (C_Int.t) C_Errno.t;
+val close = _import "Socket_close" : C_Sock.t -> (C_Int.t) C_Errno.t;
+val connect = _import "Socket_connect" : C_Sock.t * (Word8.t) vector * C_Socklen.t -> (C_Int.t) C_Errno.t;
 structure Ctl = 
 struct
-val FIONBIO = _const "Socket_Ctl_FIONBIO" : C.Int.t;
-val FIONREAD = _const "Socket_Ctl_FIONREAD" : C.Int.t;
-val getIOCtl = _import "Socket_Ctl_getIOCtl" : C.Sock.t * C.Int.t * (Word8.t) array -> (C.Int.t) C.Errno.t;
-val getPeerName = _import "Socket_Ctl_getPeerName" : C.Sock.t * (Word8.t) array * (C.Socklen.t) ref -> (C.Int.t) C.Errno.t;
-val getSockName = _import "Socket_Ctl_getSockName" : C.Sock.t * (Word8.t) array * (C.Socklen.t) ref -> (C.Int.t) C.Errno.t;
-val getSockOpt = _import "Socket_Ctl_getSockOpt" : C.Sock.t * C.Int.t * C.Int.t * (Word8.t) array * (C.Socklen.t) ref -> (C.Int.t) C.Errno.t;
-val setIOCtl = _import "Socket_Ctl_setIOCtl" : C.Sock.t * C.Int.t * (Word8.t) vector -> (C.Int.t) C.Errno.t;
-val setSockOpt = _import "Socket_Ctl_setSockOpt" : C.Sock.t * C.Int.t * C.Int.t * (Word8.t) vector * C.Socklen.t -> (C.Int.t) C.Errno.t;
-val SIOCATMARK = _const "Socket_Ctl_SIOCATMARK" : C.Int.t;
-val SO_ACCEPTCONN = _const "Socket_Ctl_SO_ACCEPTCONN" : C.Int.t;
-val SO_BROADCAST = _const "Socket_Ctl_SO_BROADCAST" : C.Int.t;
-val SO_DEBUG = _const "Socket_Ctl_SO_DEBUG" : C.Int.t;
-val SO_DONTROUTE = _const "Socket_Ctl_SO_DONTROUTE" : C.Int.t;
-val SO_ERROR = _const "Socket_Ctl_SO_ERROR" : C.Int.t;
-val SO_KEEPALIVE = _const "Socket_Ctl_SO_KEEPALIVE" : C.Int.t;
-val SO_LINGER = _const "Socket_Ctl_SO_LINGER" : C.Int.t;
-val SO_OOBINLINE = _const "Socket_Ctl_SO_OOBINLINE" : C.Int.t;
-val SO_RCVBUF = _const "Socket_Ctl_SO_RCVBUF" : C.Int.t;
-val SO_RCVLOWAT = _const "Socket_Ctl_SO_RCVLOWAT" : C.Int.t;
-val SO_RCVTIMEO = _const "Socket_Ctl_SO_RCVTIMEO" : C.Int.t;
-val SO_REUSEADDR = _const "Socket_Ctl_SO_REUSEADDR" : C.Int.t;
-val SO_SNDBUF = _const "Socket_Ctl_SO_SNDBUF" : C.Int.t;
-val SO_SNDLOWAT = _const "Socket_Ctl_SO_SNDLOWAT" : C.Int.t;
-val SO_SNDTIMEO = _const "Socket_Ctl_SO_SNDTIMEO" : C.Int.t;
-val SO_TYPE = _const "Socket_Ctl_SO_TYPE" : C.Int.t;
-val SOL_SOCKET = _const "Socket_Ctl_SOL_SOCKET" : C.Int.t;
+val FIONBIO = _const "Socket_Ctl_FIONBIO" : C_Int.t;
+val FIONREAD = _const "Socket_Ctl_FIONREAD" : C_Int.t;
+val getIOCtl = _import "Socket_Ctl_getIOCtl" : C_Sock.t * C_Int.t * (Word8.t) array -> (C_Int.t) C_Errno.t;
+val getPeerName = _import "Socket_Ctl_getPeerName" : C_Sock.t * (Word8.t) array * (C_Socklen.t) ref -> (C_Int.t) C_Errno.t;
+val getSockName = _import "Socket_Ctl_getSockName" : C_Sock.t * (Word8.t) array * (C_Socklen.t) ref -> (C_Int.t) C_Errno.t;
+val getSockOpt = _import "Socket_Ctl_getSockOpt" : C_Sock.t * C_Int.t * C_Int.t * (Word8.t) array * (C_Socklen.t) ref -> (C_Int.t) C_Errno.t;
+val setIOCtl = _import "Socket_Ctl_setIOCtl" : C_Sock.t * C_Int.t * (Word8.t) vector -> (C_Int.t) C_Errno.t;
+val setSockOpt = _import "Socket_Ctl_setSockOpt" : C_Sock.t * C_Int.t * C_Int.t * (Word8.t) vector * C_Socklen.t -> (C_Int.t) C_Errno.t;
+val SIOCATMARK = _const "Socket_Ctl_SIOCATMARK" : C_Int.t;
+val SO_ACCEPTCONN = _const "Socket_Ctl_SO_ACCEPTCONN" : C_Int.t;
+val SO_BROADCAST = _const "Socket_Ctl_SO_BROADCAST" : C_Int.t;
+val SO_DEBUG = _const "Socket_Ctl_SO_DEBUG" : C_Int.t;
+val SO_DONTROUTE = _const "Socket_Ctl_SO_DONTROUTE" : C_Int.t;
+val SO_ERROR = _const "Socket_Ctl_SO_ERROR" : C_Int.t;
+val SO_KEEPALIVE = _const "Socket_Ctl_SO_KEEPALIVE" : C_Int.t;
+val SO_LINGER = _const "Socket_Ctl_SO_LINGER" : C_Int.t;
+val SO_OOBINLINE = _const "Socket_Ctl_SO_OOBINLINE" : C_Int.t;
+val SO_RCVBUF = _const "Socket_Ctl_SO_RCVBUF" : C_Int.t;
+val SO_RCVLOWAT = _const "Socket_Ctl_SO_RCVLOWAT" : C_Int.t;
+val SO_RCVTIMEO = _const "Socket_Ctl_SO_RCVTIMEO" : C_Int.t;
+val SO_REUSEADDR = _const "Socket_Ctl_SO_REUSEADDR" : C_Int.t;
+val SO_SNDBUF = _const "Socket_Ctl_SO_SNDBUF" : C_Int.t;
+val SO_SNDLOWAT = _const "Socket_Ctl_SO_SNDLOWAT" : C_Int.t;
+val SO_SNDTIMEO = _const "Socket_Ctl_SO_SNDTIMEO" : C_Int.t;
+val SO_TYPE = _const "Socket_Ctl_SO_TYPE" : C_Int.t;
+val SOL_SOCKET = _const "Socket_Ctl_SOL_SOCKET" : C_Int.t;
 end
-val familyOfAddr = _import "Socket_familyOfAddr" : (Word8.t) vector -> C.Int.t;
+val familyOfAddr = _import "Socket_familyOfAddr" : (Word8.t) vector -> C_Int.t;
 structure GenericSock = 
 struct
-val socket = _import "Socket_GenericSock_socket" : C.Int.t * C.Int.t * C.Int.t -> (C.Int.t) C.Errno.t;
-val socketPair = _import "Socket_GenericSock_socketPair" : C.Int.t * C.Int.t * C.Int.t * (C.Int.t) array -> (C.Int.t) C.Errno.t;
+val socket = _import "Socket_GenericSock_socket" : C_Int.t * C_Int.t * C_Int.t -> (C_Int.t) C_Errno.t;
+val socketPair = _import "Socket_GenericSock_socketPair" : C_Int.t * C_Int.t * C_Int.t * (C_Int.t) array -> (C_Int.t) C_Errno.t;
 end
 structure INetSock = 
 struct
 structure Ctl = 
 struct
-val IPPROTO_TCP = _const "Socket_INetSock_Ctl_IPPROTO_TCP" : C.Int.t;
-val TCP_NODELAY = _const "Socket_INetSock_Ctl_TCP_NODELAY" : C.Int.t;
+val IPPROTO_TCP = _const "Socket_INetSock_Ctl_IPPROTO_TCP" : C_Int.t;
+val TCP_NODELAY = _const "Socket_INetSock_Ctl_TCP_NODELAY" : C_Int.t;
 end
 val fromAddr = _import "Socket_INetSock_fromAddr" : (Word8.t) vector -> unit;
 val getInAddr = _import "Socket_INetSock_getInAddr" : (Word8.t) array -> unit;
-val getPort = _import "Socket_INetSock_getPort" : unit -> C.Int.t;
-val toAddr = _import "Socket_INetSock_toAddr" : (Word8.t) vector * C.Int.t * (Word8.t) array * (C.Socklen.t) ref -> unit;
+val getPort = _import "Socket_INetSock_getPort" : unit -> C_Int.t;
+val toAddr = _import "Socket_INetSock_toAddr" : (Word8.t) vector * C_Int.t * (Word8.t) array * (C_Socklen.t) ref -> unit;
 end
-val listen = _import "Socket_listen" : C.Sock.t * C.Int.t -> (C.Int.t) C.Errno.t;
-val MSG_CTRUNC = _const "Socket_MSG_CTRUNC" : C.Int.t;
-val MSG_DONTROUTE = _const "Socket_MSG_DONTROUTE" : C.Int.t;
-val MSG_DONTWAIT = _const "Socket_MSG_DONTWAIT" : C.Int.t;
-val MSG_EOR = _const "Socket_MSG_EOR" : C.Int.t;
-val MSG_OOB = _const "Socket_MSG_OOB" : C.Int.t;
-val MSG_PEEK = _const "Socket_MSG_PEEK" : C.Int.t;
-val MSG_TRUNC = _const "Socket_MSG_TRUNC" : C.Int.t;
-val MSG_WAITALL = _const "Socket_MSG_WAITALL" : C.Int.t;
-val recv = _import "Socket_recv" : C.Sock.t * (Word8.t) array * C.Int.t * C.Size.t * C.Int.t -> (C.SSize.t) C.Errno.t;
-val recvFrom = _import "Socket_recvFrom" : C.Sock.t * (Word8.t) array * C.Int.t * C.Size.t * C.Int.t * (Word8.t) array * (C.Socklen.t) ref -> (C.SSize.t) C.Errno.t;
-val sendArr = _import "Socket_sendArr" : C.Sock.t * (Word8.t) array * C.Int.t * C.Size.t * C.Int.t -> (C.SSize.t) C.Errno.t;
-val sendArrTo = _import "Socket_sendArrTo" : C.Sock.t * (Word8.t) array * C.Int.t * C.Size.t * C.Int.t * (Word8.t) vector * C.Socklen.t -> (C.SSize.t) C.Errno.t;
-val sendVec = _import "Socket_sendVec" : C.Sock.t * (Word8.t) vector * C.Int.t * C.Size.t * C.Int.t -> (C.SSize.t) C.Errno.t;
-val sendVecTo = _import "Socket_sendVecTo" : C.Sock.t * (Word8.t) vector * C.Int.t * C.Size.t * C.Int.t * (Word8.t) vector * C.Socklen.t -> (C.SSize.t) C.Errno.t;
-val SHUT_RD = _const "Socket_SHUT_RD" : C.Int.t;
-val SHUT_RDWR = _const "Socket_SHUT_RDWR" : C.Int.t;
-val SHUT_WR = _const "Socket_SHUT_WR" : C.Int.t;
-val shutdown = _import "Socket_shutdown" : C.Sock.t * C.Int.t -> (C.Int.t) C.Errno.t;
+val listen = _import "Socket_listen" : C_Sock.t * C_Int.t -> (C_Int.t) C_Errno.t;
+val MSG_CTRUNC = _const "Socket_MSG_CTRUNC" : C_Int.t;
+val MSG_DONTROUTE = _const "Socket_MSG_DONTROUTE" : C_Int.t;
+val MSG_DONTWAIT = _const "Socket_MSG_DONTWAIT" : C_Int.t;
+val MSG_EOR = _const "Socket_MSG_EOR" : C_Int.t;
+val MSG_OOB = _const "Socket_MSG_OOB" : C_Int.t;
+val MSG_PEEK = _const "Socket_MSG_PEEK" : C_Int.t;
+val MSG_TRUNC = _const "Socket_MSG_TRUNC" : C_Int.t;
+val MSG_WAITALL = _const "Socket_MSG_WAITALL" : C_Int.t;
+val recv = _import "Socket_recv" : C_Sock.t * (Word8.t) array * C_Int.t * C_Size.t * C_Int.t -> (C_SSize.t) C_Errno.t;
+val recvFrom = _import "Socket_recvFrom" : C_Sock.t * (Word8.t) array * C_Int.t * C_Size.t * C_Int.t * (Word8.t) array * (C_Socklen.t) ref -> (C_SSize.t) C_Errno.t;
+val sendArr = _import "Socket_sendArr" : C_Sock.t * (Word8.t) array * C_Int.t * C_Size.t * C_Int.t -> (C_SSize.t) C_Errno.t;
+val sendArrTo = _import "Socket_sendArrTo" : C_Sock.t * (Word8.t) array * C_Int.t * C_Size.t * C_Int.t * (Word8.t) vector * C_Socklen.t -> (C_SSize.t) C_Errno.t;
+val sendVec = _import "Socket_sendVec" : C_Sock.t * (Word8.t) vector * C_Int.t * C_Size.t * C_Int.t -> (C_SSize.t) C_Errno.t;
+val sendVecTo = _import "Socket_sendVecTo" : C_Sock.t * (Word8.t) vector * C_Int.t * C_Size.t * C_Int.t * (Word8.t) vector * C_Socklen.t -> (C_SSize.t) C_Errno.t;
+val SHUT_RD = _const "Socket_SHUT_RD" : C_Int.t;
+val SHUT_RDWR = _const "Socket_SHUT_RDWR" : C_Int.t;
+val SHUT_WR = _const "Socket_SHUT_WR" : C_Int.t;
+val shutdown = _import "Socket_shutdown" : C_Sock.t * C_Int.t -> (C_Int.t) C_Errno.t;
 structure SOCK = 
 struct
-val DGRAM = _const "Socket_SOCK_DGRAM" : C.Int.t;
-val RAW = _const "Socket_SOCK_RAW" : C.Int.t;
-val SEQPACKET = _const "Socket_SOCK_SEQPACKET" : C.Int.t;
-val STREAM = _const "Socket_SOCK_STREAM" : C.Int.t;
+val DGRAM = _const "Socket_SOCK_DGRAM" : C_Int.t;
+val RAW = _const "Socket_SOCK_RAW" : C_Int.t;
+val SEQPACKET = _const "Socket_SOCK_SEQPACKET" : C_Int.t;
+val STREAM = _const "Socket_SOCK_STREAM" : C_Int.t;
 end
-val sockAddrStorageLen = _const "Socket_sockAddrStorageLen" : C.Size.t;
+val sockAddrStorageLen = _const "Socket_sockAddrStorageLen" : C_Size.t;
 structure UnixSock = 
 struct
-val fromAddr = _import "Socket_UnixSock_fromAddr" : (Word8.t) vector * (Char8.t) array * C.Size.t -> unit;
-val pathLen = _import "Socket_UnixSock_pathLen" : (Word8.t) vector -> C.Size.t;
-val toAddr = _import "Socket_UnixSock_toAddr" : NullString8.t * C.Size.t * (Word8.t) array * (C.Socklen.t) ref -> unit;
+val fromAddr = _import "Socket_UnixSock_fromAddr" : (Word8.t) vector * (Char8.t) array * C_Size.t -> unit;
+val pathLen = _import "Socket_UnixSock_pathLen" : (Word8.t) vector -> C_Size.t;
+val toAddr = _import "Socket_UnixSock_toAddr" : NullString8.t * C_Size.t * (Word8.t) array * (C_Socklen.t) ref -> unit;
 end
 end
 structure Stdio = 
@@ -985,16 +986,17 @@
 end
 structure Time = 
 struct
-val getTimeOfDay = _import "Time_getTimeOfDay" : unit -> C.Int.t;
-val sec = _import "Time_sec" : unit -> C.Time.t;
-val usec = _import "Time_usec" : unit -> C.SUSeconds.t;
+val getTimeOfDay = _import "Time_getTimeOfDay" : unit -> C_Int.t;
+val sec = _import "Time_sec" : unit -> C_Time.t;
+val usec = _import "Time_usec" : unit -> C_SUSeconds.t;
 end
 structure Windows = 
 struct
 structure Process = 
 struct
-val create = _import "Windows_Process_create" : NullString8.t * NullString8.t * NullString8.t * C.Fd.t * C.Fd.t * C.Fd.t -> (C.PId.t) C.Errno.t;
-val terminate = _import "Windows_Process_terminate" : C.PId.t * C.Signal.t -> (C.Int.t) C.Errno.t;
+val create = _import "Windows_Process_create" : NullString8.t * NullString8.t * NullString8.t * C_Fd.t * C_Fd.t * C_Fd.t -> (C_PId.t) C_Errno.t;
+val terminate = _import "Windows_Process_terminate" : C_PId.t * C_Signal.t -> (C_Int.t) C_Errno.t;
 end
 end
 end
+end

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/primitive/primitive.mlb
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/primitive/primitive.mlb	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/primitive/primitive.mlb	2006-02-05 05:10:42 UTC (rev 4345)
@@ -18,6 +18,7 @@
 in
    prim-basis.mlb
    ann "forceUsed" in
+      ../config/choose.sml
       ../config/c/$(TARGET_ARCH)-$(TARGET_OS)/c-types.sml
    end
    primitive.sml

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/primitive/primitive.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/primitive/primitive.sml	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/primitive/primitive.sml	2006-02-05 05:10:42 UTC (rev 4345)
@@ -720,8 +720,6 @@
             val orb = _prim "IntInf_orb": int * int * word -> int;
             val quot = _prim "IntInf_quot": int * int * word -> int;
             val rem = _prim "IntInf_rem": int * int * word -> int;
-            val smallMul =
-               _import "IntInf_smallMul": word * word * word ref -> word;
             val - = _prim "IntInf_sub": int * int * word -> int; 
             val toString
                = _prim "IntInf_toString": int * Int.int * word -> string;

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/system/io.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/system/io.sml	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/system/io.sml	2006-02-05 05:10:42 UTC (rev 4345)
@@ -132,7 +132,7 @@
                          handle Overflow => Error.raiseSys Error.inval)
           val reventss = Array.array (n, 0)
           val _ = Posix.Error.SysCall.simpleRestart
-                  (fn () => Prim.poll (fds, eventss, C.NFds.fromInt n, timeOut, reventss))
+                  (fn () => Prim.poll (fds, eventss, C_NFds.fromInt n, timeOut, reventss))
           in
             Array.foldri
             (fn (i, w, l) => 

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/system/pre-os.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/system/pre-os.sml	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/system/pre-os.sml	2006-02-05 05:10:42 UTC (rev 4345)
@@ -9,16 +9,16 @@
    struct
       structure Process =
          struct
-            type status = C.Status.t
+            type status = C_Status.t
          end
       structure IO :> sig
                          eqtype iodesc
 
-                         val fromFD: C.Fd.t -> iodesc
-                         val toFD: iodesc -> C.Fd.t
+                         val fromFD: C_Fd.t -> iodesc
+                         val toFD: iodesc -> C_Fd.t
                       end = 
                       struct
-                         type iodesc = C.Fd.t
+                         type iodesc = C_Fd.t
 
                          val fromFD = fn z => z
                          val toFD = fn z => z

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/system/time.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/system/time.sml	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/system/time.sml	2006-02-05 05:10:42 UTC (rev 4345)
@@ -71,8 +71,8 @@
       (if ~1 = Prim.getTimeOfDay ()
           then raise Fail "Time.now"
        else ()
-       ; timeAdd(fromSeconds (C.Time.toLarge (Prim.sec ())),
-                 fromMicroseconds (C.SUSeconds.toLarge (Prim.usec ()))))
+       ; timeAdd(fromSeconds (C_Time.toLarge (Prim.sec ())),
+                 fromMicroseconds (C_SUSeconds.toLarge (Prim.usec ()))))
    val prev = ref (getNow ())
 in
    fun now (): time =

Modified: mlton/branches/on-20050822-x86_64-branch/runtime/Posix/TTY-consts.c
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/Posix/TTY-consts.c	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/Posix/TTY-consts.c	2006-02-05 05:10:42 UTC (rev 4345)
@@ -14,69 +14,69 @@
 const C_Int_t Posix_TTY_V_VSUSP = VSUSP;
 const C_Int_t Posix_TTY_V_VTIME = VTIME;
 
-const C_TCFlag_t Posix_TTY_IFlags_BRKINT = BRKINT;
-const C_TCFlag_t Posix_TTY_IFlags_ICRNL = ICRNL;
-const C_TCFlag_t Posix_TTY_IFlags_IGNBRK = IGNBRK;
-const C_TCFlag_t Posix_TTY_IFlags_IGNCR = IGNCR;
-const C_TCFlag_t Posix_TTY_IFlags_IGNPAR = IGNPAR;
-const C_TCFlag_t Posix_TTY_IFlags_INLCR = INLCR;
-const C_TCFlag_t Posix_TTY_IFlags_INPCK = INPCK;
-const C_TCFlag_t Posix_TTY_IFlags_ISTRIP = ISTRIP;
-const C_TCFlag_t Posix_TTY_IFlags_IXANY = IXANY;
-const C_TCFlag_t Posix_TTY_IFlags_IXOFF = IXOFF;
-const C_TCFlag_t Posix_TTY_IFlags_IXON = IXON;
-const C_TCFlag_t Posix_TTY_IFlags_PARMRK = PARMRK;
+const C_TCFlag_t Posix_TTY_I_BRKINT = BRKINT;
+const C_TCFlag_t Posix_TTY_I_ICRNL = ICRNL;
+const C_TCFlag_t Posix_TTY_I_IGNBRK = IGNBRK;
+const C_TCFlag_t Posix_TTY_I_IGNCR = IGNCR;
+const C_TCFlag_t Posix_TTY_I_IGNPAR = IGNPAR;
+const C_TCFlag_t Posix_TTY_I_INLCR = INLCR;
+const C_TCFlag_t Posix_TTY_I_INPCK = INPCK;
+const C_TCFlag_t Posix_TTY_I_ISTRIP = ISTRIP;
+const C_TCFlag_t Posix_TTY_I_IXANY = IXANY;
+const C_TCFlag_t Posix_TTY_I_IXOFF = IXOFF;
+const C_TCFlag_t Posix_TTY_I_IXON = IXON;
+const C_TCFlag_t Posix_TTY_I_PARMRK = PARMRK;
 
-const C_TCFlag_t Posix_TTY_OFlags_OPOST = OPOST;
-const C_TCFlag_t Posix_TTY_OFlags_ONLCR = ONLCR;
-const C_TCFlag_t Posix_TTY_OFlags_OCRNL = OCRNL;
-const C_TCFlag_t Posix_TTY_OFlags_ONOCR = ONOCR;
-const C_TCFlag_t Posix_TTY_OFlags_ONLRET = ONLRET;
-const C_TCFlag_t Posix_TTY_OFlags_OFILL = OFILL;
-const C_TCFlag_t Posix_TTY_OFlags_NLDLY = NLDLY;
-const C_TCFlag_t Posix_TTY_OFlags_NL0 = NL0;
-const C_TCFlag_t Posix_TTY_OFlags_NL1 = NL1;
-const C_TCFlag_t Posix_TTY_OFlags_CRDLY = CRDLY;
-const C_TCFlag_t Posix_TTY_OFlags_CR0 = CR0;
-const C_TCFlag_t Posix_TTY_OFlags_CR1 = CR1;
-const C_TCFlag_t Posix_TTY_OFlags_CR2 = CR2;
-const C_TCFlag_t Posix_TTY_OFlags_CR3 = CR3;
-const C_TCFlag_t Posix_TTY_OFlags_TABDLY = TABDLY;
-const C_TCFlag_t Posix_TTY_OFlags_TAB0 = TAB0;
-const C_TCFlag_t Posix_TTY_OFlags_TAB1 = TAB1;
-const C_TCFlag_t Posix_TTY_OFlags_TAB2 = TAB2;
-const C_TCFlag_t Posix_TTY_OFlags_TAB3 = TAB3;
-const C_TCFlag_t Posix_TTY_OFlags_BSDLY = BSDLY;
-const C_TCFlag_t Posix_TTY_OFlags_BS0 = BS0;
-const C_TCFlag_t Posix_TTY_OFlags_BS1 = BS1;
-const C_TCFlag_t Posix_TTY_OFlags_VTDLY = VTDLY;
-const C_TCFlag_t Posix_TTY_OFlags_VT0 = VT0;
-const C_TCFlag_t Posix_TTY_OFlags_VT1 = VT1;
-const C_TCFlag_t Posix_TTY_OFlags_FFDLY = FFDLY;
-const C_TCFlag_t Posix_TTY_OFlags_FF0 = FF0;
-const C_TCFlag_t Posix_TTY_OFlags_FF1 = FF1;
+const C_TCFlag_t Posix_TTY_O_OPOST = OPOST;
+const C_TCFlag_t Posix_TTY_O_ONLCR = ONLCR;
+const C_TCFlag_t Posix_TTY_O_OCRNL = OCRNL;
+const C_TCFlag_t Posix_TTY_O_ONOCR = ONOCR;
+const C_TCFlag_t Posix_TTY_O_ONLRET = ONLRET;
+const C_TCFlag_t Posix_TTY_O_OFILL = OFILL;
+const C_TCFlag_t Posix_TTY_O_NLDLY = NLDLY;
+const C_TCFlag_t Posix_TTY_O_NL0 = NL0;
+const C_TCFlag_t Posix_TTY_O_NL1 = NL1;
+const C_TCFlag_t Posix_TTY_O_CRDLY = CRDLY;
+const C_TCFlag_t Posix_TTY_O_CR0 = CR0;
+const C_TCFlag_t Posix_TTY_O_CR1 = CR1;
+const C_TCFlag_t Posix_TTY_O_CR2 = CR2;
+const C_TCFlag_t Posix_TTY_O_CR3 = CR3;
+const C_TCFlag_t Posix_TTY_O_TABDLY = TABDLY;
+const C_TCFlag_t Posix_TTY_O_TAB0 = TAB0;
+const C_TCFlag_t Posix_TTY_O_TAB1 = TAB1;
+const C_TCFlag_t Posix_TTY_O_TAB2 = TAB2;
+const C_TCFlag_t Posix_TTY_O_TAB3 = TAB3;
+const C_TCFlag_t Posix_TTY_O_BSDLY = BSDLY;
+const C_TCFlag_t Posix_TTY_O_BS0 = BS0;
+const C_TCFlag_t Posix_TTY_O_BS1 = BS1;
+const C_TCFlag_t Posix_TTY_O_VTDLY = VTDLY;
+const C_TCFlag_t Posix_TTY_O_VT0 = VT0;
+const C_TCFlag_t Posix_TTY_O_VT1 = VT1;
+const C_TCFlag_t Posix_TTY_O_FFDLY = FFDLY;
+const C_TCFlag_t Posix_TTY_O_FF0 = FF0;
+const C_TCFlag_t Posix_TTY_O_FF1 = FF1;
 
-const C_TCFlag_t Posix_TTY_CFlags_CSIZE = CSIZE;
-const C_TCFlag_t Posix_TTY_CFlags_CS5 = CS5;
-const C_TCFlag_t Posix_TTY_CFlags_CS6 = CS6;
-const C_TCFlag_t Posix_TTY_CFlags_CS7 = CS7;
-const C_TCFlag_t Posix_TTY_CFlags_CS8 = CS8;
-const C_TCFlag_t Posix_TTY_CFlags_CSTOPB = CSTOPB;
-const C_TCFlag_t Posix_TTY_CFlags_CREAD = CREAD;
-const C_TCFlag_t Posix_TTY_CFlags_PARENB = PARENB;
-const C_TCFlag_t Posix_TTY_CFlags_PARODD = PARODD;
-const C_TCFlag_t Posix_TTY_CFlags_HUPCL = HUPCL;
-const C_TCFlag_t Posix_TTY_CFlags_CLOCAL = CLOCAL;
+const C_TCFlag_t Posix_TTY_C_CSIZE = CSIZE;
+const C_TCFlag_t Posix_TTY_C_CS5 = CS5;
+const C_TCFlag_t Posix_TTY_C_CS6 = CS6;
+const C_TCFlag_t Posix_TTY_C_CS7 = CS7;
+const C_TCFlag_t Posix_TTY_C_CS8 = CS8;
+const C_TCFlag_t Posix_TTY_C_CSTOPB = CSTOPB;
+const C_TCFlag_t Posix_TTY_C_CREAD = CREAD;
+const C_TCFlag_t Posix_TTY_C_PARENB = PARENB;
+const C_TCFlag_t Posix_TTY_C_PARODD = PARODD;
+const C_TCFlag_t Posix_TTY_C_HUPCL = HUPCL;
+const C_TCFlag_t Posix_TTY_C_CLOCAL = CLOCAL;
 
-const C_TCFlag_t Posix_TTY_LFlags_ECHO = ECHO;
-const C_TCFlag_t Posix_TTY_LFlags_ECHOE = ECHOE;
-const C_TCFlag_t Posix_TTY_LFlags_ECHOK = ECHOK;
-const C_TCFlag_t Posix_TTY_LFlags_ECHONL = ECHONL;
-const C_TCFlag_t Posix_TTY_LFlags_ICANON = ICANON;
-const C_TCFlag_t Posix_TTY_LFlags_IEXTEN = IEXTEN;
-const C_TCFlag_t Posix_TTY_LFlags_ISIG = ISIG;
-const C_TCFlag_t Posix_TTY_LFlags_NOFLSH = NOFLSH;
-const C_TCFlag_t Posix_TTY_LFlags_TOSTOP = TOSTOP;
+const C_TCFlag_t Posix_TTY_L_ECHO = ECHO;
+const C_TCFlag_t Posix_TTY_L_ECHOE = ECHOE;
+const C_TCFlag_t Posix_TTY_L_ECHOK = ECHOK;
+const C_TCFlag_t Posix_TTY_L_ECHONL = ECHONL;
+const C_TCFlag_t Posix_TTY_L_ICANON = ICANON;
+const C_TCFlag_t Posix_TTY_L_IEXTEN = IEXTEN;
+const C_TCFlag_t Posix_TTY_L_ISIG = ISIG;
+const C_TCFlag_t Posix_TTY_L_NOFLSH = NOFLSH;
+const C_TCFlag_t Posix_TTY_L_TOSTOP = TOSTOP;
 
 const C_Speed_t Posix_TTY_B0 = B0;
 const C_Speed_t Posix_TTY_B50 = B50;

Modified: mlton/branches/on-20050822-x86_64-branch/runtime/gc/int-inf.c
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/gc/int-inf.c	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/gc/int-inf.c	2006-02-05 05:10:42 UTC (rev 4345)
@@ -356,12 +356,3 @@
   sp->header = GC_STRING8_HEADER;
   return pointerToObjptr ((pointer)&sp->chars, gcState.heap.start);
 }
-
-Word32_t
-IntInf_smallMul(Word32_t lhs, Word32_t rhs, Ref(Word32_t) carry) {
-  intmax_t   prod;
-
-  prod = (intmax_t)(Int32_t)lhs * (intmax_t)(Int32_t)rhs;
-  *(Word32_t *)carry = (Word32_t)((uintmax_t)prod >> 32);
-  return ((Word32_t)(uintmax_t)prod);
-}

Modified: mlton/branches/on-20050822-x86_64-branch/runtime/gc/int-inf.h
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/gc/int-inf.h	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/gc/int-inf.h	2006-02-05 05:10:42 UTC (rev 4345)
@@ -63,6 +63,5 @@
 Int32_t IntInf_compare (objptr lhs, objptr rhs);
 Bool_t IntInf_equal (objptr lhs, objptr rhs);
 objptr IntInf_toString (objptr arg, Int32_t base, size_t bytes);
-Word32_t IntInf_smallMul (Word32_t lhs, Word32_t rhs, pointer carry);
 
 #endif /* (defined (MLTON_GC_INTERNAL_BASIS)) */

Modified: mlton/branches/on-20050822-x86_64-branch/runtime/gen/basis-ffi.def
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/gen/basis-ffi.def	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/gen/basis-ffi.def	2006-02-05 05:10:42 UTC (rev 4345)
@@ -1,810 +1,809 @@
-CommandLine.argc = _symbol : C.Int.t
-CommandLine.argv = _symbol : C.StringArray.t
-CommandLine.commandName = _symbol : C.String.t
-Date.Tm.getHour = _import : unit -> C.Int.t
-Date.Tm.getIsDst = _import : unit -> C.Int.t
-Date.Tm.getMDay = _import : unit -> C.Int.t
-Date.Tm.getMin = _import : unit -> C.Int.t
-Date.Tm.getMon = _import : unit -> C.Int.t
-Date.Tm.getSec = _import : unit -> C.Int.t
-Date.Tm.getWDay = _import : unit -> C.Int.t
-Date.Tm.getYDay = _import : unit -> C.Int.t
-Date.Tm.getYear = _import : unit -> C.Int.t
-Date.Tm.setHour = _import : C.Int.t -> unit
-Date.Tm.setIsDst = _import : C.Int.t -> unit
-Date.Tm.setMDay = _import : C.Int.t -> unit
-Date.Tm.setMin = _import : C.Int.t -> unit
-Date.Tm.setMon = _import : C.Int.t -> unit
-Date.Tm.setSec = _import : C.Int.t -> unit
-Date.Tm.setWDay = _import : C.Int.t -> unit
-Date.Tm.setYDay = _import : C.Int.t -> unit
-Date.Tm.setYear = _import : C.Int.t -> unit
-Date.gmTime = _import : C.Time.t ref -> C.Int.t C.Errno.t
-Date.localOffset = _import : unit -> C.Double.t
-Date.localTime = _import : C.Time.t ref -> C.Int.t C.Errno.t
-Date.mkTime = _import : unit -> C.Time.t C.Errno.t
-Date.strfTime = _import : Char8.t array * C.Size.t * NullString8.t -> C.Size.t
-IEEEReal.RoundingMode.FE_DOWNWARD = _const : C.Int.t
-IEEEReal.RoundingMode.FE_NOSUPPORT = _const : C.Int.t
-IEEEReal.RoundingMode.FE_TONEAREST = _const : C.Int.t
-IEEEReal.RoundingMode.FE_TOWARDZERO = _const : C.Int.t
-IEEEReal.RoundingMode.FE_UPWARD = _const : C.Int.t
-IEEEReal.getRoundingMode = _import : unit -> C.Int.t
-IEEEReal.setRoundingMode = _import : C.Int.t -> unit
-MLton.bug = _import : NullString8.t -> unit
-MLton.Itimer.PROF = _const : C.Int.t
-MLton.Itimer.REAL = _const : C.Int.t
-MLton.Itimer.VIRTUAL = _const : C.Int.t
-MLton.Itimer.set = _import : C.Int.t * C.Time.t * C.SUSeconds.t * C.Time.t * C.SUSeconds.t -> C.Int.t C.Errno.t
-MLton.Process.cwait = _import : C.PId.t * C.Status.t ref -> C.PId.t C.Errno.t
-MLton.Process.spawne = _import : NullString8.t * NullString8Array.t * NullString8Array.t -> C.Int.t C.Errno.t
-MLton.Process.spawnp = _import : NullString8.t * NullString8Array.t -> C.Int.t C.Errno.t
-MLton.Rlimit.AS = _const : C.Int.t
-MLton.Rlimit.CORE = _const : C.Int.t
-MLton.Rlimit.CPU = _const : C.Int.t
-MLton.Rlimit.DATA = _const : C.Int.t
-MLton.Rlimit.FSIZE = _const : C.Int.t
-MLton.Rlimit.INFINITY = _const : C.RLim.t
-MLton.Rlimit.NOFILE = _const : C.Int.t
-MLton.Rlimit.STACK = _const : C.Int.t
-MLton.Rlimit.get = _import : C.Int.t -> C.Int.t C.Errno.t
-MLton.Rlimit.getHard = _import : unit -> C.RLim.t
-MLton.Rlimit.getSoft = _import : unit -> C.RLim.t
-MLton.Rlimit.set = _import : C.Int.t * C.RLim.t * C.RLim.t -> C.Int.t C.Errno.t
-MLton.Rusage.children_stime_sec = _import : unit -> C.Time.t
-MLton.Rusage.children_stime_usec = _import : unit -> C.SUSeconds.t
-MLton.Rusage.children_utime_sec = _import : unit -> C.Time.t
-MLton.Rusage.children_utime_usec = _import : unit -> C.SUSeconds.t
-MLton.Rusage.gc_stime_sec = _import : unit -> C.Time.t
-MLton.Rusage.gc_stime_usec = _import : unit -> C.SUSeconds.t
-MLton.Rusage.gc_utime_sec = _import : unit -> C.Time.t
-MLton.Rusage.gc_utime_usec = _import : unit -> C.SUSeconds.t
+CommandLine.argc = _symbol : C_Int.t
+CommandLine.argv = _symbol : C_StringArray.t
+CommandLine.commandName = _symbol : C_String.t
+Date.Tm.getHour = _import : unit -> C_Int.t
+Date.Tm.getIsDst = _import : unit -> C_Int.t
+Date.Tm.getMDay = _import : unit -> C_Int.t
+Date.Tm.getMin = _import : unit -> C_Int.t
+Date.Tm.getMon = _import : unit -> C_Int.t
+Date.Tm.getSec = _import : unit -> C_Int.t
+Date.Tm.getWDay = _import : unit -> C_Int.t
+Date.Tm.getYDay = _import : unit -> C_Int.t
+Date.Tm.getYear = _import : unit -> C_Int.t
+Date.Tm.setHour = _import : C_Int.t -> unit
+Date.Tm.setIsDst = _import : C_Int.t -> unit
+Date.Tm.setMDay = _import : C_Int.t -> unit
+Date.Tm.setMin = _import : C_Int.t -> unit
+Date.Tm.setMon = _import : C_Int.t -> unit
+Date.Tm.setSec = _import : C_Int.t -> unit
+Date.Tm.setWDay = _import : C_Int.t -> unit
+Date.Tm.setYDay = _import : C_Int.t -> unit
+Date.Tm.setYear = _import : C_Int.t -> unit
+Date.gmTime = _import : C_Time.t ref -> C_Int.t C_Errno.t
+Date.localOffset = _import : unit -> C_Double.t
+Date.localTime = _import : C_Time.t ref -> C_Int.t C_Errno.t
+Date.mkTime = _import : unit -> C_Time.t C_Errno.t
+Date.strfTime = _import : Char8.t array * C_Size.t * NullString8.t -> C_Size.t
+IEEEReal.RoundingMode.FE_DOWNWARD = _const : C_Int.t
+IEEEReal.RoundingMode.FE_NOSUPPORT = _const : C_Int.t
+IEEEReal.RoundingMode.FE_TONEAREST = _const : C_Int.t
+IEEEReal.RoundingMode.FE_TOWARDZERO = _const : C_Int.t
+IEEEReal.RoundingMode.FE_UPWARD = _const : C_Int.t
+IEEEReal.getRoundingMode = _import : unit -> C_Int.t
+IEEEReal.setRoundingMode = _import : C_Int.t -> unit
+MLton.Itimer.PROF = _const : C_Int.t
+MLton.Itimer.REAL = _const : C_Int.t
+MLton.Itimer.VIRTUAL = _const : C_Int.t
+MLton.Itimer.set = _import : C_Int.t * C_Time.t * C_SUSeconds.t * C_Time.t * C_SUSeconds.t -> C_Int.t C_Errno.t
+MLton.Process.cwait = _import : C_PId.t * C_Status.t ref -> C_PId.t C_Errno.t
+MLton.Process.spawne = _import : NullString8.t * NullString8Array.t * NullString8Array.t -> C_Int.t C_Errno.t
+MLton.Process.spawnp = _import : NullString8.t * NullString8Array.t -> C_Int.t C_Errno.t
+MLton.Rlimit.AS = _const : C_Int.t
+MLton.Rlimit.CORE = _const : C_Int.t
+MLton.Rlimit.CPU = _const : C_Int.t
+MLton.Rlimit.DATA = _const : C_Int.t
+MLton.Rlimit.FSIZE = _const : C_Int.t
+MLton.Rlimit.INFINITY = _const : C_RLim.t
+MLton.Rlimit.NOFILE = _const : C_Int.t
+MLton.Rlimit.STACK = _const : C_Int.t
+MLton.Rlimit.get = _import : C_Int.t -> C_Int.t C_Errno.t
+MLton.Rlimit.getHard = _import : unit -> C_RLim.t
+MLton.Rlimit.getSoft = _import : unit -> C_RLim.t
+MLton.Rlimit.set = _import : C_Int.t * C_RLim.t * C_RLim.t -> C_Int.t C_Errno.t
+MLton.Rusage.children_stime_sec = _import : unit -> C_Time.t
+MLton.Rusage.children_stime_usec = _import : unit -> C_SUSeconds.t
+MLton.Rusage.children_utime_sec = _import : unit -> C_Time.t
+MLton.Rusage.children_utime_usec = _import : unit -> C_SUSeconds.t
+MLton.Rusage.gc_stime_sec = _import : unit -> C_Time.t
+MLton.Rusage.gc_stime_usec = _import : unit -> C_SUSeconds.t
+MLton.Rusage.gc_utime_sec = _import : unit -> C_Time.t
+MLton.Rusage.gc_utime_usec = _import : unit -> C_SUSeconds.t
 MLton.Rusage.getrusage = _import : unit -> unit
-MLton.Rusage.self_stime_sec = _import : unit -> C.Time.t
-MLton.Rusage.self_stime_usec = _import : unit -> C.SUSeconds.t
-MLton.Rusage.self_utime_sec = _import : unit -> C.Time.t
-MLton.Rusage.self_utime_usec = _import : unit -> C.SUSeconds.t
-MLton.Syslog.Facility.LOG_AUTH = _const : C.Int.t
-MLton.Syslog.Facility.LOG_CRON = _const : C.Int.t
-MLton.Syslog.Facility.LOG_DAEMON = _const : C.Int.t
-MLton.Syslog.Facility.LOG_KERN = _const : C.Int.t
-MLton.Syslog.Facility.LOG_LOCAL0 = _const : C.Int.t
-MLton.Syslog.Facility.LOG_LOCAL1 = _const : C.Int.t
-MLton.Syslog.Facility.LOG_LOCAL2 = _const : C.Int.t
-MLton.Syslog.Facility.LOG_LOCAL3 = _const : C.Int.t
-MLton.Syslog.Facility.LOG_LOCAL4 = _const : C.Int.t
-MLton.Syslog.Facility.LOG_LOCAL5 = _const : C.Int.t
-MLton.Syslog.Facility.LOG_LOCAL6 = _const : C.Int.t
-MLton.Syslog.Facility.LOG_LOCAL7 = _const : C.Int.t
-MLton.Syslog.Facility.LOG_LPR = _const : C.Int.t
-MLton.Syslog.Facility.LOG_MAIL = _const : C.Int.t
-MLton.Syslog.Facility.LOG_NEWS = _const : C.Int.t
-MLton.Syslog.Facility.LOG_USER = _const : C.Int.t
-MLton.Syslog.Facility.LOG_UUCP = _const : C.Int.t
-MLton.Syslog.Logopt.LOG_CONS = _const : C.Int.t
-MLton.Syslog.Logopt.LOG_NDELAY = _const : C.Int.t
-MLton.Syslog.Logopt.LOG_NOWAIT = _const : C.Int.t
-MLton.Syslog.Logopt.LOG_ODELAY = _const : C.Int.t
-MLton.Syslog.Logopt.LOG_PID = _const : C.Int.t
-MLton.Syslog.Severity.LOG_ALERT = _const : C.Int.t
-MLton.Syslog.Severity.LOG_CRIT = _const : C.Int.t
-MLton.Syslog.Severity.LOG_DEBUG = _const : C.Int.t
-MLton.Syslog.Severity.LOG_EMERG = _const : C.Int.t
-MLton.Syslog.Severity.LOG_ERR = _const : C.Int.t
-MLton.Syslog.Severity.LOG_INFO = _const : C.Int.t
-MLton.Syslog.Severity.LOG_NOTICE = _const : C.Int.t
-MLton.Syslog.Severity.LOG_WARNING = _const : C.Int.t
+MLton.Rusage.self_stime_sec = _import : unit -> C_Time.t
+MLton.Rusage.self_stime_usec = _import : unit -> C_SUSeconds.t
+MLton.Rusage.self_utime_sec = _import : unit -> C_Time.t
+MLton.Rusage.self_utime_usec = _import : unit -> C_SUSeconds.t
+MLton.Syslog.Facility.LOG_AUTH = _const : C_Int.t
+MLton.Syslog.Facility.LOG_CRON = _const : C_Int.t
+MLton.Syslog.Facility.LOG_DAEMON = _const : C_Int.t
+MLton.Syslog.Facility.LOG_KERN = _const : C_Int.t
+MLton.Syslog.Facility.LOG_LOCAL0 = _const : C_Int.t
+MLton.Syslog.Facility.LOG_LOCAL1 = _const : C_Int.t
+MLton.Syslog.Facility.LOG_LOCAL2 = _const : C_Int.t
+MLton.Syslog.Facility.LOG_LOCAL3 = _const : C_Int.t
+MLton.Syslog.Facility.LOG_LOCAL4 = _const : C_Int.t
+MLton.Syslog.Facility.LOG_LOCAL5 = _const : C_Int.t
+MLton.Syslog.Facility.LOG_LOCAL6 = _const : C_Int.t
+MLton.Syslog.Facility.LOG_LOCAL7 = _const : C_Int.t
+MLton.Syslog.Facility.LOG_LPR = _const : C_Int.t
+MLton.Syslog.Facility.LOG_MAIL = _const : C_Int.t
+MLton.Syslog.Facility.LOG_NEWS = _const : C_Int.t
+MLton.Syslog.Facility.LOG_USER = _const : C_Int.t
+MLton.Syslog.Facility.LOG_UUCP = _const : C_Int.t
+MLton.Syslog.Logopt.LOG_CONS = _const : C_Int.t
+MLton.Syslog.Logopt.LOG_NDELAY = _const : C_Int.t
+MLton.Syslog.Logopt.LOG_NOWAIT = _const : C_Int.t
+MLton.Syslog.Logopt.LOG_ODELAY = _const : C_Int.t
+MLton.Syslog.Logopt.LOG_PID = _const : C_Int.t
+MLton.Syslog.Severity.LOG_ALERT = _const : C_Int.t
+MLton.Syslog.Severity.LOG_CRIT = _const : C_Int.t
+MLton.Syslog.Severity.LOG_DEBUG = _const : C_Int.t
+MLton.Syslog.Severity.LOG_EMERG = _const : C_Int.t
+MLton.Syslog.Severity.LOG_ERR = _const : C_Int.t
+MLton.Syslog.Severity.LOG_INFO = _const : C_Int.t
+MLton.Syslog.Severity.LOG_NOTICE = _const : C_Int.t
+MLton.Syslog.Severity.LOG_WARNING = _const : C_Int.t
 MLton.Syslog.closelog = _import : unit -> unit
-MLton.Syslog.openlog = _import : NullString8.t * C.Int.t * C.Int.t -> unit
-MLton.Syslog.syslog = _import : C.Int.t * NullString8.t -> unit
+MLton.Syslog.openlog = _import : NullString8.t * C_Int.t * C_Int.t -> unit
+MLton.Syslog.syslog = _import : C_Int.t * NullString8.t -> unit
 Net.htonl = _import : Word32.t -> Word32.t
 Net.htons = _import : Word16.t -> Word16.t
 Net.ntohl = _import : Word32.t -> Word32.t
 Net.ntohs = _import : Word16.t -> Word16.t
-NetHostDB.INADDR_ANY = _const : C.Int.t
-NetHostDB.getByAddress = _import : Word8.t vector * C.Socklen.t -> Bool.t
+NetHostDB.INADDR_ANY = _const : C_Int.t
+NetHostDB.getByAddress = _import : Word8.t vector * C_Socklen.t -> Bool.t
 NetHostDB.getByName = _import : NullString8.t -> Bool.t
-NetHostDB.getEntryAddrType = _import : unit -> C.Int.t
-NetHostDB.getEntryAddrsN = _import : C.Int.t * Word8.t array -> unit
-NetHostDB.getEntryAddrsNum = _import : unit -> C.Int.t
-NetHostDB.getEntryAliasesN = _import : C.Int.t -> C.String.t
-NetHostDB.getEntryAliasesNum = _import : unit -> C.Int.t
-NetHostDB.getEntryLength = _import : unit -> C.Int.t
-NetHostDB.getEntryName = _import : unit -> C.String.t
-NetHostDB.getHostName = _import : Char8.t array * C.Size.t -> C.Int.t C.Errno.t
-NetHostDB.inAddrSize = _const : C.Size.t
+NetHostDB.getEntryAddrType = _import : unit -> C_Int.t
+NetHostDB.getEntryAddrsN = _import : C_Int.t * Word8.t array -> unit
+NetHostDB.getEntryAddrsNum = _import : unit -> C_Int.t
+NetHostDB.getEntryAliasesN = _import : C_Int.t -> C_String.t
+NetHostDB.getEntryAliasesNum = _import : unit -> C_Int.t
+NetHostDB.getEntryLength = _import : unit -> C_Int.t
+NetHostDB.getEntryName = _import : unit -> C_String.t
+NetHostDB.getHostName = _import : Char8.t array * C_Size.t -> C_Int.t C_Errno.t
+NetHostDB.inAddrSize = _const : C_Size.t
 NetProtDB.getByName = _import : NullString8.t -> Bool.t
-NetProtDB.getByNumber = _import : C.Int.t -> Bool.t
-NetProtDB.getEntryAliasesN = _import : C.Int.t -> C.String.t
-NetProtDB.getEntryAliasesNum = _import : unit -> C.Int.t
-NetProtDB.getEntryName = _import : unit -> C.String.t
-NetProtDB.getEntryProto = _import : unit -> C.Int.t
+NetProtDB.getByNumber = _import : C_Int.t -> Bool.t
+NetProtDB.getEntryAliasesN = _import : C_Int.t -> C_String.t
+NetProtDB.getEntryAliasesNum = _import : unit -> C_Int.t
+NetProtDB.getEntryName = _import : unit -> C_String.t
+NetProtDB.getEntryProto = _import : unit -> C_Int.t
 NetServDB.getByName = _import : NullString8.t * NullString8.t -> Bool.t
 NetServDB.getByNameNull = _import : NullString8.t -> Bool.t
-NetServDB.getByPort = _import : C.Int.t * NullString8.t -> Bool.t
-NetServDB.getByPortNull = _import : C.Int.t -> Bool.t
-NetServDB.getEntryAliasesN = _import : C.Int.t -> C.String.t
-NetServDB.getEntryAliasesNum = _import : unit -> C.Int.t
-NetServDB.getEntryName = _import : unit -> C.String.t
-NetServDB.getEntryPort = _import : unit -> C.Int.t
-NetServDB.getEntryProto = _import : unit -> C.String.t
-OS.IO.POLLIN = _const : C.Short.t
-OS.IO.POLLOUT = _const : C.Short.t
-OS.IO.POLLPRI = _const : C.Short.t
-OS.IO.poll = _import : C.Fd.t vector * C.Short.t vector * C.NFds.t * C.Int.t * C.Short.t array -> C.Int.t C.Errno.t
-Posix.Error.E2BIG = _const : C.Int.t
-Posix.Error.EACCES = _const : C.Int.t
-Posix.Error.EADDRINUSE = _const : C.Int.t
-Posix.Error.EADDRNOTAVAIL = _const : C.Int.t
-Posix.Error.EAFNOSUPPORT = _const : C.Int.t
-Posix.Error.EAGAIN = _const : C.Int.t
-Posix.Error.EALREADY = _const : C.Int.t
-Posix.Error.EBADF = _const : C.Int.t
-Posix.Error.EBADMSG = _const : C.Int.t
-Posix.Error.EBUSY = _const : C.Int.t
-Posix.Error.ECANCELED = _const : C.Int.t
-Posix.Error.ECHILD = _const : C.Int.t
-Posix.Error.ECONNABORTED = _const : C.Int.t
-Posix.Error.ECONNREFUSED = _const : C.Int.t
-Posix.Error.ECONNRESET = _const : C.Int.t
-Posix.Error.EDEADLK = _const : C.Int.t
-Posix.Error.EDESTADDRREQ = _const : C.Int.t
-Posix.Error.EDOM = _const : C.Int.t
-Posix.Error.EDQUOT = _const : C.Int.t
-Posix.Error.EEXIST = _const : C.Int.t
-Posix.Error.EFAULT = _const : C.Int.t
-Posix.Error.EFBIG = _const : C.Int.t
-Posix.Error.EHOSTUNREACH = _const : C.Int.t
-Posix.Error.EIDRM = _const : C.Int.t
-Posix.Error.EILSEQ = _const : C.Int.t
-Posix.Error.EINPROGRESS = _const : C.Int.t
-Posix.Error.EINTR = _const : C.Int.t
-Posix.Error.EINVAL = _const : C.Int.t
-Posix.Error.EIO = _const : C.Int.t
-Posix.Error.EISCONN = _const : C.Int.t
-Posix.Error.EISDIR = _const : C.Int.t
-Posix.Error.ELOOP = _const : C.Int.t
-Posix.Error.EMFILE = _const : C.Int.t
-Posix.Error.EMLINK = _const : C.Int.t
-Posix.Error.EMSGSIZE = _const : C.Int.t
-Posix.Error.EMULTIHOP = _const : C.Int.t
-Posix.Error.ENAMETOOLONG = _const : C.Int.t
-Posix.Error.ENETDOWN = _const : C.Int.t
-Posix.Error.ENETRESET = _const : C.Int.t
-Posix.Error.ENETUNREACH = _const : C.Int.t
-Posix.Error.ENFILE = _const : C.Int.t
-Posix.Error.ENOBUFS = _const : C.Int.t
-Posix.Error.ENODATA = _const : C.Int.t
-Posix.Error.ENODEV = _const : C.Int.t
-Posix.Error.ENOENT = _const : C.Int.t
-Posix.Error.ENOEXEC = _const : C.Int.t
-Posix.Error.ENOLCK = _const : C.Int.t
-Posix.Error.ENOLINK = _const : C.Int.t
-Posix.Error.ENOMEM = _const : C.Int.t
-Posix.Error.ENOMSG = _const : C.Int.t
-Posix.Error.ENOPROTOOPT = _const : C.Int.t
-Posix.Error.ENOSPC = _const : C.Int.t
-Posix.Error.ENOSR = _const : C.Int.t
-Posix.Error.ENOSTR = _const : C.Int.t
-Posix.Error.ENOSYS = _const : C.Int.t
-Posix.Error.ENOTCONN = _const : C.Int.t
-Posix.Error.ENOTDIR = _const : C.Int.t
-Posix.Error.ENOTEMPTY = _const : C.Int.t
-Posix.Error.ENOTSOCK = _const : C.Int.t
-Posix.Error.ENOTSUP = _const : C.Int.t
-Posix.Error.ENOTTY = _const : C.Int.t
-Posix.Error.ENXIO = _const : C.Int.t
-Posix.Error.EOPNOTSUPP = _const : C.Int.t
-Posix.Error.EOVERFLOW = _const : C.Int.t
-Posix.Error.EPERM = _const : C.Int.t
-Posix.Error.EPIPE = _const : C.Int.t
-Posix.Error.EPROTO = _const : C.Int.t
-Posix.Error.EPROTONOSUPPORT = _const : C.Int.t
-Posix.Error.EPROTOTYPE = _const : C.Int.t
-Posix.Error.ERANGE = _const : C.Int.t
-Posix.Error.EROFS = _const : C.Int.t
-Posix.Error.ESPIPE = _const : C.Int.t
-Posix.Error.ESRCH = _const : C.Int.t
-Posix.Error.ESTALE = _const : C.Int.t
-Posix.Error.ETIME = _const : C.Int.t
-Posix.Error.ETIMEDOUT = _const : C.Int.t
-Posix.Error.ETXTBSY = _const : C.Int.t
-Posix.Error.EWOULDBLOCK = _const : C.Int.t
-Posix.Error.EXDEV = _const : C.Int.t
+NetServDB.getByPort = _import : C_Int.t * NullString8.t -> Bool.t
+NetServDB.getByPortNull = _import : C_Int.t -> Bool.t
+NetServDB.getEntryAliasesN = _import : C_Int.t -> C_String.t
+NetServDB.getEntryAliasesNum = _import : unit -> C_Int.t
+NetServDB.getEntryName = _import : unit -> C_String.t
+NetServDB.getEntryPort = _import : unit -> C_Int.t
+NetServDB.getEntryProto = _import : unit -> C_String.t
+OS.IO.POLLIN = _const : C_Short.t
+OS.IO.POLLOUT = _const : C_Short.t
+OS.IO.POLLPRI = _const : C_Short.t
+OS.IO.poll = _import : C_Fd.t vector * C_Short.t vector * C_NFds.t * C_Int.t * C_Short.t array -> C_Int.t C_Errno.t
+Posix.Error.E2BIG = _const : C_Int.t
+Posix.Error.EACCES = _const : C_Int.t
+Posix.Error.EADDRINUSE = _const : C_Int.t
+Posix.Error.EADDRNOTAVAIL = _const : C_Int.t
+Posix.Error.EAFNOSUPPORT = _const : C_Int.t
+Posix.Error.EAGAIN = _const : C_Int.t
+Posix.Error.EALREADY = _const : C_Int.t
+Posix.Error.EBADF = _const : C_Int.t
+Posix.Error.EBADMSG = _const : C_Int.t
+Posix.Error.EBUSY = _const : C_Int.t
+Posix.Error.ECANCELED = _const : C_Int.t
+Posix.Error.ECHILD = _const : C_Int.t
+Posix.Error.ECONNABORTED = _const : C_Int.t
+Posix.Error.ECONNREFUSED = _const : C_Int.t
+Posix.Error.ECONNRESET = _const : C_Int.t
+Posix.Error.EDEADLK = _const : C_Int.t
+Posix.Error.EDESTADDRREQ = _const : C_Int.t
+Posix.Error.EDOM = _const : C_Int.t
+Posix.Error.EDQUOT = _const : C_Int.t
+Posix.Error.EEXIST = _const : C_Int.t
+Posix.Error.EFAULT = _const : C_Int.t
+Posix.Error.EFBIG = _const : C_Int.t
+Posix.Error.EHOSTUNREACH = _const : C_Int.t
+Posix.Error.EIDRM = _const : C_Int.t
+Posix.Error.EILSEQ = _const : C_Int.t
+Posix.Error.EINPROGRESS = _const : C_Int.t
+Posix.Error.EINTR = _const : C_Int.t
+Posix.Error.EINVAL = _const : C_Int.t
+Posix.Error.EIO = _const : C_Int.t
+Posix.Error.EISCONN = _const : C_Int.t
+Posix.Error.EISDIR = _const : C_Int.t
+Posix.Error.ELOOP = _const : C_Int.t
+Posix.Error.EMFILE = _const : C_Int.t
+Posix.Error.EMLINK = _const : C_Int.t
+Posix.Error.EMSGSIZE = _const : C_Int.t
+Posix.Error.EMULTIHOP = _const : C_Int.t
+Posix.Error.ENAMETOOLONG = _const : C_Int.t
+Posix.Error.ENETDOWN = _const : C_Int.t
+Posix.Error.ENETRESET = _const : C_Int.t
+Posix.Error.ENETUNREACH = _const : C_Int.t
+Posix.Error.ENFILE = _const : C_Int.t
+Posix.Error.ENOBUFS = _const : C_Int.t
+Posix.Error.ENODATA = _const : C_Int.t
+Posix.Error.ENODEV = _const : C_Int.t
+Posix.Error.ENOENT = _const : C_Int.t
+Posix.Error.ENOEXEC = _const : C_Int.t
+Posix.Error.ENOLCK = _const : C_Int.t
+Posix.Error.ENOLINK = _const : C_Int.t
+Posix.Error.ENOMEM = _const : C_Int.t
+Posix.Error.ENOMSG = _const : C_Int.t
+Posix.Error.ENOPROTOOPT = _const : C_Int.t
+Posix.Error.ENOSPC = _const : C_Int.t
+Posix.Error.ENOSR = _const : C_Int.t
+Posix.Error.ENOSTR = _const : C_Int.t
+Posix.Error.ENOSYS = _const : C_Int.t
+Posix.Error.ENOTCONN = _const : C_Int.t
+Posix.Error.ENOTDIR = _const : C_Int.t
+Posix.Error.ENOTEMPTY = _const : C_Int.t
+Posix.Error.ENOTSOCK = _const : C_Int.t
+Posix.Error.ENOTSUP = _const : C_Int.t
+Posix.Error.ENOTTY = _const : C_Int.t
+Posix.Error.ENXIO = _const : C_Int.t
+Posix.Error.EOPNOTSUPP = _const : C_Int.t
+Posix.Error.EOVERFLOW = _const : C_Int.t
+Posix.Error.EPERM = _const : C_Int.t
+Posix.Error.EPIPE = _const : C_Int.t
+Posix.Error.EPROTO = _const : C_Int.t
+Posix.Error.EPROTONOSUPPORT = _const : C_Int.t
+Posix.Error.EPROTOTYPE = _const : C_Int.t
+Posix.Error.ERANGE = _const : C_Int.t
+Posix.Error.EROFS = _const : C_Int.t
+Posix.Error.ESPIPE = _const : C_Int.t
+Posix.Error.ESRCH = _const : C_Int.t
+Posix.Error.ESTALE = _const : C_Int.t
+Posix.Error.ETIME = _const : C_Int.t
+Posix.Error.ETIMEDOUT = _const : C_Int.t
+Posix.Error.ETXTBSY = _const : C_Int.t
+Posix.Error.EWOULDBLOCK = _const : C_Int.t
+Posix.Error.EXDEV = _const : C_Int.t
 Posix.Error.clearErrno = _import : unit -> unit
-Posix.Error.getErrno = _import : unit -> C.Int.t
-Posix.Error.strError = _import : C.Int.t -> C.String.t
-Posix.FileSys.A.F_OK = _const : C.Int.t
-Posix.FileSys.A.R_OK = _const : C.Int.t
-Posix.FileSys.A.W_OK = _const : C.Int.t
-Posix.FileSys.A.X_OK = _const : C.Int.t
-Posix.FileSys.Dirstream.closeDir = _import : C.DirP.t -> C.Int.t C.Errno.t
-Posix.FileSys.Dirstream.openDir = _import : NullString8.t -> C.DirP.t C.Errno.t
-Posix.FileSys.Dirstream.readDir = _import : C.DirP.t -> C.String.t C.Errno.t
-Posix.FileSys.Dirstream.rewindDir = _import : C.DirP.t -> unit
-Posix.FileSys.O.APPEND = _const : C.Int.t
-Posix.FileSys.O.BINARY = _const : C.Int.t
-Posix.FileSys.O.CREAT = _const : C.Int.t
-Posix.FileSys.O.DSYNC = _const : C.Int.t
-Posix.FileSys.O.EXCL = _const : C.Int.t
-Posix.FileSys.O.NOCTTY = _const : C.Int.t
-Posix.FileSys.O.NONBLOCK = _const : C.Int.t
-Posix.FileSys.O.RDONLY = _const : C.Int.t
-Posix.FileSys.O.RDWR = _const : C.Int.t
-Posix.FileSys.O.RSYNC = _const : C.Int.t
-Posix.FileSys.O.SYNC = _const : C.Int.t
-Posix.FileSys.O.TEXT = _const : C.Int.t
-Posix.FileSys.O.TRUNC = _const : C.Int.t
-Posix.FileSys.O.WRONLY = _const : C.Int.t
-# Posix.FileSys.PC.2_SYMLINKS = _const : C.Int.t
-Posix.FileSys.PC.ALLOC_SIZE_MIN = _const : C.Int.t
-Posix.FileSys.PC.ASYNC_IO = _const : C.Int.t
-Posix.FileSys.PC.CHOWN_RESTRICTED = _const : C.Int.t
-Posix.FileSys.PC.FILESIZEBITS = _const : C.Int.t
-Posix.FileSys.PC.LINK_MAX = _const : C.Int.t
-Posix.FileSys.PC.MAX_CANON = _const : C.Int.t
-Posix.FileSys.PC.MAX_INPUT = _const : C.Int.t
-Posix.FileSys.PC.NAME_MAX = _const : C.Int.t
-Posix.FileSys.PC.NO_TRUNC = _const : C.Int.t
-Posix.FileSys.PC.PATH_MAX = _const : C.Int.t
-Posix.FileSys.PC.PIPE_BUF = _const : C.Int.t
-Posix.FileSys.PC.PRIO_IO = _const : C.Int.t
-Posix.FileSys.PC.REC_INCR_XFER_SIZE = _const : C.Int.t
-Posix.FileSys.PC.REC_MAX_XFER_SIZE = _const : C.Int.t
-Posix.FileSys.PC.REC_MIN_XFER_SIZE = _const : C.Int.t
-Posix.FileSys.PC.REC_XFER_ALIGN = _const : C.Int.t
-Posix.FileSys.PC.SYMLINK_MAX = _const : C.Int.t
-Posix.FileSys.PC.SYNC_IO = _const : C.Int.t
-Posix.FileSys.PC.VDISABLE = _const : C.Int.t
-Posix.FileSys.S.IFBLK = _const : C.Mode.t
-Posix.FileSys.S.IFCHR = _const : C.Mode.t
-Posix.FileSys.S.IFDIR = _const : C.Mode.t
-Posix.FileSys.S.IFIFO = _const : C.Mode.t
-Posix.FileSys.S.IFLNK = _const : C.Mode.t
-Posix.FileSys.S.IFMT = _const : C.Mode.t
-Posix.FileSys.S.IFREG = _const : C.Mode.t
-Posix.FileSys.S.IFSOCK = _const : C.Mode.t
-Posix.FileSys.S.IRGRP = _const : C.Mode.t
-Posix.FileSys.S.IROTH = _const : C.Mode.t
-Posix.FileSys.S.IRUSR = _const : C.Mode.t
-Posix.FileSys.S.IRWXG = _const : C.Mode.t
-Posix.FileSys.S.IRWXO = _const : C.Mode.t
-Posix.FileSys.S.IRWXU = _const : C.Mode.t
-Posix.FileSys.S.ISGID = _const : C.Mode.t
-Posix.FileSys.S.ISUID = _const : C.Mode.t
-Posix.FileSys.S.ISVTX = _const : C.Mode.t
-Posix.FileSys.S.IWGRP = _const : C.Mode.t
-Posix.FileSys.S.IWOTH = _const : C.Mode.t
-Posix.FileSys.S.IWUSR = _const : C.Mode.t
-Posix.FileSys.S.IXGRP = _const : C.Mode.t
-Posix.FileSys.S.IXOTH = _const : C.Mode.t
-Posix.FileSys.S.IXUSR = _const : C.Mode.t
-Posix.FileSys.ST.isBlk = _import : C.Mode.t -> Bool.t
-Posix.FileSys.ST.isChr = _import : C.Mode.t -> Bool.t
-Posix.FileSys.ST.isDir = _import : C.Mode.t -> Bool.t
-Posix.FileSys.ST.isFIFO = _import : C.Mode.t -> Bool.t
-Posix.FileSys.ST.isLink = _import : C.Mode.t -> Bool.t
-Posix.FileSys.ST.isReg = _import : C.Mode.t -> Bool.t
-Posix.FileSys.ST.isSock = _import : C.Mode.t -> Bool.t
-Posix.FileSys.Stat.fstat = _import : C.Fd.t -> C.Int.t C.Errno.t
-Posix.FileSys.Stat.getATime = _import : unit -> C.Time.t
-# Posix.FileSys.Stat.getBlkCnt = _import : unit -> C.BlkCnt.t
-# Posix.FileSys.Stat.getBlkSize = _import : unit -> C.BlkSize.t
-Posix.FileSys.Stat.getCTime = _import : unit -> C.Time.t
-Posix.FileSys.Stat.getDev = _import : unit -> C.Dev.t
-Posix.FileSys.Stat.getGId = _import : unit -> C.GId.t
-Posix.FileSys.Stat.getINo = _import : unit -> C.INo.t
-Posix.FileSys.Stat.getMTime = _import : unit -> C.Time.t
-Posix.FileSys.Stat.getMode = _import : unit -> C.Mode.t
-Posix.FileSys.Stat.getNLink = _import : unit -> C.NLink.t
-Posix.FileSys.Stat.getRDev = _import : unit -> C.Dev.t
-Posix.FileSys.Stat.getSize = _import : unit -> C.Off.t
-Posix.FileSys.Stat.getUId = _import : unit -> C.UId.t
-Posix.FileSys.Stat.lstat = _import : NullString8.t -> C.Int.t C.Errno.t
-Posix.FileSys.Stat.stat = _import : NullString8.t -> C.Int.t C.Errno.t
-Posix.FileSys.Utimbuf.setAcTime = _import : C.Time.t -> unit
-Posix.FileSys.Utimbuf.setModTime = _import : C.Time.t -> unit
-Posix.FileSys.Utimbuf.utime = _import : NullString8.t -> C.Int.t C.Errno.t
-Posix.FileSys.access = _import : NullString8.t * C.Int.t -> C.Int.t C.Errno.t
-Posix.FileSys.chdir = _import : NullString8.t -> C.Int.t C.Errno.t
-Posix.FileSys.chmod = _import : NullString8.t * C.Mode.t -> C.Int.t C.Errno.t
-Posix.FileSys.chown = _import : NullString8.t * C.UId.t * C.GId.t -> C.Int.t C.Errno.t
-Posix.FileSys.fchdir = _import : C.Fd.t -> C.Int.t C.Errno.t
-Posix.FileSys.fchmod = _import : C.Fd.t * C.Mode.t -> C.Int.t C.Errno.t
-Posix.FileSys.fchown = _import : C.Fd.t * C.UId.t * C.GId.t -> C.Int.t C.Errno.t
-Posix.FileSys.fpathconf = _import : C.Fd.t * C.Int.t -> C.Long.t C.Errno.t
-Posix.FileSys.ftruncate = _import : C.Fd.t * C.Off.t -> C.Int.t C.Errno.t
-Posix.FileSys.getcwd = _import : Char8.t array * C.Size.t -> C.String.t C.Errno.t
-Posix.FileSys.link = _import : NullString8.t * NullString8.t -> C.Int.t C.Errno.t
-Posix.FileSys.mkdir = _import : NullString8.t * C.Mode.t -> C.Int.t C.Errno.t
-Posix.FileSys.mkfifo = _import : NullString8.t * C.Mode.t -> C.Int.t C.Errno.t
-Posix.FileSys.open2 = _import : NullString8.t * C.Int.t -> C.Fd.t C.Errno.t
-Posix.FileSys.open3 = _import : NullString8.t * C.Int.t * C.Mode.t -> C.Fd.t C.Errno.t
-Posix.FileSys.pathconf = _import : NullString8.t * C.Int.t -> C.Long.t C.Errno.t
-Posix.FileSys.readlink = _import : NullString8.t * Char8.t array * C.Size.t -> C.SSize.t C.Errno.t
-Posix.FileSys.rename = _import : NullString8.t * NullString8.t -> C.Int.t C.Errno.t
-Posix.FileSys.rmdir = _import : NullString8.t -> C.Int.t C.Errno.t
-Posix.FileSys.symlink = _import : NullString8.t * NullString8.t -> C.Int.t C.Errno.t
-Posix.FileSys.truncate = _import : NullString8.t * C.Off.t -> C.Int.t C.Errno.t
-Posix.FileSys.umask = _import : C.Mode.t -> C.Mode.t
-Posix.FileSys.unlink = _import : NullString8.t -> C.Int.t C.Errno.t
-Posix.IO.FD.CLOEXEC = _const : C.Fd.t
-Posix.IO.FLock.F_GETLK = _const : C.Int.t
-Posix.IO.FLock.F_SETLK = _const : C.Int.t
-Posix.IO.FLock.F_SETLKW = _const : C.Int.t
-Posix.IO.FLock.F_RDLCK = _const : C.Short.t 
-Posix.IO.FLock.F_UNLCK = _const : C.Short.t 
-Posix.IO.FLock.F_WRLCK = _const : C.Short.t 
-Posix.IO.FLock.SEEK_CUR = _const : C.Short.t
-Posix.IO.FLock.SEEK_END= _const : C.Short.t
-Posix.IO.FLock.SEEK_SET = _const : C.Short.t
-Posix.IO.FLock.fcntl = _import : C.Fd.t * C.Int.t -> C.Int.t C.Errno.t
-Posix.IO.FLock.getLen = _import : unit -> C.Off.t
-Posix.IO.FLock.getPId = _import : unit -> C.PId.t
-Posix.IO.FLock.getStart = _import : unit -> C.Off.t
-Posix.IO.FLock.getType = _import : unit -> C.Short.t
-Posix.IO.FLock.getWhence = _import : unit -> C.Short.t
-Posix.IO.FLock.setLen = _import : C.Off.t -> unit
-Posix.IO.FLock.setPId = _import : C.PId.t -> unit
-Posix.IO.FLock.setStart = _import : C.Off.t -> unit
-Posix.IO.FLock.setType = _import : C.Short.t -> unit
-Posix.IO.FLock.setWhence = _import : C.Short.t -> unit
-Posix.IO.F_DUPFD = _const : C.Int.t
-Posix.IO.F_GETFD = _const : C.Int.t
-Posix.IO.F_GETFL = _const : C.Int.t
-Posix.IO.F_GETOWN = _const : C.Int.t
-Posix.IO.F_SETFD = _const : C.Int.t
-Posix.IO.F_SETFL = _const : C.Int.t
-Posix.IO.F_SETOWN = _const : C.Int.t
-Posix.IO.O_ACCMODE = _const : C.Int.t
-Posix.IO.SEEK_CUR = _const : C.Int.t
-Posix.IO.SEEK_END= _const : C.Int.t
-Posix.IO.SEEK_SET = _const : C.Int.t
-Posix.IO.close = _import : C.Fd.t -> C.Int.t C.Errno.t
-Posix.IO.dup = _import : C.Fd.t -> C.Fd.t C.Errno.t
-Posix.IO.dup2 = _import : C.Fd.t * C.Fd.t -> C.Fd.t C.Errno.t
-Posix.IO.fcntl2 = _import : C.Fd.t * C.Int.t -> C.Int.t C.Errno.t
-Posix.IO.fcntl3 = _import : C.Fd.t * C.Int.t * C.Int.t -> C.Int.t C.Errno.t
-Posix.IO.fsync = _import : C.Fd.t -> C.Int.t C.Errno.t
-Posix.IO.lseek = _import : C.Fd.t * C.Off.t * C.Int.t -> C.Off.t C.Errno.t
-Posix.IO.pipe = _import : C.Fd.t array -> C.Int.t C.Errno.t
-Posix.IO.readChar8 = _import : C.Fd.t * Char8.t array * C.Int.t * C.Size.t -> C.SSize.t C.Errno.t
-Posix.IO.readWord8 = _import : C.Fd.t * Word8.t array * C.Int.t * C.Size.t -> C.SSize.t C.Errno.t
-Posix.IO.setbin = _import : C.Fd.t -> unit
-Posix.IO.settext = _import : C.Fd.t -> unit
-Posix.IO.writeChar8Arr = _import : C.Fd.t * Char8.t array * C.Int.t * C.Size.t -> C.SSize.t C.Errno.t
-Posix.IO.writeChar8Vec = _import : C.Fd.t * Char8.t vector * C.Int.t * C.Size.t -> C.SSize.t C.Errno.t
-Posix.IO.writeWord8Arr = _import : C.Fd.t * Word8.t array * C.Int.t * C.Size.t -> C.SSize.t C.Errno.t
-Posix.IO.writeWord8Vec = _import : C.Fd.t * Word8.t vector * C.Int.t * C.Size.t -> C.SSize.t C.Errno.t
-Posix.ProcEnv.SC_2_CHAR_TERM = _const : C.Int.t
-Posix.ProcEnv.SC_2_C_BIND = _const : C.Int.t
-Posix.ProcEnv.SC_2_C_DEV = _const : C.Int.t
-Posix.ProcEnv.SC_2_FORT_DEV = _const : C.Int.t
-Posix.ProcEnv.SC_2_FORT_RUN = _const : C.Int.t
-Posix.ProcEnv.SC_2_LOCALEDEF = _const : C.Int.t
-Posix.ProcEnv.SC_2_PBS = _const : C.Int.t
-Posix.ProcEnv.SC_2_PBS_ACCOUNTING = _const : C.Int.t
-Posix.ProcEnv.SC_2_PBS_CHECKPOINT = _const : C.Int.t
-Posix.ProcEnv.SC_2_PBS_LOCATE = _const : C.Int.t
-Posix.ProcEnv.SC_2_PBS_MESSAGE = _const : C.Int.t
-Posix.ProcEnv.SC_2_PBS_TRACK = _const : C.Int.t
-Posix.ProcEnv.SC_2_SW_DEV = _const : C.Int.t
-Posix.ProcEnv.SC_2_UPE = _const : C.Int.t
-Posix.ProcEnv.SC_2_VERSION = _const : C.Int.t
-Posix.ProcEnv.SC_ADVISORY_INFO = _const : C.Int.t
-Posix.ProcEnv.SC_AIO_LISTIO_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_AIO_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_AIO_PRIO_DELTA_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_ARG_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_ASYNCHRONOUS_IO = _const : C.Int.t
-Posix.ProcEnv.SC_ATEXIT_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_BARRIERS = _const : C.Int.t
-Posix.ProcEnv.SC_BC_BASE_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_BC_DIM_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_BC_SCALE_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_BC_STRING_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_CHILD_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_CLK_TCK = _const : C.Int.t
-Posix.ProcEnv.SC_CLOCK_SELECTION = _const : C.Int.t
-Posix.ProcEnv.SC_COLL_WEIGHTS_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_CPUTIME = _const : C.Int.t
-Posix.ProcEnv.SC_DELAYTIMER_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_EXPR_NEST_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_FSYNC = _const : C.Int.t
-Posix.ProcEnv.SC_GETGR_R_SIZE_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_GETPW_R_SIZE_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_HOST_NAME_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_IOV_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_IPV6 = _const : C.Int.t
-Posix.ProcEnv.SC_JOB_CONTROL = _const : C.Int.t
-Posix.ProcEnv.SC_LINE_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_LOGIN_NAME_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_MAPPED_FILES = _const : C.Int.t
-Posix.ProcEnv.SC_MEMLOCK = _const : C.Int.t
-Posix.ProcEnv.SC_MEMLOCK_RANGE = _const : C.Int.t
-Posix.ProcEnv.SC_MEMORY_PROTECTION = _const : C.Int.t
-Posix.ProcEnv.SC_MESSAGE_PASSING = _const : C.Int.t
-Posix.ProcEnv.SC_MONOTONIC_CLOCK = _const : C.Int.t
-Posix.ProcEnv.SC_MQ_OPEN_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_MQ_PRIO_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_NGROUPS_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_OPEN_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_PAGESIZE = _const : C.Int.t
-Posix.ProcEnv.SC_PAGE_SIZE = _const : C.Int.t
-Posix.ProcEnv.SC_PRIORITIZED_IO = _const : C.Int.t
-Posix.ProcEnv.SC_PRIORITY_SCHEDULING = _const : C.Int.t
-Posix.ProcEnv.SC_RAW_SOCKETS = _const : C.Int.t
-Posix.ProcEnv.SC_READER_WRITER_LOCKS = _const : C.Int.t
-Posix.ProcEnv.SC_REALTIME_SIGNALS = _const : C.Int.t
-Posix.ProcEnv.SC_REGEXP = _const : C.Int.t
-Posix.ProcEnv.SC_RE_DUP_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_RTSIG_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_SAVED_IDS = _const : C.Int.t
-Posix.ProcEnv.SC_SEMAPHORES = _const : C.Int.t
-Posix.ProcEnv.SC_SEM_NSEMS_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_SEM_VALUE_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_SHARED_MEMORY_OBJECTS = _const : C.Int.t
-Posix.ProcEnv.SC_SHELL = _const : C.Int.t
-Posix.ProcEnv.SC_SIGQUEUE_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_SPAWN = _const : C.Int.t
-Posix.ProcEnv.SC_SPIN_LOCKS = _const : C.Int.t
-Posix.ProcEnv.SC_SPORADIC_SERVER = _const : C.Int.t
-Posix.ProcEnv.SC_SS_REPL_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_STREAM_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_SYMLOOP_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_SYNCHRONIZED_IO = _const : C.Int.t
-Posix.ProcEnv.SC_THREADS = _const : C.Int.t
-Posix.ProcEnv.SC_THREAD_ATTR_STACKADDR = _const : C.Int.t
-Posix.ProcEnv.SC_THREAD_ATTR_STACKSIZE = _const : C.Int.t
-Posix.ProcEnv.SC_THREAD_CPUTIME = _const : C.Int.t
-Posix.ProcEnv.SC_THREAD_DESTRUCTOR_ITERATIONS = _const : C.Int.t
-Posix.ProcEnv.SC_THREAD_KEYS_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_THREAD_PRIORITY_SCHEDULING = _const : C.Int.t
-Posix.ProcEnv.SC_THREAD_PRIO_INHERIT = _const : C.Int.t
-Posix.ProcEnv.SC_THREAD_PRIO_PROTECT = _const : C.Int.t
-Posix.ProcEnv.SC_THREAD_PROCESS_SHARED = _const : C.Int.t
-Posix.ProcEnv.SC_THREAD_SAFE_FUNCTIONS = _const : C.Int.t
-Posix.ProcEnv.SC_THREAD_SPORADIC_SERVER = _const : C.Int.t
-Posix.ProcEnv.SC_THREAD_STACK_MIN = _const : C.Int.t
-Posix.ProcEnv.SC_THREAD_THREADS_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_TIMEOUTS = _const : C.Int.t
-Posix.ProcEnv.SC_TIMERS = _const : C.Int.t
-Posix.ProcEnv.SC_TIMER_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_TRACE = _const : C.Int.t
-Posix.ProcEnv.SC_TRACE_EVENT_FILTER = _const : C.Int.t
-Posix.ProcEnv.SC_TRACE_EVENT_NAME_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_TRACE_INHERIT = _const : C.Int.t
-Posix.ProcEnv.SC_TRACE_LOG = _const : C.Int.t
-Posix.ProcEnv.SC_TRACE_NAME_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_TRACE_SYS_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_TRACE_USER_EVENT_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_TTY_NAME_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_TYPED_MEMORY_OBJECTS = _const : C.Int.t
-Posix.ProcEnv.SC_TZNAME_MAX = _const : C.Int.t
-Posix.ProcEnv.SC_V6_ILP32_OFF32 = _const : C.Int.t
-Posix.ProcEnv.SC_V6_ILP32_OFFBIG = _const : C.Int.t
-Posix.ProcEnv.SC_V6_LP64_OFF64 = _const : C.Int.t
-Posix.ProcEnv.SC_V6_LPBIG_OFFBIG = _const : C.Int.t
-Posix.ProcEnv.SC_VERSION = _const : C.Int.t
-Posix.ProcEnv.SC_XBS5_ILP32_OFF32 = _const : C.Int.t
-Posix.ProcEnv.SC_XBS5_ILP32_OFFBIG = _const : C.Int.t
-Posix.ProcEnv.SC_XBS5_LP64_OFF64 = _const : C.Int.t
-Posix.ProcEnv.SC_XBS5_LPBIG_OFFBIG = _const : C.Int.t
-Posix.ProcEnv.SC_XOPEN_CRYPT = _const : C.Int.t
-Posix.ProcEnv.SC_XOPEN_ENH_I18N = _const : C.Int.t
-Posix.ProcEnv.SC_XOPEN_LEGACY = _const : C.Int.t
-Posix.ProcEnv.SC_XOPEN_REALTIME = _const : C.Int.t
-Posix.ProcEnv.SC_XOPEN_REALTIME_THREADS = _const : C.Int.t
-Posix.ProcEnv.SC_XOPEN_SHM = _const : C.Int.t
-Posix.ProcEnv.SC_XOPEN_STREAMS = _const : C.Int.t
-Posix.ProcEnv.SC_XOPEN_UNIX = _const : C.Int.t
-Posix.ProcEnv.SC_XOPEN_VERSION = _const : C.Int.t
-Posix.ProcEnv.Times.getCSTime = _import : unit -> C.Clock.t
-Posix.ProcEnv.Times.getCUTime = _import : unit -> C.Clock.t
-Posix.ProcEnv.Times.getSTime = _import : unit -> C.Clock.t
-Posix.ProcEnv.Times.getUTime = _import : unit -> C.Clock.t
-Posix.ProcEnv.Uname.getMachine = _import : unit -> C.String.t
-Posix.ProcEnv.Uname.getNodeName = _import : unit -> C.String.t
-Posix.ProcEnv.Uname.getRelease = _import : unit -> C.String.t
-Posix.ProcEnv.Uname.getSysName = _import : unit -> C.String.t
-Posix.ProcEnv.Uname.getVersion = _import : unit -> C.String.t
-Posix.ProcEnv.ctermid = _import : unit -> C.String.t
-Posix.ProcEnv.environ = _symbol : C.StringArray.t
-Posix.ProcEnv.getegid = _import : unit -> C.GId.t
-Posix.ProcEnv.getenv = _import : NullString8.t -> C.String.t
-Posix.ProcEnv.geteuid = _import : unit -> C.UId.t
-Posix.ProcEnv.getgid = _import : unit -> C.GId.t
-Posix.ProcEnv.getgroups = _import : C.Int.t * C.GId.t array -> C.Int.t C.Errno.t
-Posix.ProcEnv.getgroupsN = _import : unit -> C.Int.t
-Posix.ProcEnv.getlogin = _import : unit -> C.String.t C.Errno.t
-Posix.ProcEnv.getpgrp = _import : unit -> C.PId.t
-Posix.ProcEnv.getpid = _import : unit -> C.PId.t
-Posix.ProcEnv.getppid = _import : unit -> C.PId.t
-Posix.ProcEnv.getuid = _import : unit -> C.UId.t
-Posix.ProcEnv.isatty = _import : C.Fd.t -> Bool.t
-Posix.ProcEnv.setenv = _import : NullString8.t * NullString8.t -> C.Int.t C.Errno.t
-Posix.ProcEnv.setgid = _import : C.GId.t -> C.Int.t C.Errno.t
-Posix.ProcEnv.setgroups = _import : C.Int.t * C.GId.t vector -> C.Int.t C.Errno.t
-Posix.ProcEnv.setpgid = _import : C.PId.t * C.PId.t -> C.Int.t C.Errno.t
-Posix.ProcEnv.setsid = _import : unit -> C.PId.t C.Errno.t
-Posix.ProcEnv.setuid = _import : C.UId.t -> C.Int.t C.Errno.t
-Posix.ProcEnv.sysconf = _import : C.Int.t -> C.Long.t C.Errno.t
-Posix.ProcEnv.times = _import : unit -> C.Clock.t C.Errno.t
-Posix.ProcEnv.ttyname = _import : C.Fd.t -> C.String.t C.Errno.t
-Posix.ProcEnv.uname = _import : unit -> C.Int.t C.Errno.t
-Posix.Process.W.CONTINUED = _const : C.Int.t
-Posix.Process.W.NOHANG = _const : C.Int.t
-Posix.Process.W.UNTRACED = _const : C.Int.t
-Posix.Process.alarm = _import : C.UInt.t -> C.UInt.t
-Posix.Process.exece = _import : NullString8.t * NullString8Array.t * NullString8Array.t -> C.Int.t C.Errno.t
-Posix.Process.execp = _import : NullString8.t * NullString8Array.t -> C.Int.t C.Errno.t
-Posix.Process.exit = _import : C.Status.t -> unit
-Posix.Process.exitStatus = _import : C.Status.t -> C.Int.t
-Posix.Process.fork = _import : unit -> C.PId.t C.Errno.t
-Posix.Process.ifExited = _import : C.Status.t -> Bool.t
-Posix.Process.ifSignaled = _import : C.Status.t -> Bool.t
-Posix.Process.ifStopped = _import : C.Status.t -> Bool.t
-Posix.Process.kill = _import : C.PId.t * C.Signal.t -> C.Int.t C.Errno.t
-Posix.Process.nanosleep = _import : C.Time.t ref * C.Long.t ref -> C.Int.t C.Errno.t
-Posix.Process.pause = _import : unit -> C.Int.t C.Errno.t
-Posix.Process.sleep = _import : C.UInt.t -> C.UInt.t
-Posix.Process.stopSig = _import : C.Status.t -> C.Signal.t
-Posix.Process.system = _import : NullString8.t -> C.Status.t C.Errno.t
-Posix.Process.termSig = _import : C.Status.t -> C.Signal.t
-Posix.Process.waitpid = _import : C.PId.t * C.Int.t ref * C.Int.t -> C.PId.t C.Errno.t
-Posix.Signal.NSIG = _const : C.Int.t
-Posix.Signal.SIGABRT = _const : C.Signal.t
-Posix.Signal.SIGALRM = _const : C.Signal.t
-Posix.Signal.SIGBUS = _const : C.Signal.t
-Posix.Signal.SIGCHLD = _const : C.Signal.t
-Posix.Signal.SIGCONT = _const : C.Signal.t
-Posix.Signal.SIGFPE = _const : C.Signal.t
-Posix.Signal.SIGHUP = _const : C.Signal.t
-Posix.Signal.SIGILL = _const : C.Signal.t
-Posix.Signal.SIGINT = _const : C.Signal.t
-Posix.Signal.SIGKILL = _const : C.Signal.t
-Posix.Signal.SIGPIPE = _const : C.Signal.t
-Posix.Signal.SIGPOLL = _const : C.Signal.t
-Posix.Signal.SIGPROF = _const : C.Signal.t
-Posix.Signal.SIGQUIT = _const : C.Signal.t
-Posix.Signal.SIGSEGV = _const : C.Signal.t
-Posix.Signal.SIGSTOP = _const : C.Signal.t
-Posix.Signal.SIGSYS = _const : C.Signal.t
-Posix.Signal.SIGTERM = _const : C.Signal.t
-Posix.Signal.SIGTRAP = _const : C.Signal.t
-Posix.Signal.SIGTSTP = _const : C.Signal.t
-Posix.Signal.SIGTTIN = _const : C.Signal.t
-Posix.Signal.SIGTTOU = _const : C.Signal.t
-Posix.Signal.SIGURG = _const : C.Signal.t
-Posix.Signal.SIGUSR1 = _const : C.Signal.t
-Posix.Signal.SIGUSR2 = _const : C.Signal.t
-Posix.Signal.SIGVTALRM = _const : C.Signal.t
-Posix.Signal.SIGXCPU = _const : C.Signal.t
-Posix.Signal.SIGXFSZ = _const : C.Signal.t
-Posix.Signal.SIG_BLOCK = _const : C.Int.t
-Posix.Signal.SIG_SETMASK = _const : C.Int.t
-Posix.Signal.SIG_UNBLOCK = _const : C.Int.t
-Posix.Signal.default = _import : C.Signal.t -> C.Int.t C.Errno.t
+Posix.Error.getErrno = _import : unit -> C_Int.t
+Posix.Error.strError = _import : C_Int.t -> C_String.t
+Posix.FileSys.A.F_OK = _const : C_Int.t
+Posix.FileSys.A.R_OK = _const : C_Int.t
+Posix.FileSys.A.W_OK = _const : C_Int.t
+Posix.FileSys.A.X_OK = _const : C_Int.t
+Posix.FileSys.Dirstream.closeDir = _import : C_DirP.t -> C_Int.t C_Errno.t
+Posix.FileSys.Dirstream.openDir = _import : NullString8.t -> C_DirP.t C_Errno.t
+Posix.FileSys.Dirstream.readDir = _import : C_DirP.t -> C_String.t C_Errno.t
+Posix.FileSys.Dirstream.rewindDir = _import : C_DirP.t -> unit
+Posix.FileSys.O.APPEND = _const : C_Int.t
+Posix.FileSys.O.BINARY = _const : C_Int.t
+Posix.FileSys.O.CREAT = _const : C_Int.t
+Posix.FileSys.O.DSYNC = _const : C_Int.t
+Posix.FileSys.O.EXCL = _const : C_Int.t
+Posix.FileSys.O.NOCTTY = _const : C_Int.t
+Posix.FileSys.O.NONBLOCK = _const : C_Int.t
+Posix.FileSys.O.RDONLY = _const : C_Int.t
+Posix.FileSys.O.RDWR = _const : C_Int.t
+Posix.FileSys.O.RSYNC = _const : C_Int.t
+Posix.FileSys.O.SYNC = _const : C_Int.t
+Posix.FileSys.O.TEXT = _const : C_Int.t
+Posix.FileSys.O.TRUNC = _const : C_Int.t
+Posix.FileSys.O.WRONLY = _const : C_Int.t
+# Posix.FileSys.PC.2_SYMLINKS = _const : C_Int.t
+Posix.FileSys.PC.ALLOC_SIZE_MIN = _const : C_Int.t
+Posix.FileSys.PC.ASYNC_IO = _const : C_Int.t
+Posix.FileSys.PC.CHOWN_RESTRICTED = _const : C_Int.t
+Posix.FileSys.PC.FILESIZEBITS = _const : C_Int.t
+Posix.FileSys.PC.LINK_MAX = _const : C_Int.t
+Posix.FileSys.PC.MAX_CANON = _const : C_Int.t
+Posix.FileSys.PC.MAX_INPUT = _const : C_Int.t
+Posix.FileSys.PC.NAME_MAX = _const : C_Int.t
+Posix.FileSys.PC.NO_TRUNC = _const : C_Int.t
+Posix.FileSys.PC.PATH_MAX = _const : C_Int.t
+Posix.FileSys.PC.PIPE_BUF = _const : C_Int.t
+Posix.FileSys.PC.PRIO_IO = _const : C_Int.t
+Posix.FileSys.PC.REC_INCR_XFER_SIZE = _const : C_Int.t
+Posix.FileSys.PC.REC_MAX_XFER_SIZE = _const : C_Int.t
+Posix.FileSys.PC.REC_MIN_XFER_SIZE = _const : C_Int.t
+Posix.FileSys.PC.REC_XFER_ALIGN = _const : C_Int.t
+Posix.FileSys.PC.SYMLINK_MAX = _const : C_Int.t
+Posix.FileSys.PC.SYNC_IO = _const : C_Int.t
+Posix.FileSys.PC.VDISABLE = _const : C_Int.t
+Posix.FileSys.S.IFBLK = _const : C_Mode.t
+Posix.FileSys.S.IFCHR = _const : C_Mode.t
+Posix.FileSys.S.IFDIR = _const : C_Mode.t
+Posix.FileSys.S.IFIFO = _const : C_Mode.t
+Posix.FileSys.S.IFLNK = _const : C_Mode.t
+Posix.FileSys.S.IFMT = _const : C_Mode.t
+Posix.FileSys.S.IFREG = _const : C_Mode.t
+Posix.FileSys.S.IFSOCK = _const : C_Mode.t
+Posix.FileSys.S.IRGRP = _const : C_Mode.t
+Posix.FileSys.S.IROTH = _const : C_Mode.t
+Posix.FileSys.S.IRUSR = _const : C_Mode.t
+Posix.FileSys.S.IRWXG = _const : C_Mode.t
+Posix.FileSys.S.IRWXO = _const : C_Mode.t
+Posix.FileSys.S.IRWXU = _const : C_Mode.t
+Posix.FileSys.S.ISGID = _const : C_Mode.t
+Posix.FileSys.S.ISUID = _const : C_Mode.t
+Posix.FileSys.S.ISVTX = _const : C_Mode.t
+Posix.FileSys.S.IWGRP = _const : C_Mode.t
+Posix.FileSys.S.IWOTH = _const : C_Mode.t
+Posix.FileSys.S.IWUSR = _const : C_Mode.t
+Posix.FileSys.S.IXGRP = _const : C_Mode.t
+Posix.FileSys.S.IXOTH = _const : C_Mode.t
+Posix.FileSys.S.IXUSR = _const : C_Mode.t
+Posix.FileSys.ST.isBlk = _import : C_Mode.t -> Bool.t
+Posix.FileSys.ST.isChr = _import : C_Mode.t -> Bool.t
+Posix.FileSys.ST.isDir = _import : C_Mode.t -> Bool.t
+Posix.FileSys.ST.isFIFO = _import : C_Mode.t -> Bool.t
+Posix.FileSys.ST.isLink = _import : C_Mode.t -> Bool.t
+Posix.FileSys.ST.isReg = _import : C_Mode.t -> Bool.t
+Posix.FileSys.ST.isSock = _import : C_Mode.t -> Bool.t
+Posix.FileSys.Stat.fstat = _import : C_Fd.t -> C_Int.t C_Errno.t
+Posix.FileSys.Stat.getATime = _import : unit -> C_Time.t
+# Posix.FileSys.Stat.getBlkCnt = _import : unit -> C_BlkCnt.t
+# Posix.FileSys.Stat.getBlkSize = _import : unit -> C_BlkSize.t
+Posix.FileSys.Stat.getCTime = _import : unit -> C_Time.t
+Posix.FileSys.Stat.getDev = _import : unit -> C_Dev.t
+Posix.FileSys.Stat.getGId = _import : unit -> C_GId.t
+Posix.FileSys.Stat.getINo = _import : unit -> C_INo.t
+Posix.FileSys.Stat.getMTime = _import : unit -> C_Time.t
+Posix.FileSys.Stat.getMode = _import : unit -> C_Mode.t
+Posix.FileSys.Stat.getNLink = _import : unit -> C_NLink.t
+Posix.FileSys.Stat.getRDev = _import : unit -> C_Dev.t
+Posix.FileSys.Stat.getSize = _import : unit -> C_Off.t
+Posix.FileSys.Stat.getUId = _import : unit -> C_UId.t
+Posix.FileSys.Stat.lstat = _import : NullString8.t -> C_Int.t C_Errno.t
+Posix.FileSys.Stat.stat = _import : NullString8.t -> C_Int.t C_Errno.t
+Posix.FileSys.Utimbuf.setAcTime = _import : C_Time.t -> unit
+Posix.FileSys.Utimbuf.setModTime = _import : C_Time.t -> unit
+Posix.FileSys.Utimbuf.utime = _import : NullString8.t -> C_Int.t C_Errno.t
+Posix.FileSys.access = _import : NullString8.t * C_Int.t -> C_Int.t C_Errno.t
+Posix.FileSys.chdir = _import : NullString8.t -> C_Int.t C_Errno.t
+Posix.FileSys.chmod = _import : NullString8.t * C_Mode.t -> C_Int.t C_Errno.t
+Posix.FileSys.chown = _import : NullString8.t * C_UId.t * C_GId.t -> C_Int.t C_Errno.t
+Posix.FileSys.fchdir = _import : C_Fd.t -> C_Int.t C_Errno.t
+Posix.FileSys.fchmod = _import : C_Fd.t * C_Mode.t -> C_Int.t C_Errno.t
+Posix.FileSys.fchown = _import : C_Fd.t * C_UId.t * C_GId.t -> C_Int.t C_Errno.t
+Posix.FileSys.fpathconf = _import : C_Fd.t * C_Int.t -> C_Long.t C_Errno.t
+Posix.FileSys.ftruncate = _import : C_Fd.t * C_Off.t -> C_Int.t C_Errno.t
+Posix.FileSys.getcwd = _import : Char8.t array * C_Size.t -> C_String.t C_Errno.t
+Posix.FileSys.link = _import : NullString8.t * NullString8.t -> C_Int.t C_Errno.t
+Posix.FileSys.mkdir = _import : NullString8.t * C_Mode.t -> C_Int.t C_Errno.t
+Posix.FileSys.mkfifo = _import : NullString8.t * C_Mode.t -> C_Int.t C_Errno.t
+Posix.FileSys.open2 = _import : NullString8.t * C_Int.t -> C_Fd.t C_Errno.t
+Posix.FileSys.open3 = _import : NullString8.t * C_Int.t * C_Mode.t -> C_Fd.t C_Errno.t
+Posix.FileSys.pathconf = _import : NullString8.t * C_Int.t -> C_Long.t C_Errno.t
+Posix.FileSys.readlink = _import : NullString8.t * Char8.t array * C_Size.t -> C_SSize.t C_Errno.t
+Posix.FileSys.rename = _import : NullString8.t * NullString8.t -> C_Int.t C_Errno.t
+Posix.FileSys.rmdir = _import : NullString8.t -> C_Int.t C_Errno.t
+Posix.FileSys.symlink = _import : NullString8.t * NullString8.t -> C_Int.t C_Errno.t
+Posix.FileSys.truncate = _import : NullString8.t * C_Off.t -> C_Int.t C_Errno.t
+Posix.FileSys.umask = _import : C_Mode.t -> C_Mode.t
+Posix.FileSys.unlink = _import : NullString8.t -> C_Int.t C_Errno.t
+Posix.IO.FD.CLOEXEC = _const : C_Fd.t
+Posix.IO.FLock.F_GETLK = _const : C_Int.t
+Posix.IO.FLock.F_SETLK = _const : C_Int.t
+Posix.IO.FLock.F_SETLKW = _const : C_Int.t
+Posix.IO.FLock.F_RDLCK = _const : C_Short.t 
+Posix.IO.FLock.F_UNLCK = _const : C_Short.t 
+Posix.IO.FLock.F_WRLCK = _const : C_Short.t 
+Posix.IO.FLock.SEEK_CUR = _const : C_Short.t
+Posix.IO.FLock.SEEK_END= _const : C_Short.t
+Posix.IO.FLock.SEEK_SET = _const : C_Short.t
+Posix.IO.FLock.fcntl = _import : C_Fd.t * C_Int.t -> C_Int.t C_Errno.t
+Posix.IO.FLock.getLen = _import : unit -> C_Off.t
+Posix.IO.FLock.getPId = _import : unit -> C_PId.t
+Posix.IO.FLock.getStart = _import : unit -> C_Off.t
+Posix.IO.FLock.getType = _import : unit -> C_Short.t
+Posix.IO.FLock.getWhence = _import : unit -> C_Short.t
+Posix.IO.FLock.setLen = _import : C_Off.t -> unit
+Posix.IO.FLock.setPId = _import : C_PId.t -> unit
+Posix.IO.FLock.setStart = _import : C_Off.t -> unit
+Posix.IO.FLock.setType = _import : C_Short.t -> unit
+Posix.IO.FLock.setWhence = _import : C_Short.t -> unit
+Posix.IO.F_DUPFD = _const : C_Int.t
+Posix.IO.F_GETFD = _const : C_Int.t
+Posix.IO.F_GETFL = _const : C_Int.t
+Posix.IO.F_GETOWN = _const : C_Int.t
+Posix.IO.F_SETFD = _const : C_Int.t
+Posix.IO.F_SETFL = _const : C_Int.t
+Posix.IO.F_SETOWN = _const : C_Int.t
+Posix.IO.O_ACCMODE = _const : C_Int.t
+Posix.IO.SEEK_CUR = _const : C_Int.t
+Posix.IO.SEEK_END= _const : C_Int.t
+Posix.IO.SEEK_SET = _const : C_Int.t
+Posix.IO.close = _import : C_Fd.t -> C_Int.t C_Errno.t
+Posix.IO.dup = _import : C_Fd.t -> C_Fd.t C_Errno.t
+Posix.IO.dup2 = _import : C_Fd.t * C_Fd.t -> C_Fd.t C_Errno.t
+Posix.IO.fcntl2 = _import : C_Fd.t * C_Int.t -> C_Int.t C_Errno.t
+Posix.IO.fcntl3 = _import : C_Fd.t * C_Int.t * C_Int.t -> C_Int.t C_Errno.t
+Posix.IO.fsync = _import : C_Fd.t -> C_Int.t C_Errno.t
+Posix.IO.lseek = _import : C_Fd.t * C_Off.t * C_Int.t -> C_Off.t C_Errno.t
+Posix.IO.pipe = _import : C_Fd.t array -> C_Int.t C_Errno.t
+Posix.IO.readChar8 = _import : C_Fd.t * Char8.t array * C_Int.t * C_Size.t -> C_SSize.t C_Errno.t
+Posix.IO.readWord8 = _import : C_Fd.t * Word8.t array * C_Int.t * C_Size.t -> C_SSize.t C_Errno.t
+Posix.IO.setbin = _import : C_Fd.t -> unit
+Posix.IO.settext = _import : C_Fd.t -> unit
+Posix.IO.writeChar8Arr = _import : C_Fd.t * Char8.t array * C_Int.t * C_Size.t -> C_SSize.t C_Errno.t
+Posix.IO.writeChar8Vec = _import : C_Fd.t * Char8.t vector * C_Int.t * C_Size.t -> C_SSize.t C_Errno.t
+Posix.IO.writeWord8Arr = _import : C_Fd.t * Word8.t array * C_Int.t * C_Size.t -> C_SSize.t C_Errno.t
+Posix.IO.writeWord8Vec = _import : C_Fd.t * Word8.t vector * C_Int.t * C_Size.t -> C_SSize.t C_Errno.t
+Posix.ProcEnv.SC_2_CHAR_TERM = _const : C_Int.t
+Posix.ProcEnv.SC_2_C_BIND = _const : C_Int.t
+Posix.ProcEnv.SC_2_C_DEV = _const : C_Int.t
+Posix.ProcEnv.SC_2_FORT_DEV = _const : C_Int.t
+Posix.ProcEnv.SC_2_FORT_RUN = _const : C_Int.t
+Posix.ProcEnv.SC_2_LOCALEDEF = _const : C_Int.t
+Posix.ProcEnv.SC_2_PBS = _const : C_Int.t
+Posix.ProcEnv.SC_2_PBS_ACCOUNTING = _const : C_Int.t
+Posix.ProcEnv.SC_2_PBS_CHECKPOINT = _const : C_Int.t
+Posix.ProcEnv.SC_2_PBS_LOCATE = _const : C_Int.t
+Posix.ProcEnv.SC_2_PBS_MESSAGE = _const : C_Int.t
+Posix.ProcEnv.SC_2_PBS_TRACK = _const : C_Int.t
+Posix.ProcEnv.SC_2_SW_DEV = _const : C_Int.t
+Posix.ProcEnv.SC_2_UPE = _const : C_Int.t
+Posix.ProcEnv.SC_2_VERSION = _const : C_Int.t
+Posix.ProcEnv.SC_ADVISORY_INFO = _const : C_Int.t
+Posix.ProcEnv.SC_AIO_LISTIO_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_AIO_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_AIO_PRIO_DELTA_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_ARG_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_ASYNCHRONOUS_IO = _const : C_Int.t
+Posix.ProcEnv.SC_ATEXIT_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_BARRIERS = _const : C_Int.t
+Posix.ProcEnv.SC_BC_BASE_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_BC_DIM_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_BC_SCALE_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_BC_STRING_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_CHILD_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_CLK_TCK = _const : C_Int.t
+Posix.ProcEnv.SC_CLOCK_SELECTION = _const : C_Int.t
+Posix.ProcEnv.SC_COLL_WEIGHTS_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_CPUTIME = _const : C_Int.t
+Posix.ProcEnv.SC_DELAYTIMER_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_EXPR_NEST_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_FSYNC = _const : C_Int.t
+Posix.ProcEnv.SC_GETGR_R_SIZE_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_GETPW_R_SIZE_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_HOST_NAME_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_IOV_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_IPV6 = _const : C_Int.t
+Posix.ProcEnv.SC_JOB_CONTROL = _const : C_Int.t
+Posix.ProcEnv.SC_LINE_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_LOGIN_NAME_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_MAPPED_FILES = _const : C_Int.t
+Posix.ProcEnv.SC_MEMLOCK = _const : C_Int.t
+Posix.ProcEnv.SC_MEMLOCK_RANGE = _const : C_Int.t
+Posix.ProcEnv.SC_MEMORY_PROTECTION = _const : C_Int.t
+Posix.ProcEnv.SC_MESSAGE_PASSING = _const : C_Int.t
+Posix.ProcEnv.SC_MONOTONIC_CLOCK = _const : C_Int.t
+Posix.ProcEnv.SC_MQ_OPEN_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_MQ_PRIO_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_NGROUPS_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_OPEN_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_PAGESIZE = _const : C_Int.t
+Posix.ProcEnv.SC_PAGE_SIZE = _const : C_Int.t
+Posix.ProcEnv.SC_PRIORITIZED_IO = _const : C_Int.t
+Posix.ProcEnv.SC_PRIORITY_SCHEDULING = _const : C_Int.t
+Posix.ProcEnv.SC_RAW_SOCKETS = _const : C_Int.t
+Posix.ProcEnv.SC_READER_WRITER_LOCKS = _const : C_Int.t
+Posix.ProcEnv.SC_REALTIME_SIGNALS = _const : C_Int.t
+Posix.ProcEnv.SC_REGEXP = _const : C_Int.t
+Posix.ProcEnv.SC_RE_DUP_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_RTSIG_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_SAVED_IDS = _const : C_Int.t
+Posix.ProcEnv.SC_SEMAPHORES = _const : C_Int.t
+Posix.ProcEnv.SC_SEM_NSEMS_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_SEM_VALUE_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_SHARED_MEMORY_OBJECTS = _const : C_Int.t
+Posix.ProcEnv.SC_SHELL = _const : C_Int.t
+Posix.ProcEnv.SC_SIGQUEUE_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_SPAWN = _const : C_Int.t
+Posix.ProcEnv.SC_SPIN_LOCKS = _const : C_Int.t
+Posix.ProcEnv.SC_SPORADIC_SERVER = _const : C_Int.t
+Posix.ProcEnv.SC_SS_REPL_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_STREAM_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_SYMLOOP_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_SYNCHRONIZED_IO = _const : C_Int.t
+Posix.ProcEnv.SC_THREADS = _const : C_Int.t
+Posix.ProcEnv.SC_THREAD_ATTR_STACKADDR = _const : C_Int.t
+Posix.ProcEnv.SC_THREAD_ATTR_STACKSIZE = _const : C_Int.t
+Posix.ProcEnv.SC_THREAD_CPUTIME = _const : C_Int.t
+Posix.ProcEnv.SC_THREAD_DESTRUCTOR_ITERATIONS = _const : C_Int.t
+Posix.ProcEnv.SC_THREAD_KEYS_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_THREAD_PRIORITY_SCHEDULING = _const : C_Int.t
+Posix.ProcEnv.SC_THREAD_PRIO_INHERIT = _const : C_Int.t
+Posix.ProcEnv.SC_THREAD_PRIO_PROTECT = _const : C_Int.t
+Posix.ProcEnv.SC_THREAD_PROCESS_SHARED = _const : C_Int.t
+Posix.ProcEnv.SC_THREAD_SAFE_FUNCTIONS = _const : C_Int.t
+Posix.ProcEnv.SC_THREAD_SPORADIC_SERVER = _const : C_Int.t
+Posix.ProcEnv.SC_THREAD_STACK_MIN = _const : C_Int.t
+Posix.ProcEnv.SC_THREAD_THREADS_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_TIMEOUTS = _const : C_Int.t
+Posix.ProcEnv.SC_TIMERS = _const : C_Int.t
+Posix.ProcEnv.SC_TIMER_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_TRACE = _const : C_Int.t
+Posix.ProcEnv.SC_TRACE_EVENT_FILTER = _const : C_Int.t
+Posix.ProcEnv.SC_TRACE_EVENT_NAME_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_TRACE_INHERIT = _const : C_Int.t
+Posix.ProcEnv.SC_TRACE_LOG = _const : C_Int.t
+Posix.ProcEnv.SC_TRACE_NAME_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_TRACE_SYS_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_TRACE_USER_EVENT_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_TTY_NAME_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_TYPED_MEMORY_OBJECTS = _const : C_Int.t
+Posix.ProcEnv.SC_TZNAME_MAX = _const : C_Int.t
+Posix.ProcEnv.SC_V6_ILP32_OFF32 = _const : C_Int.t
+Posix.ProcEnv.SC_V6_ILP32_OFFBIG = _const : C_Int.t
+Posix.ProcEnv.SC_V6_LP64_OFF64 = _const : C_Int.t
+Posix.ProcEnv.SC_V6_LPBIG_OFFBIG = _const : C_Int.t
+Posix.ProcEnv.SC_VERSION = _const : C_Int.t
+Posix.ProcEnv.SC_XBS5_ILP32_OFF32 = _const : C_Int.t
+Posix.ProcEnv.SC_XBS5_ILP32_OFFBIG = _const : C_Int.t
+Posix.ProcEnv.SC_XBS5_LP64_OFF64 = _const : C_Int.t
+Posix.ProcEnv.SC_XBS5_LPBIG_OFFBIG = _const : C_Int.t
+Posix.ProcEnv.SC_XOPEN_CRYPT = _const : C_Int.t
+Posix.ProcEnv.SC_XOPEN_ENH_I18N = _const : C_Int.t
+Posix.ProcEnv.SC_XOPEN_LEGACY = _const : C_Int.t
+Posix.ProcEnv.SC_XOPEN_REALTIME = _const : C_Int.t
+Posix.ProcEnv.SC_XOPEN_REALTIME_THREADS = _const : C_Int.t
+Posix.ProcEnv.SC_XOPEN_SHM = _const : C_Int.t
+Posix.ProcEnv.SC_XOPEN_STREAMS = _const : C_Int.t
+Posix.ProcEnv.SC_XOPEN_UNIX = _const : C_Int.t
+Posix.ProcEnv.SC_XOPEN_VERSION = _const : C_Int.t
+Posix.ProcEnv.Times.getCSTime = _import : unit -> C_Clock.t
+Posix.ProcEnv.Times.getCUTime = _import : unit -> C_Clock.t
+Posix.ProcEnv.Times.getSTime = _import : unit -> C_Clock.t
+Posix.ProcEnv.Times.getUTime = _import : unit -> C_Clock.t
+Posix.ProcEnv.Uname.getMachine = _import : unit -> C_String.t
+Posix.ProcEnv.Uname.getNodeName = _import : unit -> C_String.t
+Posix.ProcEnv.Uname.getRelease = _import : unit -> C_String.t
+Posix.ProcEnv.Uname.getSysName = _import : unit -> C_String.t
+Posix.ProcEnv.Uname.getVersion = _import : unit -> C_String.t
+Posix.ProcEnv.ctermid = _import : unit -> C_String.t
+Posix.ProcEnv.environ = _symbol : C_StringArray.t
+Posix.ProcEnv.getegid = _import : unit -> C_GId.t
+Posix.ProcEnv.getenv = _import : NullString8.t -> C_String.t
+Posix.ProcEnv.geteuid = _import : unit -> C_UId.t
+Posix.ProcEnv.getgid = _import : unit -> C_GId.t
+Posix.ProcEnv.getgroups = _import : C_Int.t * C_GId.t array -> C_Int.t C_Errno.t
+Posix.ProcEnv.getgroupsN = _import : unit -> C_Int.t
+Posix.ProcEnv.getlogin = _import : unit -> C_String.t C_Errno.t
+Posix.ProcEnv.getpgrp = _import : unit -> C_PId.t
+Posix.ProcEnv.getpid = _import : unit -> C_PId.t
+Posix.ProcEnv.getppid = _import : unit -> C_PId.t
+Posix.ProcEnv.getuid = _import : unit -> C_UId.t
+Posix.ProcEnv.isatty = _import : C_Fd.t -> Bool.t
+Posix.ProcEnv.setenv = _import : NullString8.t * NullString8.t -> C_Int.t C_Errno.t
+Posix.ProcEnv.setgid = _import : C_GId.t -> C_Int.t C_Errno.t
+Posix.ProcEnv.setgroups = _import : C_Int.t * C_GId.t vector -> C_Int.t C_Errno.t
+Posix.ProcEnv.setpgid = _import : C_PId.t * C_PId.t -> C_Int.t C_Errno.t
+Posix.ProcEnv.setsid = _import : unit -> C_PId.t C_Errno.t
+Posix.ProcEnv.setuid = _import : C_UId.t -> C_Int.t C_Errno.t
+Posix.ProcEnv.sysconf = _import : C_Int.t -> C_Long.t C_Errno.t
+Posix.ProcEnv.times = _import : unit -> C_Clock.t C_Errno.t
+Posix.ProcEnv.ttyname = _import : C_Fd.t -> C_String.t C_Errno.t
+Posix.ProcEnv.uname = _import : unit -> C_Int.t C_Errno.t
+Posix.Process.W.CONTINUED = _const : C_Int.t
+Posix.Process.W.NOHANG = _const : C_Int.t
+Posix.Process.W.UNTRACED = _const : C_Int.t
+Posix.Process.alarm = _import : C_UInt.t -> C_UInt.t
+Posix.Process.exece = _import : NullString8.t * NullString8Array.t * NullString8Array.t -> C_Int.t C_Errno.t
+Posix.Process.execp = _import : NullString8.t * NullString8Array.t -> C_Int.t C_Errno.t
+Posix.Process.exit = _import : C_Status.t -> unit
+Posix.Process.exitStatus = _import : C_Status.t -> C_Int.t
+Posix.Process.fork = _import : unit -> C_PId.t C_Errno.t
+Posix.Process.ifExited = _import : C_Status.t -> Bool.t
+Posix.Process.ifSignaled = _import : C_Status.t -> Bool.t
+Posix.Process.ifStopped = _import : C_Status.t -> Bool.t
+Posix.Process.kill = _import : C_PId.t * C_Signal.t -> C_Int.t C_Errno.t
+Posix.Process.nanosleep = _import : C_Time.t ref * C_Long.t ref -> C_Int.t C_Errno.t
+Posix.Process.pause = _import : unit -> C_Int.t C_Errno.t
+Posix.Process.sleep = _import : C_UInt.t -> C_UInt.t
+Posix.Process.stopSig = _import : C_Status.t -> C_Signal.t
+Posix.Process.system = _import : NullString8.t -> C_Status.t C_Errno.t
+Posix.Process.termSig = _import : C_Status.t -> C_Signal.t
+Posix.Process.waitpid = _import : C_PId.t * C_Int.t ref * C_Int.t -> C_PId.t C_Errno.t
+Posix.Signal.NSIG = _const : C_Int.t
+Posix.Signal.SIGABRT = _const : C_Signal.t
+Posix.Signal.SIGALRM = _const : C_Signal.t
+Posix.Signal.SIGBUS = _const : C_Signal.t
+Posix.Signal.SIGCHLD = _const : C_Signal.t
+Posix.Signal.SIGCONT = _const : C_Signal.t
+Posix.Signal.SIGFPE = _const : C_Signal.t
+Posix.Signal.SIGHUP = _const : C_Signal.t
+Posix.Signal.SIGILL = _const : C_Signal.t
+Posix.Signal.SIGINT = _const : C_Signal.t
+Posix.Signal.SIGKILL = _const : C_Signal.t
+Posix.Signal.SIGPIPE = _const : C_Signal.t
+Posix.Signal.SIGPOLL = _const : C_Signal.t
+Posix.Signal.SIGPROF = _const : C_Signal.t
+Posix.Signal.SIGQUIT = _const : C_Signal.t
+Posix.Signal.SIGSEGV = _const : C_Signal.t
+Posix.Signal.SIGSTOP = _const : C_Signal.t
+Posix.Signal.SIGSYS = _const : C_Signal.t
+Posix.Signal.SIGTERM = _const : C_Signal.t
+Posix.Signal.SIGTRAP = _const : C_Signal.t
+Posix.Signal.SIGTSTP = _const : C_Signal.t
+Posix.Signal.SIGTTIN = _const : C_Signal.t
+Posix.Signal.SIGTTOU = _const : C_Signal.t
+Posix.Signal.SIGURG = _const : C_Signal.t
+Posix.Signal.SIGUSR1 = _const : C_Signal.t
+Posix.Signal.SIGUSR2 = _const : C_Signal.t
+Posix.Signal.SIGVTALRM = _const : C_Signal.t
+Posix.Signal.SIGXCPU = _const : C_Signal.t
+Posix.Signal.SIGXFSZ = _const : C_Signal.t
+Posix.Signal.SIG_BLOCK = _const : C_Int.t
+Posix.Signal.SIG_SETMASK = _const : C_Int.t
+Posix.Signal.SIG_UNBLOCK = _const : C_Int.t
+Posix.Signal.default = _import : C_Signal.t -> C_Int.t C_Errno.t
 Posix.Signal.handleGC = _import : unit -> unit
-Posix.Signal.handlee = _import : C.Signal.t -> C.Int.t C.Errno.t
-Posix.Signal.ignore = _import : C.Signal.t -> C.Int.t C.Errno.t
-Posix.Signal.isDefault = _import : C.Signal.t * Bool.t ref -> C.Int.t C.Errno.t
-Posix.Signal.isIgnore = _import : C.Signal.t * Bool.t ref -> C.Int.t C.Errno.t
-Posix.Signal.isPending = _import : C.Signal.t -> Bool.t
+Posix.Signal.handlee = _import : C_Signal.t -> C_Int.t C_Errno.t
+Posix.Signal.ignore = _import : C_Signal.t -> C_Int.t C_Errno.t
+Posix.Signal.isDefault = _import : C_Signal.t * Bool.t ref -> C_Int.t C_Errno.t
+Posix.Signal.isIgnore = _import : C_Signal.t * Bool.t ref -> C_Int.t C_Errno.t
+Posix.Signal.isPending = _import : C_Signal.t -> Bool.t
 Posix.Signal.isPendingGC = _import : unit -> Bool.t
 Posix.Signal.resetPending = _import :unit -> unit
-Posix.Signal.sigaddset = _import : C.Signal.t -> C.Int.t C.Errno.t
-Posix.Signal.sigdelset = _import : C.Signal.t -> C.Int.t C.Errno.t
-Posix.Signal.sigemptyset = _import : unit -> C.Int.t C.Errno.t
-Posix.Signal.sigfillset = _import : unit -> C.Int.t C.Errno.t
-Posix.Signal.sigismember = _import : C.Signal.t -> C.Int.t C.Errno.t
-Posix.Signal.sigprocmask = _import : C.Int.t -> C.Int.t C.Errno.t
+Posix.Signal.sigaddset = _import : C_Signal.t -> C_Int.t C_Errno.t
+Posix.Signal.sigdelset = _import : C_Signal.t -> C_Int.t C_Errno.t
+Posix.Signal.sigemptyset = _import : unit -> C_Int.t C_Errno.t
+Posix.Signal.sigfillset = _import : unit -> C_Int.t C_Errno.t
+Posix.Signal.sigismember = _import : C_Signal.t -> C_Int.t C_Errno.t
+Posix.Signal.sigprocmask = _import : C_Int.t -> C_Int.t C_Errno.t
 Posix.Signal.sigsuspend = _import : unit -> unit
-Posix.SysDB.Group.getGId = _import : unit -> C.GId.t
-Posix.SysDB.Group.getMem = _import : unit -> C.StringArray.t
-Posix.SysDB.Group.getName = _import : unit -> C.String.t
-Posix.SysDB.Passwd.getDir = _import : unit -> C.String.t
-Posix.SysDB.Passwd.getGId = _import : unit -> C.GId.t
-Posix.SysDB.Passwd.getName = _import : unit -> C.String.t
-Posix.SysDB.Passwd.getShell = _import : unit -> C.String.t
-Posix.SysDB.Passwd.getUId = _import : unit -> C.UId.t
-Posix.SysDB.getgrgid = _import : C.GId.t -> Bool.t
+Posix.SysDB.Group.getGId = _import : unit -> C_GId.t
+Posix.SysDB.Group.getMem = _import : unit -> C_StringArray.t
+Posix.SysDB.Group.getName = _import : unit -> C_String.t
+Posix.SysDB.Passwd.getDir = _import : unit -> C_String.t
+Posix.SysDB.Passwd.getGId = _import : unit -> C_GId.t
+Posix.SysDB.Passwd.getName = _import : unit -> C_String.t
+Posix.SysDB.Passwd.getShell = _import : unit -> C_String.t
+Posix.SysDB.Passwd.getUId = _import : unit -> C_UId.t
+Posix.SysDB.getgrgid = _import : C_GId.t -> Bool.t
 Posix.SysDB.getgrnam = _import : NullString8.t -> Bool.t
 Posix.SysDB.getpwnam = _import : NullString8.t -> Bool.t
-Posix.SysDB.getpwuid = _import : C.GId.t -> Bool.t
-Posix.TTY.B0 = _const : C.Speed.t
-Posix.TTY.B110 = _const : C.Speed.t
-Posix.TTY.B1200 = _const : C.Speed.t
-Posix.TTY.B134 = _const : C.Speed.t
-Posix.TTY.B150 = _const : C.Speed.t
-Posix.TTY.B1800 = _const : C.Speed.t
-Posix.TTY.B19200 = _const : C.Speed.t
-Posix.TTY.B200 = _const : C.Speed.t
-Posix.TTY.B2400 = _const : C.Speed.t
-Posix.TTY.B300 = _const : C.Speed.t
-Posix.TTY.B38400 = _const : C.Speed.t
-Posix.TTY.B4800 = _const : C.Speed.t
-Posix.TTY.B50 = _const : C.Speed.t
-Posix.TTY.B600 = _const : C.Speed.t
-Posix.TTY.B75 = _const : C.Speed.t
-Posix.TTY.B9600 = _const : C.Speed.t
-Posix.TTY.CFlags.CLOCAL = _const : C.TCFlag.t
-Posix.TTY.CFlags.CREAD = _const : C.TCFlag.t
-Posix.TTY.CFlags.CS5 = _const : C.TCFlag.t
-Posix.TTY.CFlags.CS6 = _const : C.TCFlag.t
-Posix.TTY.CFlags.CS7 = _const : C.TCFlag.t
-Posix.TTY.CFlags.CS8 = _const : C.TCFlag.t
-Posix.TTY.CFlags.CSIZE = _const : C.TCFlag.t
-Posix.TTY.CFlags.CSTOPB = _const : C.TCFlag.t
-Posix.TTY.CFlags.HUPCL = _const : C.TCFlag.t
-Posix.TTY.CFlags.PARENB = _const : C.TCFlag.t
-Posix.TTY.CFlags.PARODD = _const : C.TCFlag.t
-Posix.TTY.IFlags.BRKINT = _const : C.TCFlag.t
-Posix.TTY.IFlags.ICRNL = _const : C.TCFlag.t
-Posix.TTY.IFlags.IGNBRK = _const : C.TCFlag.t
-Posix.TTY.IFlags.IGNCR = _const : C.TCFlag.t
-Posix.TTY.IFlags.IGNPAR = _const : C.TCFlag.t
-Posix.TTY.IFlags.INLCR = _const : C.TCFlag.t
-Posix.TTY.IFlags.INPCK = _const : C.TCFlag.t
-Posix.TTY.IFlags.ISTRIP = _const : C.TCFlag.t
-Posix.TTY.IFlags.IXANY = _const : C.TCFlag.t
-Posix.TTY.IFlags.IXOFF = _const : C.TCFlag.t
-Posix.TTY.IFlags.IXON = _const : C.TCFlag.t
-Posix.TTY.IFlags.PARMRK = _const : C.TCFlag.t
-Posix.TTY.LFlags.ECHO = _const : C.TCFlag.t
-Posix.TTY.LFlags.ECHOE = _const : C.TCFlag.t
-Posix.TTY.LFlags.ECHOK = _const : C.TCFlag.t
-Posix.TTY.LFlags.ECHONL = _const : C.TCFlag.t
-Posix.TTY.LFlags.ICANON = _const : C.TCFlag.t
-Posix.TTY.LFlags.IEXTEN = _const : C.TCFlag.t
-Posix.TTY.LFlags.ISIG = _const : C.TCFlag.t
-Posix.TTY.LFlags.NOFLSH = _const : C.TCFlag.t
-Posix.TTY.LFlags.TOSTOP = _const : C.TCFlag.t
-Posix.TTY.OFlags.BS0 = _const : C.TCFlag.t
-Posix.TTY.OFlags.BS1 = _const : C.TCFlag.t
-Posix.TTY.OFlags.BSDLY = _const : C.TCFlag.t
-Posix.TTY.OFlags.CR0 = _const : C.TCFlag.t
-Posix.TTY.OFlags.CR1 = _const : C.TCFlag.t
-Posix.TTY.OFlags.CR2 = _const : C.TCFlag.t
-Posix.TTY.OFlags.CR3 = _const : C.TCFlag.t
-Posix.TTY.OFlags.CRDLY = _const : C.TCFlag.t
-Posix.TTY.OFlags.FF0 = _const : C.TCFlag.t
-Posix.TTY.OFlags.FF1 = _const : C.TCFlag.t
-Posix.TTY.OFlags.FFDLY = _const : C.TCFlag.t
-Posix.TTY.OFlags.NL0 = _const : C.TCFlag.t
-Posix.TTY.OFlags.NL1 = _const : C.TCFlag.t
-Posix.TTY.OFlags.NLDLY = _const : C.TCFlag.t
-Posix.TTY.OFlags.OCRNL = _const : C.TCFlag.t
-Posix.TTY.OFlags.OFILL = _const : C.TCFlag.t
-Posix.TTY.OFlags.ONLCR = _const : C.TCFlag.t
-Posix.TTY.OFlags.ONLRET = _const : C.TCFlag.t
-Posix.TTY.OFlags.ONOCR = _const : C.TCFlag.t
-Posix.TTY.OFlags.OPOST = _const : C.TCFlag.t
-Posix.TTY.OFlags.TAB0 = _const : C.TCFlag.t
-Posix.TTY.OFlags.TAB1 = _const : C.TCFlag.t
-Posix.TTY.OFlags.TAB2 = _const : C.TCFlag.t
-Posix.TTY.OFlags.TAB3 = _const : C.TCFlag.t
-Posix.TTY.OFlags.TABDLY = _const : C.TCFlag.t
-Posix.TTY.OFlags.VT0 = _const : C.TCFlag.t
-Posix.TTY.OFlags.VT1 = _const : C.TCFlag.t
-Posix.TTY.OFlags.VTDLY = _const : C.TCFlag.t
-Posix.TTY.TC.TCIFLUSH = _const : C.Int.t
-Posix.TTY.TC.TCIOFF = _const : C.Int.t
-Posix.TTY.TC.TCIOFLUSH = _const : C.Int.t
-Posix.TTY.TC.TCION = _const : C.Int.t
-Posix.TTY.TC.TCOFLUSH = _const : C.Int.t
-Posix.TTY.TC.TCOOFF = _const : C.Int.t
-Posix.TTY.TC.TCOON = _const : C.Int.t
-Posix.TTY.TC.TCSADRAIN = _const : C.Int.t
-Posix.TTY.TC.TCSAFLUSH = _const : C.Int.t
-Posix.TTY.TC.TCSANOW = _const : C.Int.t
-Posix.TTY.TC.drain = _import : C.Fd.t -> C.Int.t C.Errno.t
-Posix.TTY.TC.flow = _import : C.Fd.t * C.Int.t -> C.Int.t C.Errno.t
-Posix.TTY.TC.flush = _import : C.Fd.t * C.Int.t -> C.Int.t C.Errno.t
-Posix.TTY.TC.getattr = _import : C.Fd.t -> C.Int.t C.Errno.t
-Posix.TTY.TC.getpgrp = _import : C.Fd.t -> C.PId.t C.Errno.t
-Posix.TTY.TC.sendbreak = _import : C.Fd.t * C.Int.t -> C.Int.t C.Errno.t
-Posix.TTY.TC.setattr = _import : C.Fd.t * C.Int.t -> C.Int.t C.Errno.t
-Posix.TTY.TC.setpgrp = _import : C.Fd.t * C.PId.t -> C.Int.t C.Errno.t
-Posix.TTY.Termios.cfGetISpeed = _import : unit -> C.Speed.t
-Posix.TTY.Termios.cfGetOSpeed = _import : unit -> C.Speed.t
-Posix.TTY.Termios.cfSetISpeed = _import : C.Speed.t -> C.Int.t C.Errno.t
-Posix.TTY.Termios.cfSetOSpeed = _import : C.Speed.t -> C.Int.t C.Errno.t
-Posix.TTY.Termios.getCC = _import : C.CC.t array -> unit
-Posix.TTY.Termios.getCFlag = _import : unit -> C.TCFlag.t
-Posix.TTY.Termios.getIFlag = _import : unit -> C.TCFlag.t
-Posix.TTY.Termios.getLFlag = _import : unit -> C.TCFlag.t
-Posix.TTY.Termios.getOFlag = _import : unit -> C.TCFlag.t
-Posix.TTY.Termios.setCC = _import : C.CC.t array -> unit
-Posix.TTY.Termios.setCFlag = _import : C.TCFlag.t -> unit
-Posix.TTY.Termios.setIFlag = _import : C.TCFlag.t -> unit
-Posix.TTY.Termios.setLFlag = _import : C.TCFlag.t -> unit
-Posix.TTY.Termios.setOFlag = _import : C.TCFlag.t -> unit
-Posix.TTY.V.NCCS = _const : C.Int.t
-Posix.TTY.V.VEOF = _const : C.Int.t
-Posix.TTY.V.VEOL = _const : C.Int.t
-Posix.TTY.V.VERASE = _const : C.Int.t
-Posix.TTY.V.VINTR = _const : C.Int.t
-Posix.TTY.V.VKILL = _const : C.Int.t
-Posix.TTY.V.VMIN = _const : C.Int.t
-Posix.TTY.V.VQUIT = _const : C.Int.t
-Posix.TTY.V.VSTART = _const : C.Int.t
-Posix.TTY.V.VSTOP = _const : C.Int.t
-Posix.TTY.V.VSUSP = _const : C.Int.t
-Posix.TTY.V.VTIME = _const : C.Int.t
-Socket.AF.INET = _const : C.Int.t
-Socket.AF.INET6 = _const : C.Int.t
-Socket.AF.UNIX = _const : C.Int.t
-Socket.AF.UNSPEC = _const : C.Int.t
-Socket.Ctl.FIONBIO = _const : C.Int.t
-Socket.Ctl.FIONREAD = _const : C.Int.t
-Socket.Ctl.SIOCATMARK = _const : C.Int.t
-Socket.Ctl.SOL_SOCKET = _const : C.Int.t
-Socket.Ctl.SO_ACCEPTCONN = _const : C.Int.t
-Socket.Ctl.SO_BROADCAST = _const : C.Int.t
-Socket.Ctl.SO_DEBUG = _const : C.Int.t
-Socket.Ctl.SO_DONTROUTE = _const : C.Int.t
-Socket.Ctl.SO_ERROR = _const : C.Int.t
-Socket.Ctl.SO_KEEPALIVE = _const : C.Int.t
-Socket.Ctl.SO_LINGER = _const : C.Int.t
-Socket.Ctl.SO_OOBINLINE = _const : C.Int.t
-Socket.Ctl.SO_RCVBUF = _const : C.Int.t
-Socket.Ctl.SO_RCVLOWAT = _const : C.Int.t
-Socket.Ctl.SO_RCVTIMEO = _const : C.Int.t
-Socket.Ctl.SO_REUSEADDR = _const : C.Int.t
-Socket.Ctl.SO_SNDBUF = _const : C.Int.t
-Socket.Ctl.SO_SNDLOWAT = _const : C.Int.t
-Socket.Ctl.SO_SNDTIMEO = _const : C.Int.t
-Socket.Ctl.SO_TYPE = _const : C.Int.t
-Socket.Ctl.getIOCtl = _import : C.Sock.t * C.Int.t * Word8.t array -> C.Int.t C.Errno.t
-Socket.Ctl.getPeerName = _import : C.Sock.t * Word8.t array * C.Socklen.t ref -> C.Int.t C.Errno.t
-Socket.Ctl.getSockName = _import : C.Sock.t * Word8.t array * C.Socklen.t ref -> C.Int.t C.Errno.t
-Socket.Ctl.getSockOpt = _import : C.Sock.t * C.Int.t * C.Int.t * Word8.t array * C.Socklen.t ref -> C.Int.t C.Errno.t
-Socket.Ctl.setIOCtl = _import : C.Sock.t * C.Int.t * Word8.t vector -> C.Int.t C.Errno.t
-Socket.Ctl.setSockOpt = _import : C.Sock.t * C.Int.t * C.Int.t * Word8.t vector * C.Socklen.t -> C.Int.t C.Errno.t
-Socket.GenericSock.socket = _import : C.Int.t * C.Int.t * C.Int.t -> C.Int.t C.Errno.t
-Socket.GenericSock.socketPair = _import : C.Int.t * C.Int.t * C.Int.t * C.Int.t array -> C.Int.t C.Errno.t
-Socket.INetSock.Ctl.IPPROTO_TCP = _const : C.Int.t
-Socket.INetSock.Ctl.TCP_NODELAY = _const : C.Int.t
+Posix.SysDB.getpwuid = _import : C_GId.t -> Bool.t
+Posix.TTY.B0 = _const : C_Speed.t
+Posix.TTY.B110 = _const : C_Speed.t
+Posix.TTY.B1200 = _const : C_Speed.t
+Posix.TTY.B134 = _const : C_Speed.t
+Posix.TTY.B150 = _const : C_Speed.t
+Posix.TTY.B1800 = _const : C_Speed.t
+Posix.TTY.B19200 = _const : C_Speed.t
+Posix.TTY.B200 = _const : C_Speed.t
+Posix.TTY.B2400 = _const : C_Speed.t
+Posix.TTY.B300 = _const : C_Speed.t
+Posix.TTY.B38400 = _const : C_Speed.t
+Posix.TTY.B4800 = _const : C_Speed.t
+Posix.TTY.B50 = _const : C_Speed.t
+Posix.TTY.B600 = _const : C_Speed.t
+Posix.TTY.B75 = _const : C_Speed.t
+Posix.TTY.B9600 = _const : C_Speed.t
+Posix.TTY.C.CLOCAL = _const : C_TCFlag.t
+Posix.TTY.C.CREAD = _const : C_TCFlag.t
+Posix.TTY.C.CS5 = _const : C_TCFlag.t
+Posix.TTY.C.CS6 = _const : C_TCFlag.t
+Posix.TTY.C.CS7 = _const : C_TCFlag.t
+Posix.TTY.C.CS8 = _const : C_TCFlag.t
+Posix.TTY.C.CSIZE = _const : C_TCFlag.t
+Posix.TTY.C.CSTOPB = _const : C_TCFlag.t
+Posix.TTY.C.HUPCL = _const : C_TCFlag.t
+Posix.TTY.C.PARENB = _const : C_TCFlag.t
+Posix.TTY.C.PARODD = _const : C_TCFlag.t
+Posix.TTY.I.BRKINT = _const : C_TCFlag.t
+Posix.TTY.I.ICRNL = _const : C_TCFlag.t
+Posix.TTY.I.IGNBRK = _const : C_TCFlag.t
+Posix.TTY.I.IGNCR = _const : C_TCFlag.t
+Posix.TTY.I.IGNPAR = _const : C_TCFlag.t
+Posix.TTY.I.INLCR = _const : C_TCFlag.t
+Posix.TTY.I.INPCK = _const : C_TCFlag.t
+Posix.TTY.I.ISTRIP = _const : C_TCFlag.t
+Posix.TTY.I.IXANY = _const : C_TCFlag.t
+Posix.TTY.I.IXOFF = _const : C_TCFlag.t
+Posix.TTY.I.IXON = _const : C_TCFlag.t
+Posix.TTY.I.PARMRK = _const : C_TCFlag.t
+Posix.TTY.L.ECHO = _const : C_TCFlag.t
+Posix.TTY.L.ECHOE = _const : C_TCFlag.t
+Posix.TTY.L.ECHOK = _const : C_TCFlag.t
+Posix.TTY.L.ECHONL = _const : C_TCFlag.t
+Posix.TTY.L.ICANON = _const : C_TCFlag.t
+Posix.TTY.L.IEXTEN = _const : C_TCFlag.t
+Posix.TTY.L.ISIG = _const : C_TCFlag.t
+Posix.TTY.L.NOFLSH = _const : C_TCFlag.t
+Posix.TTY.L.TOSTOP = _const : C_TCFlag.t
+Posix.TTY.O.BS0 = _const : C_TCFlag.t
+Posix.TTY.O.BS1 = _const : C_TCFlag.t
+Posix.TTY.O.BSDLY = _const : C_TCFlag.t
+Posix.TTY.O.CR0 = _const : C_TCFlag.t
+Posix.TTY.O.CR1 = _const : C_TCFlag.t
+Posix.TTY.O.CR2 = _const : C_TCFlag.t
+Posix.TTY.O.CR3 = _const : C_TCFlag.t
+Posix.TTY.O.CRDLY = _const : C_TCFlag.t
+Posix.TTY.O.FF0 = _const : C_TCFlag.t
+Posix.TTY.O.FF1 = _const : C_TCFlag.t
+Posix.TTY.O.FFDLY = _const : C_TCFlag.t
+Posix.TTY.O.NL0 = _const : C_TCFlag.t
+Posix.TTY.O.NL1 = _const : C_TCFlag.t
+Posix.TTY.O.NLDLY = _const : C_TCFlag.t
+Posix.TTY.O.OCRNL = _const : C_TCFlag.t
+Posix.TTY.O.OFILL = _const : C_TCFlag.t
+Posix.TTY.O.ONLCR = _const : C_TCFlag.t
+Posix.TTY.O.ONLRET = _const : C_TCFlag.t
+Posix.TTY.O.ONOCR = _const : C_TCFlag.t
+Posix.TTY.O.OPOST = _const : C_TCFlag.t
+Posix.TTY.O.TAB0 = _const : C_TCFlag.t
+Posix.TTY.O.TAB1 = _const : C_TCFlag.t
+Posix.TTY.O.TAB2 = _const : C_TCFlag.t
+Posix.TTY.O.TAB3 = _const : C_TCFlag.t
+Posix.TTY.O.TABDLY = _const : C_TCFlag.t
+Posix.TTY.O.VT0 = _const : C_TCFlag.t
+Posix.TTY.O.VT1 = _const : C_TCFlag.t
+Posix.TTY.O.VTDLY = _const : C_TCFlag.t
+Posix.TTY.TC.TCIFLUSH = _const : C_Int.t
+Posix.TTY.TC.TCIOFF = _const : C_Int.t
+Posix.TTY.TC.TCIOFLUSH = _const : C_Int.t
+Posix.TTY.TC.TCION = _const : C_Int.t
+Posix.TTY.TC.TCOFLUSH = _const : C_Int.t
+Posix.TTY.TC.TCOOFF = _const : C_Int.t
+Posix.TTY.TC.TCOON = _const : C_Int.t
+Posix.TTY.TC.TCSADRAIN = _const : C_Int.t
+Posix.TTY.TC.TCSAFLUSH = _const : C_Int.t
+Posix.TTY.TC.TCSANOW = _const : C_Int.t
+Posix.TTY.TC.drain = _import : C_Fd.t -> C_Int.t C_Errno.t
+Posix.TTY.TC.flow = _import : C_Fd.t * C_Int.t -> C_Int.t C_Errno.t
+Posix.TTY.TC.flush = _import : C_Fd.t * C_Int.t -> C_Int.t C_Errno.t
+Posix.TTY.TC.getattr = _import : C_Fd.t -> C_Int.t C_Errno.t
+Posix.TTY.TC.getpgrp = _import : C_Fd.t -> C_PId.t C_Errno.t
+Posix.TTY.TC.sendbreak = _import : C_Fd.t * C_Int.t -> C_Int.t C_Errno.t
+Posix.TTY.TC.setattr = _import : C_Fd.t * C_Int.t -> C_Int.t C_Errno.t
+Posix.TTY.TC.setpgrp = _import : C_Fd.t * C_PId.t -> C_Int.t C_Errno.t
+Posix.TTY.Termios.cfGetISpeed = _import : unit -> C_Speed.t
+Posix.TTY.Termios.cfGetOSpeed = _import : unit -> C_Speed.t
+Posix.TTY.Termios.cfSetISpeed = _import : C_Speed.t -> C_Int.t C_Errno.t
+Posix.TTY.Termios.cfSetOSpeed = _import : C_Speed.t -> C_Int.t C_Errno.t
+Posix.TTY.Termios.getCC = _import : C_CC.t array -> unit
+Posix.TTY.Termios.getCFlag = _import : unit -> C_TCFlag.t
+Posix.TTY.Termios.getIFlag = _import : unit -> C_TCFlag.t
+Posix.TTY.Termios.getLFlag = _import : unit -> C_TCFlag.t
+Posix.TTY.Termios.getOFlag = _import : unit -> C_TCFlag.t
+Posix.TTY.Termios.setCC = _import : C_CC.t array -> unit
+Posix.TTY.Termios.setCFlag = _import : C_TCFlag.t -> unit
+Posix.TTY.Termios.setIFlag = _import : C_TCFlag.t -> unit
+Posix.TTY.Termios.setLFlag = _import : C_TCFlag.t -> unit
+Posix.TTY.Termios.setOFlag = _import : C_TCFlag.t -> unit
+Posix.TTY.V.NCCS = _const : C_Int.t
+Posix.TTY.V.VEOF = _const : C_Int.t
+Posix.TTY.V.VEOL = _const : C_Int.t
+Posix.TTY.V.VERASE = _const : C_Int.t
+Posix.TTY.V.VINTR = _const : C_Int.t
+Posix.TTY.V.VKILL = _const : C_Int.t
+Posix.TTY.V.VMIN = _const : C_Int.t
+Posix.TTY.V.VQUIT = _const : C_Int.t
+Posix.TTY.V.VSTART = _const : C_Int.t
+Posix.TTY.V.VSTOP = _const : C_Int.t
+Posix.TTY.V.VSUSP = _const : C_Int.t
+Posix.TTY.V.VTIME = _const : C_Int.t
+Socket.AF.INET = _const : C_Int.t
+Socket.AF.INET6 = _const : C_Int.t
+Socket.AF.UNIX = _const : C_Int.t
+Socket.AF.UNSPEC = _const : C_Int.t
+Socket.Ctl.FIONBIO = _const : C_Int.t
+Socket.Ctl.FIONREAD = _const : C_Int.t
+Socket.Ctl.SIOCATMARK = _const : C_Int.t
+Socket.Ctl.SOL_SOCKET = _const : C_Int.t
+Socket.Ctl.SO_ACCEPTCONN = _const : C_Int.t
+Socket.Ctl.SO_BROADCAST = _const : C_Int.t
+Socket.Ctl.SO_DEBUG = _const : C_Int.t
+Socket.Ctl.SO_DONTROUTE = _const : C_Int.t
+Socket.Ctl.SO_ERROR = _const : C_Int.t
+Socket.Ctl.SO_KEEPALIVE = _const : C_Int.t
+Socket.Ctl.SO_LINGER = _const : C_Int.t
+Socket.Ctl.SO_OOBINLINE = _const : C_Int.t
+Socket.Ctl.SO_RCVBUF = _const : C_Int.t
+Socket.Ctl.SO_RCVLOWAT = _const : C_Int.t
+Socket.Ctl.SO_RCVTIMEO = _const : C_Int.t
+Socket.Ctl.SO_REUSEADDR = _const : C_Int.t
+Socket.Ctl.SO_SNDBUF = _const : C_Int.t
+Socket.Ctl.SO_SNDLOWAT = _const : C_Int.t
+Socket.Ctl.SO_SNDTIMEO = _const : C_Int.t
+Socket.Ctl.SO_TYPE = _const : C_Int.t
+Socket.Ctl.getIOCtl = _import : C_Sock.t * C_Int.t * Word8.t array -> C_Int.t C_Errno.t
+Socket.Ctl.getPeerName = _import : C_Sock.t * Word8.t array * C_Socklen.t ref -> C_Int.t C_Errno.t
+Socket.Ctl.getSockName = _import : C_Sock.t * Word8.t array * C_Socklen.t ref -> C_Int.t C_Errno.t
+Socket.Ctl.getSockOpt = _import : C_Sock.t * C_Int.t * C_Int.t * Word8.t array * C_Socklen.t ref -> C_Int.t C_Errno.t
+Socket.Ctl.setIOCtl = _import : C_Sock.t * C_Int.t * Word8.t vector -> C_Int.t C_Errno.t
+Socket.Ctl.setSockOpt = _import : C_Sock.t * C_Int.t * C_Int.t * Word8.t vector * C_Socklen.t -> C_Int.t C_Errno.t
+Socket.GenericSock.socket = _import : C_Int.t * C_Int.t * C_Int.t -> C_Int.t C_Errno.t
+Socket.GenericSock.socketPair = _import : C_Int.t * C_Int.t * C_Int.t * C_Int.t array -> C_Int.t C_Errno.t
+Socket.INetSock.Ctl.IPPROTO_TCP = _const : C_Int.t
+Socket.INetSock.Ctl.TCP_NODELAY = _const : C_Int.t
 Socket.INetSock.fromAddr = _import : Word8.t vector -> unit
 Socket.INetSock.getInAddr = _import : Word8.t array -> unit
-Socket.INetSock.getPort = _import : unit -> C.Int.t
-Socket.INetSock.toAddr = _import : Word8.t vector * C.Int.t * Word8.t array * C.Socklen.t ref -> unit
-Socket.MSG_CTRUNC = _const : C.Int.t
-Socket.MSG_DONTROUTE = _const : C.Int.t
-Socket.MSG_DONTWAIT = _const : C.Int.t
-Socket.MSG_EOR = _const : C.Int.t
-Socket.MSG_OOB = _const : C.Int.t
-Socket.MSG_PEEK = _const : C.Int.t
-Socket.MSG_TRUNC = _const : C.Int.t
-Socket.MSG_WAITALL = _const : C.Int.t
-Socket.SHUT_RD = _const : C.Int.t
-Socket.SHUT_RDWR = _const : C.Int.t
-Socket.SHUT_WR = _const : C.Int.t
-Socket.SOCK.DGRAM = _const : C.Int.t
-Socket.SOCK.RAW = _const : C.Int.t
-Socket.SOCK.SEQPACKET = _const : C.Int.t
-Socket.SOCK.STREAM = _const : C.Int.t
-Socket.UnixSock.fromAddr = _import : Word8.t vector * Char8.t array * C.Size.t -> unit
-Socket.UnixSock.pathLen = _import : Word8.t vector -> C.Size.t
-Socket.UnixSock.toAddr = _import : NullString8.t * C.Size.t * Word8.t array * C.Socklen.t ref -> unit
-Socket.accept = _import : C.Sock.t * Word8.t array * C.Socklen.t ref -> C.Int.t C.Errno.t
-Socket.bind = _import : C.Sock.t * Word8.t vector * C.Socklen.t -> C.Int.t C.Errno.t
-Socket.close = _import : C.Sock.t -> C.Int.t C.Errno.t
-Socket.connect = _import : C.Sock.t * Word8.t vector * C.Socklen.t -> C.Int.t C.Errno.t
-Socket.familyOfAddr = _import : Word8.t vector -> C.Int.t
-Socket.listen = _import : C.Sock.t * C.Int.t -> C.Int.t C.Errno.t
-Socket.recv = _import : C.Sock.t * Word8.t array * C.Int.t * C.Size.t * C.Int.t -> C.SSize.t C.Errno.t
-Socket.recvFrom = _import : C.Sock.t * Word8.t array * C.Int.t * C.Size.t * C.Int.t * Word8.t array * C.Socklen.t ref -> C.SSize.t C.Errno.t
-Socket.sendArr = _import : C.Sock.t * Word8.t array * C.Int.t * C.Size.t * C.Int.t -> C.SSize.t C.Errno.t
-Socket.sendArrTo = _import : C.Sock.t * Word8.t array * C.Int.t * C.Size.t * C.Int.t * Word8.t vector * C.Socklen.t -> C.SSize.t C.Errno.t
-Socket.sendVec = _import : C.Sock.t * Word8.t vector * C.Int.t * C.Size.t * C.Int.t -> C.SSize.t C.Errno.t
-Socket.sendVecTo = _import : C.Sock.t * Word8.t vector * C.Int.t * C.Size.t * C.Int.t * Word8.t vector * C.Socklen.t -> C.SSize.t C.Errno.t
-Socket.shutdown = _import : C.Sock.t * C.Int.t -> C.Int.t C.Errno.t
-Socket.sockAddrStorageLen = _const : C.Size.t
+Socket.INetSock.getPort = _import : unit -> C_Int.t
+Socket.INetSock.toAddr = _import : Word8.t vector * C_Int.t * Word8.t array * C_Socklen.t ref -> unit
+Socket.MSG_CTRUNC = _const : C_Int.t
+Socket.MSG_DONTROUTE = _const : C_Int.t
+Socket.MSG_DONTWAIT = _const : C_Int.t
+Socket.MSG_EOR = _const : C_Int.t
+Socket.MSG_OOB = _const : C_Int.t
+Socket.MSG_PEEK = _const : C_Int.t
+Socket.MSG_TRUNC = _const : C_Int.t
+Socket.MSG_WAITALL = _const : C_Int.t
+Socket.SHUT_RD = _const : C_Int.t
+Socket.SHUT_RDWR = _const : C_Int.t
+Socket.SHUT_WR = _const : C_Int.t
+Socket.SOCK.DGRAM = _const : C_Int.t
+Socket.SOCK.RAW = _const : C_Int.t
+Socket.SOCK.SEQPACKET = _const : C_Int.t
+Socket.SOCK.STREAM = _const : C_Int.t
+Socket.UnixSock.fromAddr = _import : Word8.t vector * Char8.t array * C_Size.t -> unit
+Socket.UnixSock.pathLen = _import : Word8.t vector -> C_Size.t
+Socket.UnixSock.toAddr = _import : NullString8.t * C_Size.t * Word8.t array * C_Socklen.t ref -> unit
+Socket.accept = _import : C_Sock.t * Word8.t array * C_Socklen.t ref -> C_Int.t C_Errno.t
+Socket.bind = _import : C_Sock.t * Word8.t vector * C_Socklen.t -> C_Int.t C_Errno.t
+Socket.close = _import : C_Sock.t -> C_Int.t C_Errno.t
+Socket.connect = _import : C_Sock.t * Word8.t vector * C_Socklen.t -> C_Int.t C_Errno.t
+Socket.familyOfAddr = _import : Word8.t vector -> C_Int.t
+Socket.listen = _import : C_Sock.t * C_Int.t -> C_Int.t C_Errno.t
+Socket.recv = _import : C_Sock.t * Word8.t array * C_Int.t * C_Size.t * C_Int.t -> C_SSize.t C_Errno.t
+Socket.recvFrom = _import : C_Sock.t * Word8.t array * C_Int.t * C_Size.t * C_Int.t * Word8.t array * C_Socklen.t ref -> C_SSize.t C_Errno.t
+Socket.sendArr = _import : C_Sock.t * Word8.t array * C_Int.t * C_Size.t * C_Int.t -> C_SSize.t C_Errno.t
+Socket.sendArrTo = _import : C_Sock.t * Word8.t array * C_Int.t * C_Size.t * C_Int.t * Word8.t vector * C_Socklen.t -> C_SSize.t C_Errno.t
+Socket.sendVec = _import : C_Sock.t * Word8.t vector * C_Int.t * C_Size.t * C_Int.t -> C_SSize.t C_Errno.t
+Socket.sendVecTo = _import : C_Sock.t * Word8.t vector * C_Int.t * C_Size.t * C_Int.t * Word8.t vector * C_Socklen.t -> C_SSize.t C_Errno.t
+Socket.shutdown = _import : C_Sock.t * C_Int.t -> C_Int.t C_Errno.t
+Socket.sockAddrStorageLen = _const : C_Size.t
 Stdio.print = _import : String8.t -> unit
-Time.getTimeOfDay = _import : unit -> C.Int.t
-Time.sec = _import : unit -> C.Time.t
-Time.usec = _import : unit -> C.SUSeconds.t
-Windows.Process.create = _import : NullString8.t * NullString8.t * NullString8.t * C.Fd.t * C.Fd.t * C.Fd.t -> C.PId.t C.Errno.t
-Windows.Process.terminate = _import : C.PId.t * C.Signal.t -> C.Int.t C.Errno.t
+Time.getTimeOfDay = _import : unit -> C_Int.t
+Time.sec = _import : unit -> C_Time.t
+Time.usec = _import : unit -> C_SUSeconds.t
+Windows.Process.create = _import : NullString8.t * NullString8.t * NullString8.t * C_Fd.t * C_Fd.t * C_Fd.t -> C_PId.t C_Errno.t
+Windows.Process.terminate = _import : C_PId.t * C_Signal.t -> C_Int.t C_Errno.t

Modified: mlton/branches/on-20050822-x86_64-branch/runtime/gen/gen-types.c
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/gen/gen-types.c	2006-02-05 01:56:00 UTC (rev 4344)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/gen/gen-types.c	2006-02-05 05:10:42 UTC (rev 4345)
@@ -58,8 +58,6 @@
   " * See the file MLton-LICENSE for details.",
   " *)",
   "",
-  "structure C = struct",
-  "",
   NULL
 };
 
@@ -149,7 +147,11 @@
 #define systype(t, bt, name)                        \
   do {                                              \
   char *btLower = strdup(bt);                       \
-  btLower[0] = tolower(bt[0]);                      \
+  for (size_t i = 0; i < strlen(btLower); i++)      \
+    btLower[i] = tolower(bt[i]);                    \
+  char *btUpper = strdup(bt);                       \
+  for (size_t i = 0; i < strlen(btUpper); i++)      \
+    btUpper[i] = toupper(bt[i]);                    \
   writeString (cTypesHFd, "typedef ");              \
   writeString (cTypesHFd, "/* ");                   \
   writeString (cTypesHFd, #t);                      \
@@ -161,7 +163,7 @@
   writeString (cTypesHFd, name);                    \
   writeString (cTypesHFd, "_t;");                   \
   writeNewline (cTypesHFd);                         \
-  writeString (cTypesSMLFd, "structure ");          \
+  writeString (cTypesSMLFd, "structure C_");        \
   writeString (cTypesSMLFd, name);                  \
   writeString (cTypesSMLFd, " = struct open ");     \
   writeString (cTypesSMLFd, bt);                    \
@@ -170,7 +172,21 @@
   writeString (cTypesSMLFd, btLower);               \
   writeString (cTypesSMLFd, " end");                \
   writeNewline (cTypesSMLFd);                       \
+  writeString (cTypesSMLFd, "functor C_");          \
+  writeString (cTypesSMLFd, name);                  \
+  writeString (cTypesSMLFd, "_Choose");             \
+  writeString (cTypesSMLFd, bt);                    \
+  writeString (cTypesSMLFd, "N (A: CHOOSE_");       \
+  writeString (cTypesSMLFd, btUpper);               \
+  writeString (cTypesSMLFd, "N_ARG) = Choose");     \
+  writeString (cTypesSMLFd, bt);                    \
+  writeString (cTypesSMLFd, "N_");                  \
+  writeString (cTypesSMLFd, bt);                    \
+  writeUintmaxU (cTypesSMLFd, CHAR_BIT * sizeof(t));\
+  writeString (cTypesSMLFd, " (A)");                \
+  writeNewline (cTypesSMLFd);                       \
   free (btLower);                                   \
+  free (btUpper);                                   \
   } while (0)
 #define chksystype(t, name)                \
   do {                                     \
@@ -192,14 +208,20 @@
   writeString (cTypesHFd, name);                    \
   writeString (cTypesHFd, "_t;");                   \
   writeNewline (cTypesHFd);                         \
-  writeString (cTypesSMLFd, "structure ");          \
+  writeString (cTypesSMLFd, "structure C_");        \
   writeString (cTypesSMLFd, name);                  \
   writeString (cTypesSMLFd, " = Pointer");          \
   writeNewline (cTypesSMLFd);                       \
   } while (0)
 
-#define aliastype(name1, name2)                     \
+#define aliastype(name1, bt, name2)                 \
   do {                                              \
+  char *btLower = strdup(bt);                       \
+  for (size_t i = 0; i < strlen(btLower); i++)      \
+    btLower[i] = tolower(bt[i]);                    \
+  char *btUpper = strdup(bt);                       \
+  for (size_t i = 0; i < strlen(btUpper); i++)      \
+    btUpper[i] = toupper(bt[i]);                    \
   writeString (cTypesHFd, "typedef ");              \
   writeString (cTypesHFd, "C_");                    \
   writeString (cTypesHFd, name1);                   \
@@ -208,11 +230,23 @@
   writeString (cTypesHFd, name2);                   \
   writeString (cTypesHFd, "_t;");                   \
   writeNewline (cTypesHFd);                         \
-  writeString (cTypesSMLFd, "structure ");          \
+  writeString (cTypesSMLFd, "structure C_");        \
   writeString (cTypesSMLFd, name2);                 \
-  writeString (cTypesSMLFd, " = ");                 \
+  writeString (cTypesSMLFd, " = C_");               \
   writeString (cTypesSMLFd, name1);                 \
   writeNewline (cTypesSMLFd);                       \
+  writeString (cTypesSMLFd, "functor C_");          \
+  writeString (cTypesSMLFd, name2);                 \
+  writeString (cTypesSMLFd, "_Choose");             \
+  writeString (cTypesSMLFd, bt);                    \
+  writeString (cTypesSMLFd, "N (A: CHOOSE_");       \
+  writeString (cTypesSMLFd, btUpper);               \
+  writeString (cTypesSMLFd, "N_ARG) = C_");         \
+  writeString (cTypesSMLFd, name1);                 \
+  writeString (cTypesSMLFd, "_Choose");             \
+  writeString (cTypesSMLFd, bt);                    \
+  writeString (cTypesSMLFd, "N (A)");               \
+  writeNewline (cTypesSMLFd);                       \
   } while (0)
 
 static char* mlTypesHSuffix[] = {
@@ -231,8 +265,7 @@
 
 static char* cTypesSMLSuffix[] = {
   "",
-  "structure Errno = struct type 'a t = 'a end",
-  "end",
+  "structure C_Errno = struct type 'a t = 'a end",
   NULL
 };
 
@@ -278,17 +311,17 @@
   // chksystype(long double, "LongDouble");
   chksystype(size_t, "Size");
   writeNewline (cTypesHFd);writeNewline (cTypesSMLFd);
-  // systype(void*, "Word", "Pointer");
+  ptrtype(void*, "Pointer");
   ptrtype(char*, "String");
   ptrtype(char**, "StringArray");
 
   writeNewline (cTypesHFd);writeNewline (cTypesSMLFd);
   writeStringWithNewline (cTypesHFd, "/* Generic integers */");
   writeStringWithNewline (cTypesSMLFd, "(* Generic integers *)");
-  aliastype("Int", "Fd");
-  aliastype("Int", "Signal");
-  aliastype("Int", "Status");
-  aliastype("Int", "Sock");
+  aliastype("Int", "Int", "Fd");
+  aliastype("Int", "Int", "Signal");
+  aliastype("Int", "Int", "Status");
+  aliastype("Int", "Int", "Sock");
 
   writeNewline (cTypesHFd);writeNewline (cTypesSMLFd);
   writeStringWithNewline (cTypesHFd, "/* C99 */");