Mercurial > hg > CbC > CbC_llvm
diff libc/spec/posix.td @ 150:1d019706d866
LLVM10
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 15:10:13 +0900 |
parents | |
children | 0572611fdcc8 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libc/spec/posix.td Thu Feb 13 15:10:13 2020 +0900 @@ -0,0 +1,133 @@ +def POSIX : StandardSpec<"POSIX"> { + NamedType OffTType = NamedType<"off_t">; + + 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 + [] // Functions + >; + + 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, + ], + [ + FunctionSpec< + "mmap", + RetValSpec<VoidPtr>, + [ArgSpec<VoidPtr>, + ArgSpec<SizeTType>, + ArgSpec<IntType>, + ArgSpec<IntType>, + ArgSpec<IntType>, + ArgSpec<OffTType>] + >, + FunctionSpec< + "munmap", + RetValSpec<IntType>, + [ArgSpec<VoidPtr>, ArgSpec<SizeTType>] + >, + ] + >; + + let Headers = [ + Errno, + SysMMan, + ]; +}