Mercurial > hg > CbC > CbC_llvm
view libc/spec/posix.td @ 207:2e18cbf3894f
LLVM12
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 08 Jun 2021 06:07:14 +0900 |
parents | 0572611fdcc8 |
children | c4bab56944e8 |
line wrap: on
line source
def SigSetType : NamedType<"sigset_t">; def SigSetPtrType : PtrType<SigSetType>; def ConstSigSetPtrType : ConstType<SigSetPtrType>; def RestrictedSigSetType : RestrictedPtrType<SigSetType>; def ConstRestrictedSigSetType : ConstType<RestrictedSigSetType>; def StructSigaction : NamedType<"struct sigaction">; def StructSigactionPtr : PtrType<StructSigaction>; def ConstStructSigactionPtr : ConstType<StructSigactionPtr>; def RestrictedStructSigactionPtr : RestrictedPtrType<StructSigaction>; def ConstRestrictedStructSigactionPtr : ConstType<RestrictedStructSigactionPtr>; 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 OffTType = NamedType<"off_t">; NamedType SSizeTType = NamedType<"ssize_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 [], // Enumerations [] // 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, ], [], // Enumerations [ FunctionSpec< "mmap", RetValSpec<VoidPtr>, [ArgSpec<VoidPtr>, ArgSpec<SizeTType>, ArgSpec<IntType>, ArgSpec<IntType>, ArgSpec<IntType>, ArgSpec<OffTType>] >, FunctionSpec< "munmap", RetValSpec<IntType>, [ArgSpec<VoidPtr>, ArgSpec<SizeTType>] >, ] >; HeaderSpec Signal = HeaderSpec< "signal.h", [], // Macros [ SigSetType, StructSigaction, ], [], // Enumerations [ FunctionSpec< "sigaction", RetValSpec<IntType>, [ArgSpec<IntType>, ArgSpec<ConstRestrictedStructSigactionPtr>, ArgSpec<RestrictedStructSigactionPtr>] >, 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 [ SSizeTType, SizeTType, ], [], // Enumerations [ FunctionSpec< "write", RetValSpec<SSizeTType>, [ArgSpec<IntType>, ArgSpec<ConstVoidPtr>, ArgSpec<SizeTType>] >, ] >; HeaderSpec String = HeaderSpec< "string.h", [ Macro<"NULL">, ], [ SizeTType, ], [], // Enumerations [ FunctionSpec< "strnlen", RetValSpec<SizeTType>, [ArgSpec<ConstCharPtr>, ArgSpec<SizeTType>] >, FunctionSpec< "strtok_r", RetValSpec<CharPtr>, [ArgSpec<RestrictedCharPtr>, ArgSpec<ConstRestrictedCharPtr>, ArgSpec<CharRestrictedDoublePtr>] >, ] >; HeaderSpec CType = HeaderSpec< "ctype.h", [], // Macros [], // Types [], // Enumerations [ FunctionSpec< "isascii", RetValSpec<IntType>, [ArgSpec<IntType>] >, ] >; let Headers = [ CType, Errno, SysMMan, Signal, UniStd, String ]; }