Mercurial > hg > CbC > CbC_llvm
diff libc/spec/posix.td @ 252:1f2b6ac9f198 llvm-original
LLVM16-1
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 18 Aug 2023 09:04:13 +0900 |
parents | c4bab56944e8 |
children |
line wrap: on
line diff
--- a/libc/spec/posix.td Wed Nov 09 17:47:54 2022 +0900 +++ b/libc/spec/posix.td Fri Aug 18 09:04:13 2023 +0900 @@ -45,6 +45,10 @@ def StructTimeSpec : NamedType<"struct timespec">; def StructTimeSpecPtr : PtrType<StructTimeSpec>; +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">; @@ -76,6 +80,10 @@ def GetoptArgvT : NamedType<"__getoptargv_t">; +def StructSockAddr : NamedType<"struct sockaddr">; +def StructSockAddrPtr : PtrType<StructSockAddr>; +def SAFamilyType : NamedType<"sa_family_t">; + def POSIX : StandardSpec<"POSIX"> { PtrType CharPtr = PtrType<CharType>; RestrictedPtrType RestrictedCharPtr = RestrictedPtrType<CharType>; @@ -417,7 +425,7 @@ FunctionSpec< "ftruncate", RetValSpec<IntType>, - [ArgSpec<ConstCharPtr>, ArgSpec<OffTType>] + [ArgSpec<IntType>, ArgSpec<OffTType>] >, FunctionSpec< "geteuid", @@ -545,6 +553,11 @@ [ArgSpec<ConstCharPtr>] >, FunctionSpec< + "swab", + RetValSpec<VoidType>, + [ArgSpec<ConstVoidRestrictedPtr>, ArgSpec<VoidPtr>, ArgSpec<SSizeTType>] + >, + FunctionSpec< "symlink", RetValSpec<IntType>, [ArgSpec<ConstCharPtr>, ArgSpec<ConstCharPtr>] @@ -567,7 +580,7 @@ FunctionSpec< "truncate", RetValSpec<IntType>, - [ArgSpec<IntType>, ArgSpec<OffTType>] + [ArgSpec<ConstCharPtr>, ArgSpec<OffTType>] >, FunctionSpec< "unlink", @@ -625,6 +638,61 @@ ] >; + 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", [ @@ -723,7 +791,20 @@ HeaderSpec SysStat = HeaderSpec< "sys/stat.h", [], // Macros - [ModeTType, DevT, InoT, UidT, GidT, StructTimeSpec, BlkSizeT, BlkCntT, OffTType, NLinkT, StatType], // Types + [ + ModeTType, + DevT, + InoT, + UidT, + GidT, + StructTimeSpec, + StructTimevalType, + BlkSizeT, + BlkCntT, + OffTType, + NLinkT, + StatType, + ], // Types [], // Enumerations [ FunctionSpec< @@ -785,6 +866,35 @@ ] >; + 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 @@ -874,7 +984,7 @@ >, FunctionSpec< "pthread_exit", - RetValSpec<VoidType>, + RetValSpec<NoReturn>, [ArgSpec<VoidPtr>] >, FunctionSpec< @@ -1011,6 +1121,16 @@ RetValSpec<VoidType>, [ArgSpec<FILEPtr>] >, + FunctionSpec< + "getc_unlocked", + RetValSpec<IntType>, + [ArgSpec<FILEPtr>] + >, + FunctionSpec< + "getchar_unlocked", + RetValSpec<IntType>, + [ArgSpec<VoidType>] + >, ] >; @@ -1056,21 +1176,23 @@ HeaderSpec Time = HeaderSpec< "time.h", [], // Macros - [ClockIdT, StructTimeSpec], // Types + [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<StructTimeSpecPtr>, - ArgSpec<StructTimeSpecPtr>, - ] - >, - FunctionSpec< - "clock_gettime", - RetValSpec<IntType>, - [ArgSpec<ClockIdT>,ArgSpec<StructTimeSpecPtr>] + [ArgSpec<StructTimeSpecPtr>, ArgSpec<StructTimeSpecPtr>] >, ] >; @@ -1078,7 +1200,7 @@ HeaderSpec SysWait = HeaderSpec< "sys/wait.h", [], // Macros - [PidT, StructRUsage], + [PidT, StructRUsage, SigInfoType], [], // Enumerations [ FunctionSpec< @@ -1229,6 +1351,34 @@ ] >; + 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 + [ + StructSockAddr, SAFamilyType, + ], // Types + [], // Enumerations + [ + FunctionSpec< + "socket", + RetValSpec<IntType>, + [ArgSpec<IntType>, ArgSpec<IntType>, ArgSpec<IntType>] + >, + ] // Functions + >; + HeaderSpec SysTypes = HeaderSpec< "sys/types.h", [], // Macros @@ -1240,11 +1390,13 @@ >; let Headers = [ + ArpaInet, CType, Dirent, Errno, FCntl, PThread, + Sched, Signal, Spawn, StdIO, @@ -1253,6 +1405,7 @@ SysMMan, SysResource, SysSelect, + SysSocket, SysStat, SysTypes, SysUtsName,