| def SigSetType : NamedType<"sigset_t">; | 
 | def SigSetPtrType : PtrType<SigSetType>; | 
 | def ConstSigSetPtrType : ConstType<SigSetPtrType>; | 
 | def RestrictedSigSetType : RestrictedPtrType<SigSetType>; | 
 | def ConstRestrictedSigSetType : ConstType<RestrictedSigSetType>; | 
 |  | 
 | def SigInfoType : NamedType<"siginfo_t">; | 
 | def UnionSigVal : NamedType<"union sigval">; | 
 |  | 
 | def StructSigaction : NamedType<"struct sigaction">; | 
 | def StructSigactionPtr : PtrType<StructSigaction>; | 
 | def ConstStructSigactionPtr : ConstType<StructSigactionPtr>; | 
 | def RestrictedStructSigactionPtr : RestrictedPtrType<StructSigaction>; | 
 | def ConstRestrictedStructSigactionPtr : ConstType<RestrictedStructSigactionPtr>; | 
 |  | 
 | def PThreadStartT : NamedType<"__pthread_start_t">; | 
 | def PThreadTSSDtorT : NamedType<"__pthread_tss_dtor_t">; | 
 | def PThreadKeyT : NamedType<"pthread_key_t">; | 
 | def PThreadKeyTPtr : PtrType<PThreadKeyT>; | 
 | def PThreadOnceT : NamedType<"pthread_once_t">; | 
 | def PThreadOnceTPtr : PtrType<PThreadOnceT>; | 
 | def PThreadOnceCallback : NamedType<"__pthread_once_func_t">; | 
 |  | 
 | def InoT : NamedType<"ino_t">; | 
 | def UidT : NamedType<"uid_t">; | 
 | def GidT : NamedType<"gid_t">; | 
 | def DevT : NamedType<"dev_t">; | 
 | def ClockIdT : NamedType<"clockid_t">; | 
 | def RestrictedClockIdTPtr : RestrictedPtrType<ClockIdT>; | 
 | def BlkSizeT : NamedType<"blksize_t">; | 
 | def BlkCntT : NamedType<"blkcnt_t">; | 
 | def NLinkT : NamedType<"nlink_t">; | 
 |  | 
 | def StatType : NamedType<"struct stat">; | 
 | def StatTypePtr : PtrType<StatType>; | 
 | def RestrictedStatTypePtr : RestrictedPtrType<StatType>; | 
 |  | 
 | def DIR : NamedType<"DIR">; | 
 | def DIRPtr : PtrType<DIR>; | 
 | def DIRRestrictedPtr : RestrictedPtrType<DIR>; | 
 | def StructDirent : NamedType<"struct dirent">; | 
 | def StructDirentPtr : PtrType<StructDirent>; | 
 | def StructDirentPtrPtr : PtrType<StructDirentPtr>; | 
 | def ConstStructDirentPtrPtr : ConstType<StructDirentPtrPtr>; | 
 |  | 
 | def StructSchedParam : NamedType<"struct sched_param">; | 
 | def StructSchedParamPtr : PtrType<StructSchedParam>; | 
 | def ConstStructSchedParamPtr : ConstType<StructSchedParamPtr>; | 
 |  | 
 | def ExecArgvT : NamedType<"__exec_argv_t">; | 
 | def ExecEnvpT : NamedType<"__exec_envp_t">; | 
 |  | 
 | def AtForkCallbackT : NamedType<"__atfork_callback_t">; | 
 |  | 
 | def PosixSpawnFileActionsT : NamedType<"posix_spawn_file_actions_t">; | 
 | def PosixSpawnFileActionsTPtr : PtrType<PosixSpawnFileActionsT>; | 
 | def ConstPosixSpawnFileActionsTPtr : ConstType<PosixSpawnFileActionsTPtr>; | 
 | def PosixSpawnFileActionsTRestrictedPtr : RestrictedPtrType<PosixSpawnFileActionsT>; | 
 |  | 
 | def PosixSpawnAttrT : NamedType<"posix_spawnattr_t">; | 
 | def RestrictedPosixSpawnAttrTPtrType : RestrictedPtrType<PosixSpawnAttrT>; | 
 |  | 
 | def CcT : NamedType<"cc_t">; | 
 | def SpeedT : NamedType<"speed_t">; | 
 | def StructTermios : NamedType<"struct termios">; | 
 | def StructTermiosPtr : PtrType<StructTermios>; | 
 | def ConstStructTermiosPtr : ConstType<StructTermiosPtr>; | 
 | def TcFlagT : NamedType<"tcflag_t">; | 
 |  | 
 | def StackT : NamedType<"stack_t">; | 
 | def StackTPtr : PtrType<StackT>; | 
 | def RestrictedStackTPtr : RestrictedPtrType<StackT>; | 
 | def ConstRestrictedStackTPtr : ConstType<RestrictedStackTPtr>; | 
 |  | 
 | def FdSet : NamedType<"fd_set">; | 
 | def FdSetPtr : PtrType<FdSet>; | 
 | def RestrictedFdSetPtr : RestrictedPtrType<FdSet>; | 
 |  | 
 | def GetoptArgvT : NamedType<"__getoptargv_t">; | 
 |  | 
 | def SAFamilyType : NamedType<"sa_family_t">; | 
 | def SocklenType : NamedType<"socklen_t">; | 
 |  | 
 | def StructSockAddr : NamedType<"struct sockaddr">; | 
 | def StructSockAddrPtr : PtrType<StructSockAddr>; | 
 | def ConstStructSockAddrPtr : ConstType<StructSockAddrPtr>; | 
 |  | 
 | def StructSockAddrUn : NamedType<"struct sockaddr_un">; | 
 |  | 
 | def StructStatvfs : NamedType<"struct statvfs">; | 
 | def StructStatvfsPtr : PtrType<StructStatvfs>; | 
 | def RestrictedStructStatvfsPtr : RestrictedPtrType<StructStatvfs>; | 
 |  | 
 | def POSIX : StandardSpec<"POSIX"> { | 
 |   PtrType CharPtr = PtrType<CharType>; | 
 |   RestrictedPtrType RestrictedCharPtr = RestrictedPtrType<CharType>; | 
 |   RestrictedPtrType CharRestrictedDoublePtr = RestrictedPtrType<CharPtr>; | 
 |   ConstType ConstCharPtr = ConstType<CharPtr>; | 
 |   ConstType ConstRestrictedCharPtr = ConstType<RestrictedCharPtr>; | 
 |  | 
 |   NamedType ModeTType = NamedType<"mode_t">; | 
 |  | 
 |   NamedType PThreadAttrTType = NamedType<"pthread_attr_t">; | 
 |   PtrType PThreadAttrTPtr = PtrType<PThreadAttrTType>; | 
 |   RestrictedPtrType RestrictedPThreadAttrTPtr = RestrictedPtrType<PThreadAttrTType>; | 
 |   ConstType ConstPThreadAttrTPtr = ConstType<PThreadAttrTPtr>; | 
 |   ConstType ConstRestrictedPThreadAttrTPtr = ConstType<RestrictedPThreadAttrTPtr>; | 
 |  | 
 |   NamedType PThreadCondAttrTType = NamedType<"pthread_condattr_t">; | 
 |   PtrType PThreadCondAttrTPtr = PtrType<PThreadCondAttrTType>; | 
 |   ConstType ConstRestrictedPThreadCondAttrTPtr = ConstType<RestrictedPtrType<PThreadCondAttrTType>>; | 
 |  | 
 |   NamedType PThreadRWLockAttrTType = NamedType<"pthread_rwlockattr_t">; | 
 |   PtrType PThreadRWLockAttrTPtr = PtrType<PThreadRWLockAttrTType>; | 
 |   ConstType ConstPThreadRWLockAttrTPtr = ConstType<PThreadRWLockAttrTPtr>; | 
 |   RestrictedPtrType RestrictedPThreadRWLockAttrTPtr = RestrictedPtrType<PThreadRWLockAttrTType>; | 
 |   ConstType ConstRestrictedPThreadRWLockAttrTPtr = ConstType<RestrictedPThreadRWLockAttrTPtr>; | 
 |  | 
 |   NamedType PThreadMutexAttrTType = NamedType<"pthread_mutexattr_t">; | 
 |   PtrType PThreadMutexAttrTPtr = PtrType<PThreadMutexAttrTType>; | 
 |   RestrictedPtrType RestrictedPThreadMutexAttrTPtr = RestrictedPtrType<PThreadMutexAttrTType>; | 
 |   ConstType ConstPThreadMutexAttrTPtr = ConstType<PThreadMutexAttrTPtr>; | 
 |   ConstType ConstRestrictedPThreadMutexAttrTPtr = ConstType<RestrictedPThreadMutexAttrTPtr>; | 
 |  | 
 |   NamedType PThreadMutexTType = NamedType<"pthread_mutex_t">; | 
 |   PtrType PThreadMutexTPtr = PtrType<PThreadMutexTType>; | 
 |   RestrictedPtrType RestrictedPThreadMutexTPtr = RestrictedPtrType<PThreadMutexTType>; | 
 |   ConstType ConstPThreadMutexTPtr = ConstType<PThreadMutexTPtr>; | 
 |   ConstType ConstRestrictedPThreadMutexTPtr = ConstType<RestrictedPThreadMutexTPtr>; | 
 |  | 
 |   NamedType PThreadRWLockTType = NamedType<"pthread_rwlock_t">; | 
 |   PtrType PThreadRWLockTPtr = PtrType<PThreadRWLockTType>; | 
 |   RestrictedPtrType RestrictedPThreadRWLockTPtr = RestrictedPtrType<PThreadRWLockTType>; | 
 |  | 
 |   NamedType PThreadSpinLockTType = NamedType<"pthread_spinlock_t">; | 
 |   PtrType PThreadSpinLockTPtr = PtrType<PThreadSpinLockTType>; | 
 |  | 
 |   PtrType PThreadTPtr = PtrType<PThreadTType>; | 
 |   RestrictedPtrType RestrictedPThreadTPtr = RestrictedPtrType<PThreadTType>; | 
 |  | 
 |   HeaderSpec Errno = HeaderSpec< | 
 |       "errno.h", | 
 |       [ | 
 |         Macro<"E2BIG">, | 
 |         Macro<"EACCES">, | 
 |         Macro<"EADDRINUSE">, | 
 |         Macro<"EADDRNOTAVAIL">, | 
 |         Macro<"EAFNOSUPPORT">, | 
 |         Macro<"EAGAIN">, | 
 |         Macro<"EALREADY">, | 
 |         Macro<"EBADF">, | 
 |         Macro<"EBADMSG">, | 
 |         Macro<"EBUSY">, | 
 |         Macro<"ECANCELED">, | 
 |         Macro<"ECHILD">, | 
 |         Macro<"ECONNABORTED">, | 
 |         Macro<"ECONNREFUSED">, | 
 |         Macro<"ECONNRESET">, | 
 |         Macro<"EDEADLK">, | 
 |         Macro<"EDESTADDRREQ">, | 
 |         Macro<"EDQUOT">, | 
 |         Macro<"EEXIST">, | 
 |         Macro<"EFAULT">, | 
 |         Macro<"EFBIG">, | 
 |         Macro<"EHOSTUNREACH">, | 
 |         Macro<"EIDRM">, | 
 |         Macro<"EINPROGRESS">, | 
 |         Macro<"EINTR">, | 
 |         Macro<"EINVAL">, | 
 |         Macro<"EIO">, | 
 |         Macro<"EISCONN">, | 
 |         Macro<"EISDIR">, | 
 |         Macro<"ELOOP">, | 
 |         Macro<"EMFILE">, | 
 |         Macro<"EMLINK">, | 
 |         Macro<"EMSGSIZE">, | 
 |         Macro<"EMULTIHOP">, | 
 |         Macro<"ENAMETOOLONG">, | 
 |         Macro<"ENETDOWN">, | 
 |         Macro<"ENETRESET">, | 
 |         Macro<"ENETUNREACH">, | 
 |         Macro<"ENFILE">, | 
 |         Macro<"ENOBUFS">, | 
 |         Macro<"ENODATA">, | 
 |         Macro<"ENODEV">, | 
 |         Macro<"ENOENT">, | 
 |         Macro<"ENOEXEC">, | 
 |         Macro<"ENOLCK">, | 
 |         Macro<"ENOLINK">, | 
 |         Macro<"ENOMEM">, | 
 |         Macro<"ENOMSG">, | 
 |         Macro<"ENOPROTOOPT">, | 
 |         Macro<"ENOSPC">, | 
 |         Macro<"ENOSR">, | 
 |         Macro<"ENOSTR">, | 
 |         Macro<"ENOSYS">, | 
 |         Macro<"ENOTCONN">, | 
 |         Macro<"ENOTDIR">, | 
 |         Macro<"ENOTEMPTY">, | 
 |         Macro<"ENOTRECOVERABLE">, | 
 |         Macro<"ENOTSOCK">, | 
 |         Macro<"ENOTSUP">, | 
 |         Macro<"ENOTTY">, | 
 |         Macro<"ENXIO">, | 
 |         Macro<"EOPNOTSUPP">, | 
 |         Macro<"EOVERFLOW">, | 
 |         Macro<"EOWNERDEAD">, | 
 |         Macro<"EPERM">, | 
 |         Macro<"EPIPE">, | 
 |         Macro<"EPROTO">, | 
 |         Macro<"EPROTONOSUPPORT">, | 
 |         Macro<"EPROTOTYPE">, | 
 |         Macro<"EROFS">, | 
 |         Macro<"ESPIPE">, | 
 |         Macro<"ESRCH">, | 
 |         Macro<"ESTALE">, | 
 |         Macro<"ETIME">, | 
 |         Macro<"ETIMEDOUT">, | 
 |         Macro<"ETXTBSY">, | 
 |         Macro<"EWOULDBLOCK">, | 
 |         Macro<"EXDEV">, | 
 |       ], | 
 |       [], // Types | 
 |       [], // Enumerations | 
 |       []  // Functions | 
 |   >; | 
 |  | 
 |   HeaderSpec DlFcn = HeaderSpec< | 
 |     "dlfcn.h", | 
 |     [ | 
 |       Macro<"RTLD_LAZY">, | 
 |       Macro<"RTLD_NOW">, | 
 |       Macro<"RTLD_GLOBAL">, | 
 |       Macro<"RTLD_LOCAL">, | 
 |     ], | 
 |     [],  // Types | 
 |     [], // Enumerations | 
 |     [ | 
 |       FunctionSpec< | 
 |           "dlclose", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<VoidPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "dlerror", | 
 |           RetValSpec<CharPtr>, | 
 |           [] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "dlopen", | 
 |           RetValSpec<VoidPtr>, | 
 |           [ArgSpec<ConstCharPtr>, ArgSpec<IntType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "dlsym", | 
 |           RetValSpec<VoidPtr>, | 
 |           [ArgSpec<VoidRestrictedPtr>, ArgSpec<ConstCharRestrictedPtr>] | 
 |       >, | 
 |     ] | 
 |   >; | 
 |  | 
 |   HeaderSpec FCntl = HeaderSpec< | 
 |     "fcntl.h", | 
 |     [], // Macros | 
 |     [ | 
 |         ModeTType, | 
 |         OffTType, | 
 |     ], | 
 |     [], // Enumerations | 
 |     [ | 
 |       FunctionSpec< | 
 |           "creat", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstCharPtr>, ArgSpec<ModeTType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "fcntl", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<IntType>, ArgSpec<IntType>, ArgSpec<VarArgType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "open", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstCharPtr>, ArgSpec<IntType>, ArgSpec<VarArgType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "openat", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<IntType>, ArgSpec<ConstCharPtr>, ArgSpec<IntType>, ArgSpec<VarArgType>] | 
 |       >, | 
 |     ] | 
 |   >; | 
 |  | 
 |   HeaderSpec SysMMan = HeaderSpec< | 
 |       "sys/mman.h", | 
 |       [ | 
 |         // TODO: Add a facility to bunch macros into bitwise-or-able groups. | 
 |         // POSIX requires it, so such thing should be captured in this spec. | 
 |         Macro<"PROT_EXEC">, | 
 |         Macro<"PROT_NONE">, | 
 |         Macro<"PROT_READ">, | 
 |         Macro<"PROT_WRITE">, | 
 |  | 
 |         Macro<"MAP_FIXED">, | 
 |         Macro<"MAP_PRIVATE">, | 
 |         Macro<"MAP_SHARED">, | 
 |  | 
 |         Macro<"MAP_FAILED">, | 
 |       ], | 
 |       [ | 
 |         SizeTType, | 
 |         OffTType, | 
 |         ModeTType, | 
 |       ], | 
 |       [], // Enumerations | 
 |       [ | 
 |         FunctionSpec< | 
 |             "madvise", | 
 |             RetValSpec<IntType>, | 
 |             [ArgSpec<VoidPtr>, | 
 |              ArgSpec<SizeTType>, | 
 |              ArgSpec<IntType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |             "mmap", | 
 |             RetValSpec<VoidPtr>, | 
 |             [ArgSpec<VoidPtr>, | 
 |              ArgSpec<SizeTType>, | 
 |              ArgSpec<IntType>, | 
 |              ArgSpec<IntType>, | 
 |              ArgSpec<IntType>, | 
 |              ArgSpec<OffTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |             "mprotect", | 
 |             RetValSpec<IntType>, | 
 |             [ArgSpec<VoidPtr>, | 
 |              ArgSpec<SizeTType>, | 
 |              ArgSpec<IntType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |             "munmap", | 
 |             RetValSpec<IntType>, | 
 |             [ArgSpec<VoidPtr>, ArgSpec<SizeTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |             "posix_madvise", | 
 |             RetValSpec<IntType>, | 
 |             [ArgSpec<VoidPtr>, | 
 |              ArgSpec<SizeTType>, | 
 |              ArgSpec<IntType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "mlock", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<VoidPtr>, ArgSpec<SizeTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "munlock", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<VoidPtr>, ArgSpec<SizeTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "mlockall", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<IntType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "munlockall", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<VoidType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "msync", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<VoidPtr>, ArgSpec<SizeTType>, ArgSpec<IntType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "shm_open", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstCharPtr>, ArgSpec<IntType>, ArgSpec<ModeTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "shm_unlink", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstCharPtr>] | 
 |         >, | 
 |       ] | 
 |   >; | 
 |  | 
 |   HeaderSpec Signal = HeaderSpec< | 
 |       "signal.h", | 
 |       [], // Macros | 
 |       [ | 
 |         SigInfoType, | 
 |         SigSetType, | 
 |         StackT, | 
 |         StructSigaction, | 
 |         UnionSigVal, | 
 |         PidT, | 
 |       ], | 
 |       [], // Enumerations | 
 |       [ | 
 |         FunctionSpec< | 
 |           "kill", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PidT>, | 
 |             ArgSpec<IntType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "sigaction", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<IntType>, | 
 |            ArgSpec<ConstRestrictedStructSigactionPtr>, | 
 |            ArgSpec<RestrictedStructSigactionPtr>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "sigaltstack", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstRestrictedStackTPtr>, ArgSpec<RestrictedStackTPtr>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "sigdelset", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<SigSetPtrType>, | 
 |            ArgSpec<IntType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "sigprocmask", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<IntType>, ArgSpec<ConstRestrictedSigSetType>, ArgSpec<RestrictedSigSetType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "sigemptyset", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<SigSetPtrType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "sigaddset", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<SigSetPtrType>, | 
 |            ArgSpec<IntType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "sigfillset", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<SigSetPtrType>] | 
 |         >, | 
 |       ] | 
 |   >; | 
 |  | 
 |   HeaderSpec UniStd = HeaderSpec< | 
 |     "unistd.h", | 
 |     [], // Macros | 
 |     [ | 
 |       ExecArgvT, | 
 |       ExecEnvpT, | 
 |       OffTType, | 
 |       SSizeTType, | 
 |       SizeTType, | 
 |       PidT, | 
 |       UidT, | 
 |       GetoptArgvT, | 
 |     ], | 
 |     [], // Enumerations | 
 |     [ | 
 |         FunctionSpec< | 
 |           "_exit", | 
 |           RetValSpec<NoReturn>, | 
 |           [ArgSpec<IntType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "access", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstCharPtr>, ArgSpec<IntType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "chdir", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstCharPtr>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "dup", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<IntType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "dup2", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<IntType>, ArgSpec<IntType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "dup3", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<IntType>, ArgSpec<IntType>, ArgSpec<IntType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "fchdir", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<IntType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "getcwd", | 
 |           RetValSpec<CharPtr>, | 
 |           [ArgSpec<CharPtr>, ArgSpec<SizeTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "close", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<IntType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "execv", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstCharPtr>, ArgSpec<ExecArgvT>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "execve", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstCharPtr>, ArgSpec<ExecArgvT>, ArgSpec<ExecEnvpT>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "fork", | 
 |           RetValSpec<PidT>, | 
 |           [ArgSpec<VoidType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "fsync", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<IntType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "ftruncate", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<IntType>, ArgSpec<OffTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "geteuid", | 
 |           RetValSpec<UidT>, | 
 |           [ArgSpec<VoidType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "getpid", | 
 |           RetValSpec<PidT>, | 
 |           [ArgSpec<VoidType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "getppid", | 
 |           RetValSpec<PidT>, | 
 |           [ArgSpec<VoidType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "gettid", | 
 |           RetValSpec<PidT>, | 
 |           [ArgSpec<VoidType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "getuid", | 
 |           RetValSpec<UidT>, | 
 |           [ArgSpec<VoidType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "isatty", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<IntType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "link", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstCharPtr>, ArgSpec<ConstCharPtr>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "linkat", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<IntType>, ArgSpec<ConstCharPtr>, ArgSpec<IntType>, ArgSpec<ConstCharPtr>, ArgSpec<IntType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "lseek", | 
 |           RetValSpec<OffTType>, | 
 |           [ArgSpec<IntType>, ArgSpec<OffTType>, ArgSpec<IntType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "pread", | 
 |           RetValSpec<SSizeTType>, | 
 |           [ArgSpec<IntType>, ArgSpec<VoidPtr>, ArgSpec<SizeTType>, ArgSpec<OffTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "pwrite", | 
 |           RetValSpec<SSizeTType>, | 
 |           [ArgSpec<IntType>, ArgSpec<ConstVoidPtr>, ArgSpec<SizeTType>, ArgSpec<OffTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "read", | 
 |           RetValSpec<SSizeTType>, | 
 |           [ArgSpec<IntType>, ArgSpec<VoidPtr>, ArgSpec<SizeTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "readlink", | 
 |           RetValSpec<SSizeTType>, | 
 |           [ArgSpec<ConstCharRestrictedPtr>, ArgSpec<CharRestrictedPtr>, ArgSpec<SizeTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "readlinkat", | 
 |           RetValSpec<SSizeTType>, | 
 |           [ArgSpec<ConstCharRestrictedPtr>, ArgSpec<CharRestrictedPtr>, ArgSpec<SizeTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "rmdir", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstCharPtr>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "getpid", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<VoidType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "getppid", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<VoidType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "link", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstCharPtr>, ArgSpec<ConstCharPtr>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "linkat", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<IntType>, ArgSpec<ConstCharPtr>, ArgSpec<IntType>, ArgSpec<ConstCharPtr>, ArgSpec<IntType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "lseek", | 
 |           RetValSpec<OffTType>, | 
 |           [ArgSpec<IntType>, ArgSpec<OffTType>, ArgSpec<IntType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "pipe", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<IntPtr>] //TODO: make this int[2] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "pread", | 
 |           RetValSpec<SSizeTType>, | 
 |           [ArgSpec<IntType>, ArgSpec<VoidPtr>, ArgSpec<SizeTType>, ArgSpec<OffTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "pwrite", | 
 |           RetValSpec<SSizeTType>, | 
 |           [ArgSpec<IntType>, ArgSpec<ConstVoidPtr>, ArgSpec<SizeTType>, ArgSpec<OffTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "read", | 
 |           RetValSpec<SSizeTType>, | 
 |           [ArgSpec<IntType>, ArgSpec<VoidPtr>, ArgSpec<SizeTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "readlink", | 
 |           RetValSpec<SSizeTType>, | 
 |           [ArgSpec<ConstCharRestrictedPtr>, ArgSpec<CharRestrictedPtr>, ArgSpec<SizeTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "readlinkat", | 
 |           RetValSpec<SSizeTType>, | 
 |           [ArgSpec<ConstCharRestrictedPtr>, ArgSpec<CharRestrictedPtr>, ArgSpec<SizeTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "rmdir", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstCharPtr>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "swab", | 
 |           RetValSpec<VoidType>, | 
 |           [ArgSpec<ConstVoidRestrictedPtr>, ArgSpec<VoidPtr>, ArgSpec<SSizeTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "symlink", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstCharPtr>, ArgSpec<ConstCharPtr>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "symlinkat", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<IntType>, ArgSpec<ConstCharPtr>, ArgSpec<IntType>, ArgSpec<ConstCharPtr>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "sysconf", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<IntType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "__llvm_libc_syscall", | 
 |           RetValSpec<LongType>, | 
 |           [ArgSpec<LongType>,ArgSpec<LongType>,ArgSpec<LongType>,ArgSpec<LongType>,ArgSpec<LongType>,ArgSpec<LongType>,ArgSpec<LongType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "truncate", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstCharPtr>, ArgSpec<OffTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "unlink", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstCharPtr>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "unlinkat", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<IntType>, ArgSpec<ConstCharPtr>, ArgSpec<IntType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "write", | 
 |           RetValSpec<SSizeTType>, | 
 |           [ArgSpec<IntType>, ArgSpec<ConstVoidPtr>, ArgSpec<SizeTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "getopt", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<IntType>, ArgSpec<GetoptArgvT>, ArgSpec<ConstCharPtr>] | 
 |         >, | 
 |     ], | 
 |     [ | 
 |         ObjectSpec<"environ", "char **">, | 
 |         ObjectSpec< | 
 |           "optarg", | 
 |           "char *" | 
 |         >, | 
 |         ObjectSpec< | 
 |           "optind", | 
 |           "int" | 
 |         >, | 
 |         ObjectSpec< | 
 |           "opterr", | 
 |           "int" | 
 |         >, | 
 |         ObjectSpec< | 
 |           "optopt", | 
 |           "int" | 
 |         >, | 
 |     ] | 
 |   >; | 
 |  | 
 |   HeaderSpec StdLib = HeaderSpec< | 
 |     "stdlib.h", | 
 |     [], // Macros | 
 |     [], // Types | 
 |     [], // Enumerations | 
 |     [ | 
 |         FunctionSpec< | 
 |           "getenv", | 
 |           RetValSpec<CharPtr>, | 
 |           [ArgSpec<ConstCharPtr>] | 
 |         >, | 
 |     ] | 
 |   >; | 
 |  | 
 |   HeaderSpec Sched = HeaderSpec< | 
 |       "sched.h", | 
 |       [], // Macros | 
 |       [PidT, TimeTType, StructTimeSpec, StructSchedParam], // Types | 
 |       [], // Enumerations | 
 |       [ | 
 |         FunctionSpec< | 
 |             "sched_yield", | 
 |             RetValSpec<IntType>, | 
 |             [ArgSpec<VoidType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |             "sched_setparam", | 
 |             RetValSpec<IntType>, | 
 |             [ArgSpec<PidT>, ArgSpec<ConstStructSchedParamPtr>] | 
 |         >, | 
 |  | 
 |         FunctionSpec< | 
 |             "sched_getparam", | 
 |             RetValSpec<IntType>, | 
 |             [ArgSpec<PidT>, ArgSpec<StructSchedParamPtr>] | 
 |         >, | 
 |  | 
 |         FunctionSpec< | 
 |             "sched_setscheduler", | 
 |             RetValSpec<IntType>, | 
 |             [ArgSpec<PidT>] | 
 |         >, | 
 |  | 
 |         FunctionSpec< | 
 |             "sched_getscheduler", | 
 |             RetValSpec<IntType>, | 
 |             [ArgSpec<PidT>, ArgSpec<IntType>, ArgSpec<ConstStructSchedParamPtr>] | 
 |         >, | 
 |  | 
 |         FunctionSpec< | 
 |             "sched_get_priority_min", | 
 |             RetValSpec<IntType>, | 
 |             [ArgSpec<IntType>] | 
 |         >, | 
 |  | 
 |         FunctionSpec< | 
 |             "sched_get_priority_max", | 
 |             RetValSpec<IntType>, | 
 |             [ArgSpec<IntType>] | 
 |         >, | 
 |  | 
 |         FunctionSpec< | 
 |             "sched_rr_get_interval", | 
 |             RetValSpec<IntType>, | 
 |             [ArgSpec<PidT>, ArgSpec<StructTimeSpecPtr>] | 
 |         >, | 
 |       ] | 
 |   >; | 
 |  | 
 |   HeaderSpec String = HeaderSpec< | 
 |     "string.h", | 
 |     [ | 
 |         Macro<"NULL">, | 
 |     ], | 
 |     [ | 
 |         SizeTType, | 
 |     ], | 
 |     [], // Enumerations | 
 |     [ | 
 |         FunctionSpec< | 
 |             "memccpy", | 
 |             RetValSpec<VoidPtr>, | 
 |             [ArgSpec<VoidRestrictedPtr>, | 
 |              ArgSpec<ConstVoidRestrictedPtr>, | 
 |              ArgSpec<IntType>, | 
 |              ArgSpec<SizeTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |             "mempcpy", | 
 |             RetValSpec<VoidPtr>, | 
 |             [ArgSpec<VoidRestrictedPtr>, | 
 |              ArgSpec<ConstVoidRestrictedPtr>, | 
 |              ArgSpec<SizeTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |             "stpcpy", | 
 |             RetValSpec<CharPtr>, | 
 |             [ArgSpec<RestrictedCharPtr>, | 
 |              ArgSpec<ConstRestrictedCharPtr>] | 
 |         >, | 
 |         FunctionSpec< | 
 |             "stpncpy", | 
 |             RetValSpec<CharPtr>, | 
 |             [ArgSpec<RestrictedCharPtr>, | 
 |              ArgSpec<ConstRestrictedCharPtr>, | 
 |              ArgSpec<SizeTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |             "strnlen", | 
 |              RetValSpec<SizeTType>, | 
 |              [ArgSpec<ConstCharPtr>, ArgSpec<SizeTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |             "strtok_r", | 
 |             RetValSpec<CharPtr>, | 
 |             [ArgSpec<RestrictedCharPtr>, | 
 |              ArgSpec<ConstRestrictedCharPtr>, | 
 |              ArgSpec<CharRestrictedDoublePtr>] | 
 |         >, | 
 |         FunctionSpec< | 
 |             "strsignal", | 
 |             RetValSpec<CharPtr>, | 
 |             [ArgSpec<IntType>] | 
 |         >, | 
 |     ] | 
 |   >; | 
 |  | 
 |   HeaderSpec CType = HeaderSpec< | 
 |     "ctype.h", | 
 |     [], // Macros | 
 |     [], // Types | 
 |     [], // Enumerations | 
 |     [ | 
 |         FunctionSpec< | 
 |             "isascii", | 
 |             RetValSpec<IntType>, | 
 |             [ArgSpec<IntType>] | 
 |         >, | 
 |     ] | 
 |   >; | 
 |  | 
 |   NamedType RLimTType = NamedType<"rlim_t">; | 
 |   NamedType StructRLimitType = NamedType<"struct rlimit">; | 
 |   PtrType StructRLimitPtr = PtrType<StructRLimitType>; | 
 |   ConstType ConstStructRLimitPtr = ConstType<StructRLimitType>; | 
 |   HeaderSpec SysResource = HeaderSpec< | 
 |     "sys/resource.h", | 
 |     [], // Macros | 
 |     [RLimTType, StructRLimitType], // Types | 
 |     [], // Enumerations | 
 |     [ | 
 |         FunctionSpec< | 
 |           "getrlimit", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<StructRLimitPtr>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "setrlimit", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstStructRLimitPtr>] | 
 |         >, | 
 |     ] | 
 |   >; | 
 |  | 
 |   HeaderSpec SysStat = HeaderSpec< | 
 |     "sys/stat.h", | 
 |     [], // Macros | 
 |     [ | 
 |         ModeTType, | 
 |         DevT, | 
 |         InoT, | 
 |         UidT, | 
 |         GidT, | 
 |         StructTimeSpec, | 
 |         StructTimevalType, | 
 |         BlkSizeT, | 
 |         BlkCntT, | 
 |         OffTType, | 
 |         NLinkT, | 
 |         StatType, | 
 |     ], // Types | 
 |     [], // Enumerations | 
 |     [ | 
 |         FunctionSpec< | 
 |           "chmod", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstCharPtr>, ArgSpec<ModeTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "fchmod", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<IntType>, ArgSpec<ModeTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "fchmodat", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<IntType>, ArgSpec<ConstCharPtr>, ArgSpec<ModeTType>, ArgSpec<IntType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |             "fstat", | 
 |             RetValSpec<IntType>, | 
 |             [ArgSpec<IntType>, ArgSpec<StatTypePtr>] | 
 |         >, | 
 |         FunctionSpec< | 
 |             "lstat", | 
 |             RetValSpec<IntType>, | 
 |             [ArgSpec<ConstRestrictedCharPtr>, ArgSpec<RestrictedStatTypePtr>] | 
 |         >, | 
 |         FunctionSpec< | 
 |             "mkdir", | 
 |             RetValSpec<IntType>, | 
 |             [ArgSpec<ConstCharPtr>, ArgSpec<ModeTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |             "mkdirat", | 
 |             RetValSpec<IntType>, | 
 |             [ArgSpec<IntType>, ArgSpec<ConstCharPtr>, ArgSpec<ModeTType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |             "stat", | 
 |             RetValSpec<IntType>, | 
 |             [ArgSpec<ConstRestrictedCharPtr>, ArgSpec<RestrictedStatTypePtr>] | 
 |         >, | 
 |     ] | 
 |   >; | 
 |  | 
 |   HeaderSpec SysStatvfs = HeaderSpec< | 
 |       "sys/statvfs.h", | 
 |       [], // Macros | 
 |       [StructStatvfs], // Types | 
 |       [], // Enumerations | 
 |       [ | 
 |         FunctionSpec< | 
 |           "statvfs", | 
 |           RetValSpec<IntType>, | 
 |           [ | 
 |             ArgSpec<ConstRestrictedCharPtr>, | 
 |             ArgSpec<RestrictedStructStatvfsPtr> | 
 |           ] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "fstatvfs", | 
 |           RetValSpec<IntType>, | 
 |           [ | 
 |             ArgSpec<IntType>, | 
 |             ArgSpec<StructStatvfsPtr> | 
 |           ] | 
 |         >, | 
 |       ]  // Functions | 
 |     >; | 
 |  | 
 |   NamedType StructUtsName = NamedType<"struct utsname">; | 
 |   PtrType StructUtsNamePtr = PtrType<StructUtsName>; | 
 |   HeaderSpec SysUtsName = HeaderSpec< | 
 |     "sys/utsname.h", | 
 |     [], // Macros | 
 |     [StructUtsName], // Types | 
 |     [], // Enumerations | 
 |     [ | 
 |         FunctionSpec< | 
 |             "uname", | 
 |             RetValSpec<IntType>, | 
 |             [ArgSpec<StructUtsNamePtr>] | 
 |         >, | 
 |     ] | 
 |   >; | 
 |  | 
 |   HeaderSpec ArpaInet = HeaderSpec< | 
 |       "arpa/inet.h", | 
 |       [], // Macros | 
 |       [], // Types | 
 |       [], // Enumerations | 
 |       [ | 
 |           FunctionSpec< | 
 |               "htonl", | 
 |               RetValSpec<UInt32Type>, | 
 |               [ArgSpec<UInt32Type>] | 
 |           >, | 
 |           FunctionSpec< | 
 |               "htons", | 
 |               RetValSpec<UInt16Type>, | 
 |               [ArgSpec<UInt16Type>] | 
 |           >, | 
 |           FunctionSpec< | 
 |               "ntohl", | 
 |               RetValSpec<UInt32Type>, | 
 |               [ArgSpec<UInt32Type>] | 
 |           >, | 
 |           FunctionSpec< | 
 |               "ntohs", | 
 |               RetValSpec<UInt16Type>, | 
 |               [ArgSpec<UInt16Type>] | 
 |           >, | 
 |       ] | 
 |   >; | 
 |  | 
 |   HeaderSpec PThread = HeaderSpec< | 
 |     "pthread.h", | 
 |     [], // Macros | 
 |     [ | 
 |         AtForkCallbackT, | 
 |         ClockIdT, | 
 |         PThreadAttrTType, | 
 |         PThreadCondAttrTType, | 
 |         PThreadKeyT, | 
 |         PThreadMutexAttrTType, | 
 |         PThreadMutexTType, | 
 |         PThreadOnceCallback, | 
 |         PThreadOnceT, | 
 |         PThreadRWLockAttrTType, | 
 |         PThreadRWLockTType, | 
 |         PThreadSpinLockTType, | 
 |         PThreadStartT, | 
 |         PThreadTSSDtorT, | 
 |         PThreadTType, | 
 |     ], // Types | 
 |     [], // Enumerations | 
 |     [ | 
 |       FunctionSpec< | 
 |           "pthread_atfork", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<AtForkCallbackT>, ArgSpec<AtForkCallbackT>, ArgSpec<AtForkCallbackT>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_attr_init", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadAttrTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_attr_destroy", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadAttrTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_attr_getdetachstate", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstPThreadAttrTPtr>, ArgSpec<IntPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_attr_setdetachstate", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadAttrTPtr>, ArgSpec<IntType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_attr_getguardsize", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstRestrictedPThreadAttrTPtr>, ArgSpec<RestrictedSizeTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_attr_setguardsize", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadAttrTPtr>, ArgSpec<SizeTType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_attr_getstacksize", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstRestrictedPThreadAttrTPtr>, ArgSpec<RestrictedSizeTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_attr_setstacksize", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadAttrTPtr>, ArgSpec<SizeTType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_attr_getstack", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstRestrictedPThreadAttrTPtr>, ArgSpec<RestrictedVoidPtrPtr>, ArgSpec<RestrictedSizeTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_attr_setstack", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadAttrTPtr>, ArgSpec<VoidPtr>, ArgSpec<SizeTType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_condattr_destroy", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadCondAttrTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_condattr_getclock", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstRestrictedPThreadCondAttrTPtr>, ArgSpec<RestrictedClockIdTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_condattr_getpshared", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstRestrictedPThreadCondAttrTPtr>, ArgSpec<RestrictedIntPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_condattr_init", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadCondAttrTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_condattr_setclock", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadCondAttrTPtr>, ArgSpec<ClockIdT>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_condattr_setpshared", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadCondAttrTPtr>, ArgSpec<IntType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_create", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<RestrictedPThreadTPtr>, ArgSpec<ConstRestrictedPThreadAttrTPtr>, ArgSpec<PThreadStartT>, ArgSpec<VoidPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_join", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadTType>, ArgSpec<VoidPtrPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_detach", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadTType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_exit", | 
 |           RetValSpec<NoReturn>, | 
 |           [ArgSpec<VoidPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_self", | 
 |           RetValSpec<PThreadTType>, | 
 |           [ArgSpec<VoidType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_equal", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadTType>, ArgSpec<PThreadTType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_mutexattr_init", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadMutexAttrTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_mutexattr_destroy", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadMutexAttrTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_mutexattr_gettype", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstRestrictedPThreadMutexAttrTPtr>, ArgSpec<RestrictedIntPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_mutexattr_settype", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<RestrictedPThreadMutexAttrTPtr>, ArgSpec<IntType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_mutexattr_getrobust", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstRestrictedPThreadMutexAttrTPtr>, ArgSpec<RestrictedIntPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_mutexattr_setrobust", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<RestrictedPThreadMutexAttrTPtr>, ArgSpec<IntType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_mutexattr_getpshared", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstRestrictedPThreadMutexAttrTPtr>, ArgSpec<RestrictedIntPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_mutexattr_setpshared", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<RestrictedPThreadMutexAttrTPtr>, ArgSpec<IntType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_mutexattr_getprotocol", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstRestrictedPThreadMutexAttrTPtr>, ArgSpec<RestrictedIntPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_mutexattr_setprotocol", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<RestrictedPThreadMutexAttrTPtr>, ArgSpec<IntType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_mutexattr_getprioceiling", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstRestrictedPThreadMutexAttrTPtr>, ArgSpec<RestrictedIntPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_mutexattr_setprioceiling", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<RestrictedPThreadMutexAttrTPtr>, ArgSpec<IntType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_mutex_init", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<RestrictedPThreadMutexTPtr>, ArgSpec<ConstRestrictedPThreadMutexAttrTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_mutex_destroy", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadMutexTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_mutex_lock", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadMutexTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_mutex_unlock", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadMutexTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_key_create", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadKeyTPtr>, ArgSpec<PThreadTSSDtorT>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_key_delete", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadKeyT>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_getspecific", | 
 |           RetValSpec<VoidPtr>, | 
 |           [ArgSpec<PThreadKeyT>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_setspecific", | 
 |           RetValSpec<VoidPtr>, | 
 |           [ArgSpec<PThreadKeyT>, ArgSpec<ConstVoidPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_once", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadOnceTPtr>, ArgSpec<PThreadOnceCallback>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_rwlockattr_destroy", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadRWLockAttrTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_rwlockattr_getkind_np", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadRWLockAttrTPtr>, ArgSpec<IntPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_rwlockattr_getpshared", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<ConstPThreadRWLockAttrTPtr>, ArgSpec<IntPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_rwlockattr_init", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadRWLockAttrTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_rwlockattr_setkind_np", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadRWLockAttrTPtr>, ArgSpec<IntType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |           "pthread_rwlockattr_setpshared", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<PThreadRWLockAttrTPtr>, ArgSpec<IntType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "pthread_rwlock_init", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<PThreadRWLockTPtr>, ArgSpec<ConstRestrictedPThreadRWLockAttrTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "pthread_rwlock_tryrdlock", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<PThreadRWLockTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "pthread_rwlock_trywrlock", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<PThreadRWLockTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "pthread_rwlock_timedrdlock", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<RestrictedPThreadRWLockTPtr>, ArgSpec<ConstRestrictStructTimeSpecPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "pthread_rwlock_timedwrlock", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<RestrictedPThreadRWLockTPtr>, ArgSpec<ConstRestrictStructTimeSpecPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "pthread_rwlock_clockrdlock", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<RestrictedPThreadRWLockTPtr>, ArgSpec<ClockIdT>, ArgSpec<ConstRestrictStructTimeSpecPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "pthread_rwlock_clockwrlock", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<RestrictedPThreadRWLockTPtr>, ArgSpec<ClockIdT>, ArgSpec<ConstRestrictStructTimeSpecPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "pthread_rwlock_rdlock", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<PThreadRWLockTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "pthread_rwlock_wrlock", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<PThreadRWLockTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "pthread_rwlock_unlock", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<PThreadRWLockTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "pthread_rwlock_destroy", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<PThreadRWLockTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "pthread_spin_init", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<PThreadSpinLockTPtr>, ArgSpec<IntType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "pthread_spin_destroy", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<PThreadSpinLockTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "pthread_spin_lock", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<PThreadSpinLockTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "pthread_spin_trylock", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<PThreadSpinLockTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "pthread_spin_unlock", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<PThreadSpinLockTPtr>] | 
 |       > | 
 |     ] | 
 |   >; | 
 |  | 
 |   HeaderSpec StdIO = HeaderSpec< | 
 |       "stdio.h", | 
 |       [], // Macros | 
 |       [OffTType], // Types | 
 |       [], // Enumerations | 
 |       [ | 
 |           FunctionSpec< | 
 |               "flockfile", | 
 |               RetValSpec<VoidType>, | 
 |               [ArgSpec<FILEPtr>] | 
 |           >, | 
 |           FunctionSpec< | 
 |               "funlockfile", | 
 |               RetValSpec<VoidType>, | 
 |               [ArgSpec<FILEPtr>] | 
 |           >, | 
 |           FunctionSpec< | 
 |               "getc_unlocked", | 
 |               RetValSpec<IntType>, | 
 |               [ArgSpec<FILEPtr>] | 
 |           >, | 
 |           FunctionSpec< | 
 |               "getchar_unlocked", | 
 |               RetValSpec<IntType>, | 
 |               [ArgSpec<VoidType>] | 
 |           >, | 
 |           FunctionSpec< | 
 |             "fileno", | 
 |             RetValSpec<IntType>, | 
 |             [ArgSpec<FILEPtr>] | 
 |           >, | 
 |           FunctionSpec< | 
 |             "fdopen", | 
 |             RetValSpec<FILEPtr>, | 
 |             [ArgSpec<IntType>, ArgSpec<ConstCharPtr>] | 
 |           >, | 
 |       ] | 
 |   >; | 
 |  | 
 |   HeaderSpec Dirent = HeaderSpec< | 
 |       "dirent.h", | 
 |       [], // Macros | 
 |       [InoT, StructDirent, DIR], // Types | 
 |       [], // Enumerations | 
 |       [ | 
 |           FunctionSpec< | 
 |               "alphasort", | 
 |               RetValSpec<IntType>, | 
 |               [ArgSpec<ConstStructDirentPtrPtr>, ArgSpec<ConstStructDirentPtrPtr>] | 
 |           >, | 
 |           FunctionSpec< | 
 |               "closedir", | 
 |               RetValSpec<IntType>, | 
 |               [ArgSpec<DIRPtr>] | 
 |           >, | 
 |           FunctionSpec< | 
 |               "dirfd", | 
 |               RetValSpec<IntType>, | 
 |               [ArgSpec<DIRPtr>] | 
 |           >, | 
 |           FunctionSpec< | 
 |               "fdopendir", | 
 |               RetValSpec<DIRPtr>, | 
 |               [ArgSpec<IntType>] | 
 |           >, | 
 |           FunctionSpec< | 
 |               "opendir", | 
 |               RetValSpec<DIRPtr>, | 
 |               [ArgSpec<ConstCharPtr>] | 
 |           >, | 
 |           FunctionSpec< | 
 |               "readdir", | 
 |               RetValSpec<StructDirentPtr>, | 
 |               [ArgSpec<DIRPtr>] | 
 |           >, | 
 |       ] | 
 |   >; | 
 |  | 
 |   HeaderSpec Time = HeaderSpec< | 
 |       "time.h", | 
 |       [], // Macros | 
 |       [ClockIdT, StructTimeSpec, StructTimevalType], // Types | 
 |       [], // Enumerations | 
 |       [ | 
 |           FunctionSpec< | 
 |               "clock_gettime", | 
 |               RetValSpec<IntType>, | 
 |               [ArgSpec<ClockIdT>, ArgSpec<StructTimeSpecPtr>] | 
 |           >, | 
 |           FunctionSpec< | 
 |               "gettimeofday", | 
 |               RetValSpec<IntType>, | 
 |               [ArgSpec<StructTimevalPtr>, ArgSpec<VoidPtr>] | 
 |           >, | 
 |           FunctionSpec< | 
 |               "nanosleep", | 
 |               RetValSpec<IntType>, | 
 |               [ArgSpec<ConstStructTimeSpecPtr>, ArgSpec<StructTimeSpecPtr>] | 
 |           >, | 
 |       ] | 
 |   >; | 
 |  | 
 |   HeaderSpec SysWait = HeaderSpec< | 
 |     "sys/wait.h", | 
 |     [], // Macros | 
 |     [PidT, StructRUsage, SigInfoType], | 
 |     [], // Enumerations | 
 |     [ | 
 |       FunctionSpec< | 
 |         "wait", | 
 |         RetValSpec<PidT>, | 
 |         [ArgSpec<IntPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "waitpid", | 
 |         RetValSpec<PidT>, | 
 |         [ArgSpec<PidT>, ArgSpec<IntPtr>, ArgSpec<IntType>] | 
 |       > | 
 |     ] | 
 |   >; | 
 |  | 
 |   HeaderSpec SysIOctl = HeaderSpec< | 
 |     "sys/ioctl.h", | 
 |     [ | 
 |       Macro<"TIOCGETD">, | 
 |     ],  // Macros | 
 |     [], // Types | 
 |     [], // Enumerations | 
 |     []  // Functions | 
 |   >; | 
 |  | 
 |   HeaderSpec Spawn = HeaderSpec< | 
 |     "spawn.h", | 
 |     [], // Macros | 
 |     [ModeTType, PosixSpawnAttrT, PidT, PosixSpawnFileActionsT], | 
 |     [], // Enumerations | 
 |     [ | 
 |       FunctionSpec< | 
 |         "posix_spawn_file_actions_addclose", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<PosixSpawnFileActionsTPtr>, ArgSpec<IntType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "posix_spawn_file_actions_adddup2", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<PosixSpawnFileActionsTPtr>, ArgSpec<IntType>, ArgSpec<IntType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "posix_spawn_file_actions_addopen", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<PosixSpawnFileActionsTRestrictedPtr>, ArgSpec<IntType>, | 
 |          ArgSpec<ConstCharRestrictedPtr>, ArgSpec<IntType>, ArgSpec<ModeTType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "posix_spawn_file_actions_destroy", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<PosixSpawnFileActionsTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "posix_spawn_file_actions_init", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<PosixSpawnFileActionsTPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "posix_spawn", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<RestrictedPidTPtr>, ArgSpec<ConstCharRestrictedPtr>, | 
 |          ArgSpec<PosixSpawnFileActionsTPtr>, ArgSpec<RestrictedPosixSpawnAttrTPtrType>, | 
 |          ArgSpec<ConstCharRestrictedPtrPtr>, ArgSpec<ConstCharRestrictedPtrPtr>] | 
 |       >, | 
 |     ] | 
 |   >; | 
 |  | 
 |   HeaderSpec Search = HeaderSpec< | 
 |     "search.h", | 
 |     [], // Macros | 
 |     [ | 
 |         ActionType, | 
 |         EntryType | 
 |     ], // Types | 
 |     [], // Enumerations | 
 |     [ | 
 |         FunctionSpec< | 
 |             "hcreate", | 
 |             RetValSpec<IntType>, | 
 |             [ | 
 |                 ArgSpec<SizeTType> | 
 |             ] | 
 |         >, | 
 |         FunctionSpec< | 
 |             "hdestroy", | 
 |             RetValSpec<VoidType>, | 
 |             [] // Args | 
 |         >, | 
 |         FunctionSpec< | 
 |             "hsearch", | 
 |             RetValSpec<EntryTypePtr>, | 
 |             [ | 
 |                 ArgSpec<EntryType>, | 
 |                 ArgSpec<ActionType> | 
 |             ] | 
 |         >, | 
 |         FunctionSpec< | 
 |             "insque", | 
 |             RetValSpec<VoidType>, | 
 |             [ | 
 |                 ArgSpec<VoidPtr>, | 
 |                 ArgSpec<VoidPtr> | 
 |             ] | 
 |         >, | 
 |         FunctionSpec< | 
 |             "remque", | 
 |             RetValSpec<VoidType>, | 
 |             [ | 
 |                 ArgSpec<VoidPtr> | 
 |             ] | 
 |         >, | 
 |     ] | 
 |   >; | 
 |  | 
 |   HeaderSpec Termios = HeaderSpec< | 
 |     "termios.h", | 
 |     [ | 
 |       Macro<"NCCS">, | 
 |     ], | 
 |     [CcT, PidT, SpeedT, StructTermios, TcFlagT], // Types | 
 |     [], // Enumerations | 
 |     [ | 
 |       FunctionSpec< | 
 |         "cfgetispeed", | 
 |         RetValSpec<SpeedT>, | 
 |         [ArgSpec<ConstStructTermiosPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "cfgetospeed", | 
 |         RetValSpec<SpeedT>, | 
 |         [ArgSpec<ConstStructTermiosPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "cfsetispeed", | 
 |         RetValSpec<SpeedT>, | 
 |         [ArgSpec<StructTermiosPtr>, ArgSpec<SpeedT>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "cfsetospeed", | 
 |         RetValSpec<SpeedT>, | 
 |         [ArgSpec<StructTermiosPtr>, ArgSpec<SpeedT>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "tcdrain", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<IntType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "tcflow", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<IntType>, ArgSpec<IntType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "tcflush", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<IntType>, ArgSpec<IntType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "tcgetattr", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<IntType>, ArgSpec<StructTermiosPtr>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "tcgetsid", | 
 |         RetValSpec<PidT>, | 
 |         [ArgSpec<IntType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "tcsendbreak", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<IntType>, ArgSpec<IntType>] | 
 |       >, | 
 |       FunctionSpec< | 
 |         "tcsetattr", | 
 |         RetValSpec<IntType>, | 
 |         [ArgSpec<IntType>, ArgSpec<IntType>, ArgSpec<StructTermiosPtr>] | 
 |       >, | 
 |     ] | 
 |   >; | 
 |  | 
 |   HeaderSpec SysSelect = HeaderSpec< | 
 |     "sys/select.h", | 
 |     [], // Macros | 
 |     [FdSet, SigSetType, StructTimevalType, StructTimeSpec, SuSecondsT, TimeTType], | 
 |     [], // Enumerations | 
 |     [ | 
 |       FunctionSpec< | 
 |         "select", | 
 |         RetValSpec<IntType>, | 
 |         [ | 
 |             ArgSpec<IntType>, ArgSpec<RestrictedFdSetPtr>, ArgSpec<RestrictedFdSetPtr>, | 
 |             ArgSpec<RestrictedFdSetPtr>, ArgSpec<RestrictedStructTimevalPtr> | 
 |         ] | 
 |       > | 
 |     ] | 
 |   >; | 
 |  | 
 |   HeaderSpec SysSocket = HeaderSpec< | 
 |       "sys/socket.h", | 
 |       [ | 
 |         Macro<"AF_UNSPEC">, | 
 |         Macro<"AF_UNIX">, | 
 |         Macro<"AF_LOCAL">, | 
 |         Macro<"AF_INET">, | 
 |         Macro<"AF_INET6">, | 
 |         Macro<"SOCK_STREAM">, | 
 |         Macro<"SOCK_DGRAM">, | 
 |         Macro<"SOCK_RAW">, | 
 |         Macro<"SOCK_RDM">, | 
 |         Macro<"SOCK_SEQPACKET">, | 
 |         Macro<"SOCK_PACKET">, | 
 |       ], // Macros | 
 |       [ | 
 |         SAFamilyType, | 
 |         StructSockAddr, | 
 |         StructSockAddrUn, | 
 |         SocklenType, | 
 |       ], // Types | 
 |       [], // Enumerations | 
 |       [ | 
 |         FunctionSpec< | 
 |           "socket", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<IntType>, ArgSpec<IntType>, ArgSpec<IntType>] | 
 |         >, | 
 |         FunctionSpec< | 
 |           "bind", | 
 |           RetValSpec<IntType>, | 
 |           [ArgSpec<IntType>, ArgSpec<ConstStructSockAddrPtr>, ArgSpec<SocklenType>] | 
 |         >, | 
 |       ]  // Functions | 
 |   >; | 
 |  | 
 |   HeaderSpec SysTypes = HeaderSpec< | 
 |     "sys/types.h", | 
 |     [], // Macros | 
 |     [ | 
 |       BlkCntT, | 
 |       BlkSizeT, | 
 |       ClockIdT, | 
 |       DevT, | 
 |       GidT, | 
 |       InoT, | 
 |       ModeTType, | 
 |       NLinkT, | 
 |       OffTType, | 
 |       PThreadAttrTType, | 
 |       PThreadCondAttrTType, | 
 |       PThreadKeyT, | 
 |       PThreadMutexAttrTType, | 
 |       PThreadMutexTType, | 
 |       PThreadOnceT, | 
 |       PThreadRWLockAttrTType, | 
 |       PThreadRWLockTType, | 
 |       PThreadTType, | 
 |       PidT, | 
 |       SSizeTType, | 
 |       SizeTType, | 
 |       SuSecondsT, | 
 |       TimeTType, | 
 |       UidT | 
 |     ], // Types | 
 |     [], // Enumerations | 
 |     []  // Functions | 
 |   >; | 
 |  | 
 |   let Headers = [ | 
 |     ArpaInet, | 
 |     CType, | 
 |     Dirent, | 
 |     DlFcn, | 
 |     Errno, | 
 |     FCntl, | 
 |     PThread, | 
 |     Sched, | 
 |     Signal, | 
 |     Spawn, | 
 |     StdIO, | 
 |     StdLib, | 
 |     SysIOctl, | 
 |     SysMMan, | 
 |     SysResource, | 
 |     SysSelect, | 
 |     SysSocket, | 
 |     SysStat, | 
 |     SysStatvfs, | 
 |     SysTypes, | 
 |     SysUtsName, | 
 |     SysWait, | 
 |     Time, | 
 |     Termios, | 
 |     UniStd, | 
 |     String, | 
 |     Search, | 
 |   ]; | 
 | } |