diff options
Diffstat (limited to 'libc/include')
57 files changed, 7414 insertions, 113 deletions
diff --git a/libc/include/CMakeLists.txt b/libc/include/CMakeLists.txt index 3a05c01abba5..568bb05d9230 100644 --- a/libc/include/CMakeLists.txt +++ b/libc/include/CMakeLists.txt @@ -19,11 +19,10 @@ add_header( # TODO: Can we simplify this macro expansion? # https://github.com/llvm/llvm-project/issues/117254 -macro(add_header_macro TARGET_NAME YAML_FILE DEF_FILE GEN_HDR DEPENDS) +macro(add_header_macro TARGET_NAME YAML_FILE GEN_HDR DEPENDS) add_gen_header( ${TARGET_NAME} YAML_FILE ${YAML_FILE} - DEF_FILE ${DEF_FILE} GEN_HDR ${GEN_HDR} ${DEPENDS} ${ARGN} @@ -32,8 +31,7 @@ endmacro() add_header_macro( ctype - ../libc/hdrgen/yaml/ctype.yaml - ctype.h.def + ../libc/include/ctype.yaml ctype.h DEPENDS .llvm_libc_common_h @@ -42,8 +40,7 @@ add_header_macro( add_header_macro( dirent - ../libc/hdrgen/yaml/dirent.yaml - dirent.h.def + ../libc/include/dirent.yaml dirent.h DEPENDS .llvm_libc_common_h @@ -54,8 +51,7 @@ add_header_macro( add_header_macro( fcntl - ../libc/hdrgen/yaml/fcntl.yaml - fcntl.h.def + ../libc/include/fcntl.yaml fcntl.h DEPENDS .llvm-libc-macros.fcntl_macros @@ -70,8 +66,7 @@ add_header_macro( add_header_macro( dlfcn - ../libc/hdrgen/yaml/dlfcn.yaml - dlfcn.h.def + ../libc/include/dlfcn.yaml dlfcn.h DEPENDS .llvm-libc-macros.dlfcn_macros @@ -80,8 +75,7 @@ add_header_macro( add_header_macro( features - ../libc/hdrgen/yaml/features.yaml - features.h.def + ../libc/include/features.yaml features.h DEPENDS .llvm_libc_common_h @@ -90,8 +84,7 @@ add_header_macro( add_header_macro( fenv - ../libc/hdrgen/yaml/fenv.yaml - fenv.h.def + ../libc/include/fenv.yaml fenv.h DEPENDS .llvm_libc_common_h @@ -102,8 +95,7 @@ add_header_macro( add_header_macro( inttypes - ../libc/hdrgen/yaml/inttypes.yaml - inttypes.h.def + ../libc/include/inttypes.yaml inttypes.h DEPENDS .llvm_libc_common_h @@ -113,8 +105,7 @@ add_header_macro( add_header_macro( float - ../libc/hdrgen/yaml/float.yaml - float.h.def + ../libc/include/float.yaml float.h DEPENDS .llvm-libc-macros.float_macros @@ -122,8 +113,7 @@ add_header_macro( add_header_macro( stdint - ../libc/hdrgen/yaml/stdint.yaml - stdint.h.def + ../libc/include/stdint.yaml stdint.h DEPENDS .llvm-libc-macros.stdint_macros @@ -131,8 +121,7 @@ add_header_macro( add_header_macro( limits - ../libc/hdrgen/yaml/limits.yaml - limits.h.def + ../libc/include/limits.yaml limits.h DEPENDS .llvm-libc-macros.limits_macros @@ -140,8 +129,7 @@ add_header_macro( add_header_macro( malloc - ../libc/hdrgen/yaml/malloc.yaml - malloc.h.def + ../libc/include/malloc.yaml malloc.h DEPENDS .llvm_libc_common_h @@ -150,8 +138,7 @@ add_header_macro( add_header_macro( math - ../libc/hdrgen/yaml/math.yaml - math.h.def + ../libc/include/math.yaml math.h DEPENDS .llvm_libc_common_h @@ -165,8 +152,7 @@ add_header_macro( add_header_macro( stdfix - ../libc/hdrgen/yaml/stdfix.yaml - stdfix.h.def + ../libc/include/stdfix.yaml stdfix.h DEPENDS .llvm-libc-macros.stdfix_macros @@ -178,8 +164,7 @@ file(MAKE_DIRECTORY ${LIBC_INCLUDE_DIR}/arpa) add_header_macro( arpa_inet - ../libc/hdrgen/yaml/arpa/inet.yaml - arpa/inet.h.def + ../libc/include/arpa/inet.yaml arpa/inet.h DEPENDS .llvm_libc_common_h @@ -187,8 +172,7 @@ add_header_macro( add_header_macro( assert - ../libc/hdrgen/yaml/assert.yaml - assert.h.def + ../libc/include/assert.yaml assert.h DEPENDS .llvm_libc_common_h @@ -197,8 +181,7 @@ add_header_macro( add_header_macro( complex - ../libc/hdrgen/yaml/complex.yaml - complex.h.def + ../libc/include/complex.yaml complex.h DEPENDS .llvm_libc_common_h @@ -207,8 +190,7 @@ add_header_macro( add_header_macro( setjmp - ../libc/hdrgen/yaml/setjmp.yaml - setjmp.h.def + ../libc/include/setjmp.yaml setjmp.h DEPENDS .llvm_libc_common_h @@ -217,8 +199,7 @@ add_header_macro( add_header_macro( string - ../libc/hdrgen/yaml/string.yaml - string.h.def + ../libc/include/string.yaml string.h DEPENDS .llvm_libc_common_h @@ -228,8 +209,7 @@ add_header_macro( add_header_macro( strings - ../libc/hdrgen/yaml/strings.yaml - strings.h.def + ../libc/include/strings.yaml strings.h DEPENDS .llvm_libc_common_h @@ -238,8 +218,7 @@ add_header_macro( add_header_macro( search - ../libc/hdrgen/yaml/search.yaml - search.h.def + ../libc/include/search.yaml search.h DEPENDS .llvm_libc_common_h @@ -252,8 +231,7 @@ add_header_macro( add_header_macro( time - ../libc/hdrgen/yaml/time.yaml - time.h.def + ../libc/include/time.yaml time.h DEPENDS .llvm_libc_common_h @@ -268,8 +246,7 @@ add_header_macro( add_header_macro( threads - ../libc/hdrgen/yaml/threads.yaml - threads.h.def + ../libc/include/threads.yaml threads.h DEPENDS .llvm_libc_common_h @@ -285,8 +262,7 @@ add_header_macro( add_header_macro( errno - ../libc/hdrgen/yaml/errno.yaml - errno.h.def + ../libc/include/errno.yaml errno.h DEPENDS .llvm-libc-macros.generic_error_number_macros @@ -295,8 +271,7 @@ add_header_macro( add_header_macro( signal - ../libc/hdrgen/yaml/signal.yaml - signal.h.def + ../libc/include/signal.yaml signal.h DEPENDS .llvm-libc-macros.signal_macros @@ -311,8 +286,7 @@ add_header_macro( add_header_macro( stdbit - ../libc/hdrgen/yaml/stdbit.yaml - stdbit.h.def + ../libc/include/stdbit.yaml stdbit.h DEPENDS .llvm_libc_common_h @@ -321,8 +295,7 @@ add_header_macro( add_header_macro( stdckdint - ../libc/hdrgen/yaml/stdckdint.yaml - stdckdint.h.def + ../libc/include/stdckdint.yaml stdckdint.h DEPENDS .llvm_libc_common_h @@ -331,8 +304,7 @@ add_header_macro( add_header_macro( stdio - ../libc/hdrgen/yaml/stdio.yaml - stdio.h.def + ../libc/include/stdio.yaml stdio.h DEPENDS .llvm-libc-macros.file_seek_macros @@ -347,8 +319,7 @@ add_header_macro( add_header_macro( stdlib - ../libc/hdrgen/yaml/stdlib.yaml - stdlib.h.def + ../libc/include/stdlib.yaml stdlib.h DEPENDS .llvm_libc_common_h @@ -366,8 +337,7 @@ add_header_macro( add_header_macro( unistd - ../libc/hdrgen/yaml/unistd.yaml - unistd.h.def + ../libc/include/unistd.yaml unistd.h DEPENDS .llvm_libc_common_h @@ -385,8 +355,7 @@ add_header_macro( add_header_macro( pthread - ../libc/hdrgen/yaml/pthread.yaml - pthread.h.def + ../libc/include/pthread.yaml pthread.h DEPENDS .llvm-libc-macros.pthread_macros @@ -409,8 +378,7 @@ add_header_macro( add_header_macro( sched - ../libc/hdrgen/yaml/sched.yaml - sched.h.def + ../libc/include/sched.yaml sched.h DEPENDS .llvm_libc_common_h @@ -426,8 +394,7 @@ add_header_macro( add_header_macro( spawn - ../libc/hdrgen/yaml/spawn.yaml - spawn.h.def + ../libc/include/spawn.yaml spawn.h DEPENDS .llvm_libc_common_h @@ -439,8 +406,7 @@ add_header_macro( add_header_macro( link - ../libc/hdrgen/yaml/link.yaml - link.h.def + ../libc/include/link.yaml link.h DEPENDS .llvm_libc_common_h @@ -449,8 +415,7 @@ add_header_macro( add_header_macro( elf - ../libc/hdrgen/yaml/elf.yaml - elf.h.def + ../libc/include/elf.yaml elf.h DEPENDS .llvm-libc-macros.elf_macros @@ -463,8 +428,7 @@ file(MAKE_DIRECTORY ${LIBC_INCLUDE_DIR}/sys) add_header_macro( sys_auxv - ../libc/hdrgen/yaml/sys/auxv.yaml - sys/auxv.h.def + ../libc/include/sys/auxv.yaml sys/auxv.h DEPENDS .llvm_libc_common_h @@ -473,8 +437,7 @@ add_header_macro( add_header_macro( sys_epoll - ../libc/hdrgen/yaml/sys/epoll.yaml - sys/epoll.h.def + ../libc/include/sys/epoll.yaml sys/epoll.h DEPENDS .llvm_libc_common_h @@ -486,8 +449,7 @@ add_header_macro( add_header_macro( sys_ioctl - ../libc/hdrgen/yaml/sys/ioctl.yaml - sys/ioctl.h.def + ../libc/include/sys/ioctl.yaml sys/ioctl.h DEPENDS .llvm_libc_common_h @@ -496,8 +458,7 @@ add_header_macro( add_header_macro( sys_mman - ../libc/hdrgen/yaml/sys/mman.yaml - sys/mman.h.def + ../libc/include/sys/mman.yaml sys/mman.h DEPENDS .llvm_libc_common_h @@ -509,8 +470,7 @@ add_header_macro( add_header_macro( sys_prctl - ../libc/hdrgen/yaml/sys/prctl.yaml - sys/prctl.h.def + ../libc/include/sys/prctl.yaml sys/prctl.h DEPENDS .llvm_libc_common_h @@ -526,8 +486,7 @@ add_header( add_header_macro( sys_random - ../libc/hdrgen/yaml/sys/random.yaml - sys/random.h.def + ../libc/include/sys/random.yaml sys/random.h DEPENDS .llvm_libc_common_h @@ -538,8 +497,7 @@ add_header_macro( add_header_macro( sys_resource - ../libc/hdrgen/yaml/sys/resource.yaml - sys/resource.h.def + ../libc/include/sys/resource.yaml sys/resource.h DEPENDS .llvm_libc_common_h @@ -550,8 +508,7 @@ add_header_macro( add_header_macro( sys_stat - ../libc/hdrgen/yaml/sys/stat.yaml - sys/stat.h.def + ../libc/include/sys/stat.yaml sys/stat.h DEPENDS .llvm_libc_common_h @@ -572,8 +529,7 @@ add_header_macro( add_header_macro( sys_select - ../libc/hdrgen/yaml/sys/select.yaml - sys/select.h.def + ../libc/include/sys/select.yaml sys/select.h DEPENDS .llvm_libc_common_h @@ -588,8 +544,7 @@ add_header_macro( add_header_macro( sys_sendfile - ../libc/hdrgen/yaml/sys/sendfile.yaml - sys/sendfile.h.def + ../libc/include/sys/sendfile.yaml sys/sendfile.h DEPENDS .llvm_libc_common_h @@ -600,8 +555,7 @@ add_header_macro( add_header_macro( sys_socket - ../libc/hdrgen/yaml/sys/socket.yaml - sys/socket.h.def + ../libc/include/sys/socket.yaml sys/socket.h DEPENDS .llvm_libc_common_h @@ -616,8 +570,7 @@ add_header_macro( add_header_macro( sys_statvfs - ../libc/hdrgen/yaml/sys/statvfs.yaml - sys/statvfs.h.def + ../libc/include/sys/statvfs.yaml sys/statvfs.h DEPENDS .llvm_libc_common_h @@ -626,16 +579,14 @@ add_header_macro( add_header_macro( sys_syscall - ../libc/hdrgen/yaml/sys/syscall.yaml - sys/syscall.h.def + ../libc/include/sys/syscall.yaml sys/syscall.h DEPENDS ) add_header_macro( sys_time - ../libc/hdrgen/yaml/sys/time.yaml - sys/time.h.def + ../libc/include/sys/time.yaml sys/time.h DEPENDS .llvm_libc_common_h @@ -645,8 +596,7 @@ add_header_macro( add_header_macro( sys_types - ../libc/hdrgen/yaml/sys/types.yaml - sys/types.h.def + ../libc/include/sys/types.yaml sys/types.h DEPENDS .llvm_libc_common_h @@ -675,8 +625,7 @@ add_header_macro( add_header_macro( sys_utsname - ../libc/hdrgen/yaml/sys/utsname.yaml - sys/utsname.h.def + ../libc/include/sys/utsname.yaml sys/utsname.h DEPENDS .llvm_libc_common_h @@ -685,8 +634,7 @@ add_header_macro( add_header_macro( sys_wait - ../libc/hdrgen/yaml/sys/wait.yaml - sys/wait.h.def + ../libc/include/sys/wait.yaml sys/wait.h DEPENDS .llvm_libc_common_h @@ -698,8 +646,7 @@ add_header_macro( add_header_macro( termios - ../libc/hdrgen/yaml/termios.yaml - termios.h.def + ../libc/include/termios.yaml termios.h DEPENDS .llvm_libc_common_h @@ -713,8 +660,7 @@ add_header_macro( add_header_macro( uchar - ../libc/hdrgen/yaml/uchar.yaml - uchar.h.def + ../libc/include/uchar.yaml uchar.h DEPENDS .llvm_libc_common_h @@ -726,8 +672,7 @@ add_header_macro( add_header_macro( wchar - ../libc/hdrgen/yaml/wchar.yaml - wchar.h.def + ../libc/include/wchar.yaml wchar.h DEPENDS .llvm_libc_common_h @@ -740,8 +685,7 @@ add_header_macro( add_header_macro( locale - ../libc/hdrgen/yaml/locale.yaml - locale.h.def + ../libc/include/locale.yaml locale.h DEPENDS .llvm_libc_common_h diff --git a/libc/include/__llvm-libc-common.h b/libc/include/__llvm-libc-common.h index d54ee7b9f91f..c63eb134a5e5 100644 --- a/libc/include/__llvm-libc-common.h +++ b/libc/include/__llvm-libc-common.h @@ -50,7 +50,24 @@ #define __END_C_DECLS #undef __restrict -#define __restrict restrict // C99 and above support the restrict keyword. +#if __STDC_VERSION__ >= 199901L +// C99 and above support the restrict keyword. +#define __restrict restrict +#elif !defined(__GNUC__) +// GNU-compatible compilers accept the __ spelling in all modes. +// Otherwise, omit the qualifier for pure C89 compatibility. +#define __restrict +#endif + +#undef _Noreturn +#if __STDC_VERSION__ >= 201112L +// In C11 and later, _Noreturn is a keyword. +#elif defined(__GNUC__) +// GNU-compatible compilers have an equivalent attribute. +#define _Noreturn __attribute__((__noreturn__)) +#else +#define _Noreturn +#endif #undef __NOEXCEPT #ifdef __GNUC__ diff --git a/libc/include/arpa/inet.yaml b/libc/include/arpa/inet.yaml new file mode 100644 index 000000000000..10cd56d6ce78 --- /dev/null +++ b/libc/include/arpa/inet.yaml @@ -0,0 +1,31 @@ +header: arpa/inet.h +header_template: inet.h.def +macros: [] +types: [] +enums: [] +objects: [] +functions: + - name: htonl + standards: + - POSIX + return_type: uint32_t + arguments: + - type: uint32_t + - name: htons + standards: + - POSIX + return_type: uint16_t + arguments: + - type: uint16_t + - name: ntohl + standards: + - POSIX + return_type: uint32_t + arguments: + - type: uint32_t + - name: ntohs + standards: + - POSIX + return_type: uint16_t + arguments: + - type: uint16_t diff --git a/libc/include/assert.yaml b/libc/include/assert.yaml new file mode 100644 index 000000000000..1a3bdeda7e54 --- /dev/null +++ b/libc/include/assert.yaml @@ -0,0 +1,16 @@ +header: assert.h +header_template: assert.h.def +macros: [] +types: [] +enums: [] +objects: [] +functions: + - name: __assert_fail + standards: + - llvm_libc_ext + return_type: _Noreturn void + arguments: + - type: const char * + - type: const char * + - type: unsigned + - type: const char * diff --git a/libc/include/complex.yaml b/libc/include/complex.yaml new file mode 100644 index 000000000000..05318480a02f --- /dev/null +++ b/libc/include/complex.yaml @@ -0,0 +1,138 @@ +header: complex.h +header_template: complex.h.def +macros: [] +types: + - type_name: cfloat16 + - type_name: cfloat128 + - type_name: float128 +enums: [] +objects: [] +functions: + - name: cimag + standards: + - stdc + return_type: double + arguments: + - type: _Complex double + - name: cimagf + standards: + - stdc + return_type: float + arguments: + - type: _Complex float + - name: cimagl + standards: + - stdc + return_type: long double + arguments: + - type: _Complex long double + - name: cimagf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: cfloat16 + guard: LIBC_TYPES_HAS_CFLOAT16 + - name: cimagf128 + standards: + - stdc + return_type: float128 + arguments: + - type: cfloat128 + guard: LIBC_TYPES_HAS_CFLOAT128 + - name: creal + standards: + - stdc + return_type: double + arguments: + - type: _Complex double + - name: crealf + standards: + - stdc + return_type: float + arguments: + - type: _Complex float + - name: creall + standards: + - stdc + return_type: long double + arguments: + - type: _Complex long double + - name: crealf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: cfloat16 + guard: LIBC_TYPES_HAS_CFLOAT16 + - name: crealf128 + standards: + - stdc + return_type: float128 + arguments: + - type: cfloat128 + guard: LIBC_TYPES_HAS_CFLOAT128 + - name: conj + standards: + - stdc + return_type: _Complex double + arguments: + - type: _Complex double + - name: conjf + standards: + - stdc + return_type: _Complex float + arguments: + - type: _Complex float + - name: conjl + standards: + - stdc + return_type: _Complex long double + arguments: + - type: _Complex long double + - name: conjf16 + standards: + - stdc + return_type: cfloat16 + arguments: + - type: cfloat16 + guard: LIBC_TYPES_HAS_CFLOAT16 + - name: conjf128 + standards: + - stdc + return_type: cfloat128 + arguments: + - type: cfloat128 + guard: LIBC_TYPES_HAS_CFLOAT128 + - name: cproj + standards: + - stdc + return_type: _Complex double + arguments: + - type: _Complex double + - name: cprojf + standards: + - stdc + return_type: _Complex float + arguments: + - type: _Complex float + - name: cprojl + standards: + - stdc + return_type: _Complex long double + arguments: + - type: _Complex long double + - name: cprojf16 + standards: + - stdc + return_type: cfloat16 + arguments: + - type: cfloat16 + guard: LIBC_TYPES_HAS_CFLOAT16 + - name: cprojf128 + standards: + - stdc + return_type: cfloat128 + arguments: + - type: cfloat128 + guard: LIBC_TYPES_HAS_CFLOAT128 diff --git a/libc/include/ctype.yaml b/libc/include/ctype.yaml new file mode 100644 index 000000000000..6238f1b88998 --- /dev/null +++ b/libc/include/ctype.yaml @@ -0,0 +1,202 @@ +header: ctype.h +header_template: ctype.h.def +macros: [] +types: + - type_name: locale_t +enums: [] +objects: [] +functions: + - name: isalnum + standards: + - stdc + return_type: int + arguments: + - type: int + - name: isalpha + standards: + - stdc + return_type: int + arguments: + - type: int + - name: isascii + standards: + - POSIX + return_type: int + arguments: + - type: int + - name: isblank + standards: + - stdc + return_type: int + arguments: + - type: int + - name: iscntrl + standards: + - stdc + return_type: int + arguments: + - type: int + - name: isdigit + standards: + - stdc + return_type: int + arguments: + - type: int + - name: isgraph + standards: + - stdc + return_type: int + arguments: + - type: int + - name: islower + standards: + - stdc + return_type: int + arguments: + - type: int + - name: isprint + standards: + - stdc + return_type: int + arguments: + - type: int + - name: ispunct + standards: + - stdc + return_type: int + arguments: + - type: int + - name: isspace + standards: + - stdc + return_type: int + arguments: + - type: int + - name: isupper + standards: + - stdc + return_type: int + arguments: + - type: int + - name: isxdigit + standards: + - stdc + return_type: int + arguments: + - type: int + - name: toascii + standards: + - GNUExtensions + return_type: int + arguments: + - type: int + - name: tolower + standards: + - stdc + return_type: int + arguments: + - type: int + - name: toupper + standards: + - stdc + return_type: int + arguments: + - type: int + - name: isalnum_l + standards: + - stdc + return_type: int + arguments: + - type: int + - type: locale_t + - name: isalpha_l + standards: + - stdc + return_type: int + arguments: + - type: int + - type: locale_t + - name: isblank_l + standards: + - stdc + return_type: int + arguments: + - type: int + - type: locale_t + - name: iscntrl_l + standards: + - stdc + return_type: int + arguments: + - type: int + - type: locale_t + - name: isdigit_l + standards: + - stdc + return_type: int + arguments: + - type: int + - type: locale_t + - name: isgraph_l + standards: + - stdc + return_type: int + arguments: + - type: int + - type: locale_t + - name: islower_l + standards: + - stdc + return_type: int + arguments: + - type: int + - type: locale_t + - name: isprint_l + standards: + - stdc + return_type: int + arguments: + - type: int + - type: locale_t + - name: ispunct_l + standards: + - stdc + return_type: int + arguments: + - type: int + - type: locale_t + - name: isspace_l + standards: + - stdc + return_type: int + arguments: + - type: int + - type: locale_t + - name: isupper_l + standards: + - stdc + return_type: int + arguments: + - type: int + - type: locale_t + - name: isxdigit_l + standards: + - stdc + return_type: int + arguments: + - type: int + - type: locale_t + - name: tolower_l + standards: + - stdc + return_type: int + arguments: + - type: int + - type: locale_t + - name: toupper_l + standards: + - stdc + return_type: int + arguments: + - type: int + - type: locale_t diff --git a/libc/include/dirent.yaml b/libc/include/dirent.yaml new file mode 100644 index 000000000000..3fc522fda80e --- /dev/null +++ b/libc/include/dirent.yaml @@ -0,0 +1,47 @@ +header: dirent.h +header_template: dirent.h.def +macros: [] +types: + - type_name: struct_dirent + - type_name: DIR + - type_name: ino_t +enums: [] +objects: [] +functions: + - name: alphasort + standards: + - POSIX + return_type: int + arguments: + - type: const struct dirent ** + - type: const struct dirent ** + - name: closedir + standards: + - POSIX + return_type: int + arguments: + - type: DIR * + - name: dirfd + standards: + - POSIX + return_type: int + arguments: + - type: DIR * + - name: fdopendir + standards: + - POSIX + return_type: DIR * + arguments: + - type: int + - name: opendir + standards: + - POSIX + return_type: DIR * + arguments: + - type: const char * + - name: readdir + standards: + - POSIX + return_type: struct dirent * + arguments: + - type: DIR * diff --git a/libc/include/dlfcn.yaml b/libc/include/dlfcn.yaml new file mode 100644 index 000000000000..9e8803cb5fa7 --- /dev/null +++ b/libc/include/dlfcn.yaml @@ -0,0 +1,40 @@ +header: dlfcn.h +header_template: dlfcn.h.def +macros: + - macro_name: RTLD_LAZY + macro_value: null + - macro_name: RTLD_NOW + macro_value: null + - macro_name: RTLD_GLOBAL + macro_value: null + - macro_name: RTLD_LOCAL + macro_value: null +types: [] +enums: [] +objects: [] +functions: + - name: dlclose + standards: + - POSIX + return_type: int + arguments: + - type: void * + - name: dlerror + standards: + - POSIX + return_type: char * + arguments: [] + - name: dlopen + standards: + - POSIX + return_type: void * + arguments: + - type: const char * + - type: int + - name: dlsym + standards: + - POSIX + return_type: void * + arguments: + - type: void *__restrict + - type: const char *__restrict diff --git a/libc/include/elf.yaml b/libc/include/elf.yaml new file mode 100644 index 000000000000..f78ae82c7785 --- /dev/null +++ b/libc/include/elf.yaml @@ -0,0 +1,9 @@ +header: elf.h +header_template: elf.h.def +standards: + - Linux +macros: [] +types: [] +enums: [] +objects: [] +functions: [] diff --git a/libc/include/errno.yaml b/libc/include/errno.yaml new file mode 100644 index 000000000000..188a9fa1211a --- /dev/null +++ b/libc/include/errno.yaml @@ -0,0 +1,11 @@ +header: errno.h +header_template: errno.h.def +standards: + - stdc + - Linux + - POSIX +macros: [] +types: [] +enums: [] +objects: [] +functions: [] diff --git a/libc/include/fcntl.yaml b/libc/include/fcntl.yaml new file mode 100644 index 000000000000..78f93533b84d --- /dev/null +++ b/libc/include/fcntl.yaml @@ -0,0 +1,41 @@ +header: fcntl.h +header_template: fcntl.h.def +macros: [] +types: + - type_name: off_t + - type_name: mode_t +enums: [] +objects: [] +functions: + - name: creat + standards: + - POSIX + return_type: int + arguments: + - type: const char * + - type: mode_t + - name: fcntl + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: int + - type: '...' + - name: open + standards: + - POSIX + return_type: int + arguments: + - type: const char * + - type: int + - type: '...' + - name: openat + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: const char * + - type: int + - type: '...' diff --git a/libc/include/features.yaml b/libc/include/features.yaml new file mode 100644 index 000000000000..726320a40881 --- /dev/null +++ b/libc/include/features.yaml @@ -0,0 +1,9 @@ +header: features.h +header_template: features.h.def +standards: + - stdc +macros: [] +types: [] +enums: [] +objects: [] +functions: [] diff --git a/libc/include/fenv.yaml b/libc/include/fenv.yaml new file mode 100644 index 000000000000..1ecaf6308550 --- /dev/null +++ b/libc/include/fenv.yaml @@ -0,0 +1,108 @@ +header: fenv.h +header_template: fenv.h.def +macros: [] +types: + - type_name: fenv_t + - type_name: fexcept_t +enums: [] +objects: [] +functions: + - name: feclearexcept + standards: + - stdc + return_type: int + arguments: + - type: int + - name: fedisableexcept + standards: + - GNUExtensions + return_type: int + arguments: + - type: int + guard: null + - name: feenableexcept + standards: + - GNUExtensions + return_type: int + arguments: + - type: int + attributes: [] + - name: fegetenv + standards: + - stdc + return_type: int + arguments: + - type: fenv_t * + - name: fegetexcept + standards: + - GNUExtensions + return_type: int + arguments: [] + - name: fegetexceptflag + standards: + - stdc + return_type: int + arguments: + - type: fexcept_t * + - type: int + - name: fegetround + standards: + - stdc + return_type: int + arguments: [] + - name: feholdexcept + standards: + - stdc + return_type: int + arguments: + - type: fenv_t * + - name: feraiseexcept + standards: + - stdc + return_type: int + arguments: + - type: int + - name: fesetenv + standards: + - stdc + return_type: int + arguments: + - type: const fenv_t * + - name: fesetexcept + standards: + - stdc + return_type: int + arguments: + - type: int + - name: fesetexceptflag + standards: + - stdc + return_type: int + arguments: + - type: const fexcept_t * + - type: int + - name: fesetround + standards: + - stdc + return_type: int + arguments: + - type: int + - name: fetestexcept + standards: + - stdc + return_type: int + arguments: + - type: int + - name: fetestexceptflag + standards: + - stdc + return_type: int + arguments: + - type: const fexcept_t * + - type: int + - name: feupdateenv + standards: + - stdc + return_type: int + arguments: + - type: const fenv_t * diff --git a/libc/include/float.yaml b/libc/include/float.yaml new file mode 100644 index 000000000000..21df6513e77e --- /dev/null +++ b/libc/include/float.yaml @@ -0,0 +1,9 @@ +header: float.h +header_template: float.h.def +standards: + - stdc +macros: [] +types: [] +enums: [] +objects: [] +functions: [] diff --git a/libc/include/inttypes.yaml b/libc/include/inttypes.yaml new file mode 100644 index 000000000000..d5dec5b465ba --- /dev/null +++ b/libc/include/inttypes.yaml @@ -0,0 +1,37 @@ +header: inttypes.h +header_template: inttypes.h.def +macros: [] +types: + - type_name: imaxdiv_t +enums: [] +objects: [] +functions: + - name: imaxabs + standards: + - stdc + return_type: intmax_t + arguments: + - type: intmax_t + - name: imaxdiv + standards: + - stdc + return_type: imaxdiv_t + arguments: + - type: intmax_t + - type: intmax_t + - name: strtoimax + standards: + - stdc + return_type: intmax_t + arguments: + - type: const char *__restrict + - type: char * *__restrict + - type: int + - name: strtoumax + standards: + - stdc + return_type: uintmax_t + arguments: + - type: const char *__restrict + - type: char * *__restrict + - type: int diff --git a/libc/include/limits.yaml b/libc/include/limits.yaml new file mode 100644 index 000000000000..b664041bb56c --- /dev/null +++ b/libc/include/limits.yaml @@ -0,0 +1,9 @@ +header: limits.h +header_template: limits.h.def +standards: + - stdc +macros: [] +types: [] +enums: [] +objects: [] +functions: [] diff --git a/libc/include/link.yaml b/libc/include/link.yaml new file mode 100644 index 000000000000..1cd609e292b5 --- /dev/null +++ b/libc/include/link.yaml @@ -0,0 +1,9 @@ +header: link.h +header_template: link.h.def +standards: + - Linux +macros: [] +types: [] +enums: [] +objects: [] +functions: [] diff --git a/libc/include/locale.yaml b/libc/include/locale.yaml new file mode 100644 index 000000000000..9ff53c16398a --- /dev/null +++ b/libc/include/locale.yaml @@ -0,0 +1,42 @@ +header: locale.h +header_template: locale.h.def +functions: + - name: localeconv + standards: + - stdc + return_type: struct lconv * + arguments: + - type: void + - name: duplocale + standards: + - stdc + return_type: locale_t + arguments: + - type: locale_t + - name: freelocale + standards: + - stdc + return_type: void + arguments: + - type: locale_t + - name: newlocale + standards: + - stdc + return_type: locale_t + arguments: + - type: int + - type: const char * + - type: locale_t + - name: setlocale + standards: + - stdc + return_type: char * + arguments: + - type: int + - type: const char * + - name: uselocale + standards: + - stdc + return_type: locale_t + arguments: + - type: locale_t diff --git a/libc/include/malloc.yaml b/libc/include/malloc.yaml new file mode 100644 index 000000000000..ec73c9090f72 --- /dev/null +++ b/libc/include/malloc.yaml @@ -0,0 +1,14 @@ +header: malloc.h +header_template: malloc.h.def +macros: [] +types: [] +enums: [] +objects: [] +functions: + - name: mallopt + standards: + - GNUExtensions + return_type: int + arguments: + - type: int + - type: int diff --git a/libc/include/math.yaml b/libc/include/math.yaml new file mode 100644 index 000000000000..831d04574567 --- /dev/null +++ b/libc/include/math.yaml @@ -0,0 +1,2630 @@ +header: math.h +header_template: math.h.def +macros: [] +types: + - type_name: float_t + - type_name: double_t + - type_name: float128 +enums: [] +objects: [] +functions: + - name: acosf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: acoshf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: asin + standards: + - stdc + return_type: double + arguments: + - type: double + - name: asinf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: asinhf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: atan2 + standards: + - stdc + return_type: double + arguments: + - type: double + - type: double + - name: atan2f + standards: + - stdc + return_type: float + arguments: + - type: float + - type: float + - name: atan2l + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: long double + - name: atanf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: atanhf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: canonicalize + standards: + - stdc + return_type: int + arguments: + - type: double + - type: double + - name: canonicalizef + standards: + - stdc + return_type: int + arguments: + - type: float + - type: float + - name: canonicalizef128 + standards: + - stdc + return_type: int + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: canonicalizef16 + standards: + - stdc + return_type: int + arguments: + - type: _Float16 + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: canonicalizel + standards: + - stdc + return_type: int + arguments: + - type: long double + - type: long double + - name: cbrt + standards: + - stdc + return_type: double + arguments: + - type: double + - name: cbrtf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: ceil + standards: + - stdc + return_type: double + arguments: + - type: double + - name: ceilf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: ceilf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: ceilf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: ceill + standards: + - stdc + return_type: long double + arguments: + - type: long double + - name: copysign + standards: + - stdc + return_type: double + arguments: + - type: double + - type: double + - name: copysignf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: float + - name: copysignf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: copysignf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: copysignl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: long double + - name: cos + standards: + - stdc + return_type: double + arguments: + - type: double + - name: cosf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: cosf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: coshf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: cospif16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: coshf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: ddivl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: long double + - name: dmulf128 + standards: + - llvm_libc_ext + return_type: double + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: dmull + standards: + - stdc + return_type: double + arguments: + - type: long double + - type: long double + - name: dsqrtl + standards: + - stdc + return_type: double + arguments: + - type: long double + - name: dsqrtf128 + standards: + - llvm_libc_ext + return_type: double + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: erff + standards: + - stdc + return_type: float + arguments: + - type: float + - name: exp + standards: + - stdc + return_type: double + arguments: + - type: double + - name: exp10 + standards: + - stdc + return_type: double + arguments: + - type: double + - name: exp10f + standards: + - stdc + return_type: float + arguments: + - type: float + - name: exp10m1f + standards: + - stdc + return_type: float + arguments: + - type: float + - name: exp10m1f16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: exp2 + standards: + - stdc + return_type: double + arguments: + - type: double + - name: exp2f + standards: + - stdc + return_type: float + arguments: + - type: float + - name: exp2m1f + standards: + - stdc + return_type: float + arguments: + - type: float + - name: exp2m1f16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: expf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: expm1 + standards: + - stdc + return_type: double + arguments: + - type: double + - name: expm1f + standards: + - stdc + return_type: float + arguments: + - type: float + - name: f16add + standards: + - llvm_libc_ext + return_type: _Float16 + arguments: + - type: double + - type: double + guard: LIBC_TYPES_HAS_FLOAT16 + - name: f16addf + standards: + - llvm_libc_ext + return_type: _Float16 + arguments: + - type: float + - type: float + guard: LIBC_TYPES_HAS_FLOAT16 + - name: f16addf128 + standards: + - stdc + return_type: _Float16 + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT16_AND_FLOAT128 + - name: f16addl + standards: + - llvm_libc_ext + return_type: _Float16 + arguments: + - type: long double + - type: long double + guard: LIBC_TYPES_HAS_FLOAT16 + - name: f16div + standards: + - llvm_libc_ext + return_type: _Float16 + arguments: + - type: double + - type: double + guard: LIBC_TYPES_HAS_FLOAT16 + - name: f16divf + standards: + - llvm_libc_ext + return_type: _Float16 + arguments: + - type: float + - type: float + guard: LIBC_TYPES_HAS_FLOAT16 + - name: f16divf128 + standards: + - stdc + return_type: _Float16 + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT16_AND_FLOAT128 + - name: f16divl + standards: + - llvm_libc_ext + return_type: _Float16 + arguments: + - type: long double + - type: long double + guard: LIBC_TYPES_HAS_FLOAT16 + - name: f16fma + standards: + - llvm_libc_ext + return_type: _Float16 + arguments: + - type: double + - type: double + - type: double + guard: LIBC_TYPES_HAS_FLOAT16 + - name: f16fmaf + standards: + - llvm_libc_ext + return_type: _Float16 + arguments: + - type: float + - type: float + - type: float + guard: LIBC_TYPES_HAS_FLOAT16 + - name: f16fmaf128 + standards: + - stdc + return_type: _Float16 + arguments: + - type: float128 + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT16_AND_FLOAT128 + - name: f16fmal + standards: + - llvm_libc_ext + return_type: _Float16 + arguments: + - type: long double + - type: long double + - type: long double + guard: LIBC_TYPES_HAS_FLOAT16 + - name: f16mul + standards: + - llvm_libc_ext + return_type: _Float16 + arguments: + - type: double + - type: double + guard: LIBC_TYPES_HAS_FLOAT16 + - name: f16mulf + standards: + - llvm_libc_ext + return_type: _Float16 + arguments: + - type: float + - type: float + guard: LIBC_TYPES_HAS_FLOAT16 + - name: f16mulf128 + standards: + - stdc + return_type: _Float16 + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT16_AND_FLOAT128 + - name: f16mull + standards: + - llvm_libc_ext + return_type: _Float16 + arguments: + - type: long double + - type: long double + guard: LIBC_TYPES_HAS_FLOAT16 + - name: f16sqrt + standards: + - llvm_libc_ext + return_type: _Float16 + arguments: + - type: double + guard: LIBC_TYPES_HAS_FLOAT16 + - name: f16sqrtf + standards: + - llvm_libc_ext + return_type: _Float16 + arguments: + - type: float + guard: LIBC_TYPES_HAS_FLOAT16 + - name: f16sqrtf128 + standards: + - llvm_libc_ext + return_type: _Float16 + arguments: + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT16_AND_FLOAT128 + - name: f16sqrtl + standards: + - llvm_libc_ext + return_type: _Float16 + arguments: + - type: long double + guard: LIBC_TYPES_HAS_FLOAT16 + - name: f16sub + standards: + - llvm_libc_ext + return_type: _Float16 + arguments: + - type: double + - type: double + guard: LIBC_TYPES_HAS_FLOAT16 + - name: f16subf + standards: + - llvm_libc_ext + return_type: _Float16 + arguments: + - type: float + - type: float + guard: LIBC_TYPES_HAS_FLOAT16 + - name: f16subf128 + standards: + - stdc + return_type: _Float16 + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT16_AND_FLOAT128 + - name: f16subl + standards: + - llvm_libc_ext + return_type: _Float16 + arguments: + - type: long double + - type: long double + guard: LIBC_TYPES_HAS_FLOAT16 + - name: fabs + standards: + - stdc + return_type: double + arguments: + - type: double + - name: fabsf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: fabsf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: fabsf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: fabsl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - name: fadd + standards: + - stdc + return_type: float + arguments: + - type: double + - type: double + - name: faddf128 + standards: + - llvm_libc_ext + return_type: float + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: faddl + standards: + - faddl + return_type: float + arguments: + - type: long double + - type: long double + - name: fdim + standards: + - stdc + return_type: double + arguments: + - type: double + - type: double + - name: fdimf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: float + - name: fdimf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: fdimf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: fdiml + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: long double + - name: fdiv + standards: + - stdc + return_type: float + arguments: + - type: double + - type: double + - name: fdivf128 + standards: + - llvm_libc_ext + return_type: float + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: fdivl + standards: + - stdc + return_type: float + arguments: + - type: long double + - type: long double + - name: ffma + standards: + - stdc + return_type: float + arguments: + - type: double + - type: double + - type: double + - name: ffmaf128 + standards: + - llvm_libc_ext + return_type: float + arguments: + - type: float128 + - type: float128 + - type: float128 + guards: LIBC_TYPES_HAS_FLOAT128 + - name: ffmal + standards: + - stdc + return_type: float + arguments: + - type: long double + - type: long double + - type: long double + - name: floor + standards: + - stdc + return_type: double + arguments: + - type: double + - name: floorf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: floorf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: floorf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: floorl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - name: fma + standards: + - stdc + return_type: double + arguments: + - type: double + - type: double + - type: double + - name: fmaf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: float + - type: float + - name: fmax + standards: + - stdc + return_type: double + arguments: + - type: double + - type: double + - name: fmaxf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: float + - name: fmaxf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: fmaxf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: fmaximum + standards: + - stdc + return_type: double + arguments: + - type: double + - type: double + - name: fmaximum_mag + standards: + - stdc + return_type: double + arguments: + - type: double + - type: double + - name: fmaximum_mag_num + standards: + - stdc + return_type: double + arguments: + - type: double + - type: double + - name: fmaximum_mag_numf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: float + - name: fmaximum_mag_numf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: fmaximum_mag_numf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: fmaximum_mag_numl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: long double + - name: fmaximum_magf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: float + - name: fmaximum_magf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: fmaximum_magf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: fmaximum_magl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: long double + - name: fmaximum_num + standards: + - stdc + return_type: double + arguments: + - type: double + - type: double + - name: fmaximum_numf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: float + - name: fmaximum_numf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: fmaximum_numf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: fmaximum_numl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: long double + - name: fmaximumf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: float + - name: fmaximumf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: fmaximumf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: fmaximuml + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: long double + - name: fmaxl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: long double + - name: fmin + standards: + - stdc + return_type: double + arguments: + - type: double + - type: double + - name: fminf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: float + - name: fminf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: fminf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: fminimum + standards: + - stdc + return_type: double + arguments: + - type: double + - type: double + - name: fminimum_mag + standards: + - stdc + return_type: double + arguments: + - type: double + - type: double + - name: fminimum_mag_num + standards: + - stdc + return_type: double + arguments: + - type: double + - type: double + - name: fminimum_mag_numf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: float + - name: fminimum_mag_numf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: fminimum_mag_numf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: fminimum_mag_numl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: long double + - name: fminimum_magf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: float + - name: fminimum_magf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: fminimum_magf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: fminimum_magl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: long double + - name: fminimum_num + standards: + - stdc + return_type: double + arguments: + - type: double + - type: double + - name: fminimum_numf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: float + - name: fminimum_numf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: fminimum_numf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: fminimumf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: float + - name: fminimumf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: fminimumf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: fminimuml + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: long double + - name: fminl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: long double + - name: fmod + standards: + - stdc + return_type: double + arguments: + - type: double + - type: double + - name: fmodf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: float + - name: fmodf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: fmodf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: fmodl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: long double + - name: fmul + standards: + - stdc + return_type: float + arguments: + - type: double + - type: double + - name: fmulf128 + standards: + - llvm_libc_ext + return_type: float + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: fmull + standards: + - stdc + return_type: float + arguments: + - type: long double + - type: long double + - name: frexp + standards: + - stdc + return_type: double + arguments: + - type: double + - type: int * + - name: frexpf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: int * + - name: frexpf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + - type: int * + guard: LIBC_TYPES_HAS_FLOAT128 + - name: frexpf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: int * + guard: LIBC_TYPES_HAS_FLOAT16 + - name: frexpl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: int * + - name: fromfp + standards: + - stdc + return_type: double + arguments: + - type: double + - type: int + - type: unsigned int + - name: fromfpf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: int + - type: unsigned int + - name: fromfpf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + - type: int + - type: unsigned int + guard: LIBC_TYPES_HAS_FLOAT128 + - name: fromfpf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: int + - type: unsigned int + guard: LIBC_TYPES_HAS_FLOAT16 + - name: fromfpl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: int + - type: unsigned int + - name: fromfpx + standards: + - stdc + return_type: double + arguments: + - type: double + - type: int + - type: unsigned int + - name: fromfpxf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: int + - type: unsigned int + - name: fromfpxf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + - type: int + - type: unsigned int + guard: LIBC_TYPES_HAS_FLOAT128 + - name: fromfpxf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: int + - type: unsigned int + guard: LIBC_TYPES_HAS_FLOAT16 + - name: fromfpxl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: int + - type: unsigned int + - name: fsqrt + standards: + - stdc + return_type: float + arguments: + - type: double + - name: fsqrtl + standards: + - stdc + return_type: float + arguments: + - type: long double + - name: fsqrtf128 + standards: + - llvm_libc_ext + return_type: float + arguments: + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: fsub + standards: + - stdc + return_type: float + arguments: + - type: double + - type: double + - name: fsubf128 + standards: + - llvm_libc_ext + return_type: float + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: fsubl + standards: + - stdc + return_type: float + arguments: + - type: long double + - type: long double + - name: getpayload + standards: + - stdc + return_type: double + arguments: + - type: double * + - name: getpayloadf + standards: + - stdc + return_type: float + arguments: + - type: float * + - name: getpayloadf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 * + guard: LIBC_TYPES_HAS_FLOAT128 + - name: getpayloadf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 * + guard: LIBC_TYPES_HAS_FLOAT16 + - name: getpayloadl + standards: + - stdc + return_type: long double + arguments: + - type: long double * + - name: hypot + standards: + - stdc + return_type: double + arguments: + - type: double + - type: double + - name: hypotf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: float + - name: ilogb + standards: + - stdc + return_type: int + arguments: + - type: double + - name: ilogbf + standards: + - stdc + return_type: int + arguments: + - type: float + - name: ilogbf128 + standards: + - stdc + return_type: int + arguments: + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: ilogbf16 + standards: + - stdc + return_type: int + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: ilogbl + standards: + - stdc + return_type: int + arguments: + - type: long double + - name: isnan + standards: + - BSDExtensions + return_type: int + arguments: + - type: double + - name: isnanf + standards: + - BSDExtensions + return_type: int + arguments: + - type: float + - name: isnanl + standards: + - BSDExtensions + return_type: int + arguments: + - type: long double + - name: ldexp + standards: + - stdc + return_type: double + arguments: + - type: double + - type: int + - name: ldexpf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: int + - name: ldexpf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + - type: int + guard: LIBC_TYPES_HAS_FLOAT128 + - name: ldexpf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: int + guard: LIBC_TYPES_HAS_FLOAT16 + - name: ldexpl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: int + - name: lgamma + standards: + - stdc + return_type: double + arguments: + - type: double + - name: lgamma_r + standards: + - gnu + return_type: double + arguments: + - type: double + - type: int * + - name: lgammaf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: lgammaf_r + standards: + - gnu + return_type: float + arguments: + - type: float + - type: int * + - name: lgammal + standards: + - stdc + return_type: long double + arguments: + - type: long double + - name: lgammal_r + standards: + - gnu + return_type: long double + arguments: + - type: long double + - type: int * + - name: llogb + standards: + - stdc + return_type: long + arguments: + - type: double + - name: llogbf + standards: + - stdc + return_type: long + arguments: + - type: float + - name: llogbf128 + standards: + - stdc + return_type: long + arguments: + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: llogbf16 + standards: + - stdc + return_type: long + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: llogbl + standards: + - stdc + return_type: long + arguments: + - type: long double + - name: llrint + standards: + - stdc + return_type: long long + arguments: + - type: double + - name: llrintf + standards: + - stdc + return_type: long long + arguments: + - type: float + - name: llrintf128 + standards: + - stdc + return_type: long long + arguments: + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: llrintf16 + standards: + - stdc + return_type: long long + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: llrintl + standards: + - stdc + return_type: long long + arguments: + - type: long double + - name: llround + standards: + - stdc + return_type: long long + arguments: + - type: double + - name: llroundf + standards: + - stdc + return_type: long long + arguments: + - type: float + - name: llroundf128 + standards: + - stdc + return_type: long long + arguments: + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: llroundf16 + standards: + - stdc + return_type: long long + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: llroundl + standards: + - stdc + return_type: long long + arguments: + - type: long double + - name: log + standards: + - stdc + return_type: double + arguments: + - type: double + - name: log10 + standards: + - stdc + return_type: double + arguments: + - type: double + - name: log10f + standards: + - stdc + return_type: float + arguments: + - type: float + - name: log10f16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: log1p + standards: + - stdc + return_type: double + arguments: + - type: double + - name: log1pf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: log2 + standards: + - stdc + return_type: double + arguments: + - type: double + - name: log2f + standards: + - stdc + return_type: float + arguments: + - type: float + - name: log2f16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: logb + standards: + - stdc + return_type: double + arguments: + - type: double + - name: logbf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: logbf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: logbf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: logbl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - name: logf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: logf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: lrint + standards: + - stdc + return_type: long + arguments: + - type: double + - name: lrintf + standards: + - stdc + return_type: long + arguments: + - type: float + - name: lrintf128 + standards: + - stdc + return_type: long + arguments: + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: lrintf16 + standards: + - stdc + return_type: long + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: lrintl + standards: + - stdc + return_type: long + arguments: + - type: long double + - name: lround + standards: + - stdc + return_type: long + arguments: + - type: double + - name: lroundf + standards: + - stdc + return_type: long + arguments: + - type: float + - name: lroundf128 + standards: + - stdc + return_type: long + arguments: + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: lroundf16 + standards: + - stdc + return_type: long + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: lroundl + standards: + - stdc + return_type: long + arguments: + - type: long double + - name: modf + standards: + - stdc + return_type: double + arguments: + - type: double + - type: double * + - name: modff + standards: + - stdc + return_type: float + arguments: + - type: float + - type: float * + - name: modff128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + - type: float128 * + guard: LIBC_TYPES_HAS_FLOAT128 + - name: modff16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: _Float16 * + guard: LIBC_TYPES_HAS_FLOAT16 + - name: modfl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: long double * + - name: nan + standards: + - stdc + return_type: double + arguments: + - type: const char * + - name: nanf + standards: + - stdc + return_type: float + arguments: + - type: const char * + - name: nanf128 + standards: + - stdc + return_type: float128 + arguments: + - type: const char * + guard: LIBC_TYPES_HAS_FLOAT128 + - name: nanf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: const char * + guard: LIBC_TYPES_HAS_FLOAT16 + - name: nanl + standards: + - stdc + return_type: long double + arguments: + - type: const char * + - name: nearbyint + standards: + - stdc + return_type: double + arguments: + - type: double + - name: nearbyintf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: nearbyintf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: nearbyintf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: nearbyintl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - name: nextafter + standards: + - stdc + return_type: double + arguments: + - type: double + - type: double + - name: nextafterf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: float + - name: nextafterf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: nextafterf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: nextafterl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: long double + - name: nextdown + standards: + - stdc + return_type: double + arguments: + - type: double + - name: nextdownf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: nextdownf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: nextdownf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: nextdownl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - name: nexttoward + standards: + - stdc + return_type: double + arguments: + - type: double + - type: long double + - name: nexttowardf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: long double + - name: nexttowardf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: nexttowardl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: long double + - name: nextup + standards: + - stdc + return_type: double + arguments: + - type: double + - name: nextupf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: nextupf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: nextupf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: nextupl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - name: pow + standards: + - stdc + return_type: double + arguments: + - type: double + - type: double + - name: powf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: float + - name: powi + standards: llvm_libc_ext + return_type: double + arguments: + - type: double + - type: int + - name: powif + standards: llvm_libc_ext + return_type: float + arguments: + - type: float + - type: int + - name: remainder + standards: + - stdc + return_type: double + arguments: + - type: double + - type: double + - name: remainderf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: float + - name: remainderf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: remainderf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: remainderl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: long double + - name: remquo + standards: + - stdc + return_type: double + arguments: + - type: double + - type: double + - type: int * + - name: remquof + standards: + - stdc + return_type: float + arguments: + - type: float + - type: float + - type: int * + - name: remquof128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + - type: float128 + - type: int * + guard: LIBC_TYPES_HAS_FLOAT128 + - name: remquof16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: _Float16 + - type: int * + guard: LIBC_TYPES_HAS_FLOAT16 + - name: remquol + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: long double + - type: int * + - name: rint + standards: + - stdc + return_type: double + arguments: + - type: double + - name: rintf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: rintf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: rintf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: rintl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - name: round + standards: + - stdc + return_type: double + arguments: + - type: double + - name: roundeven + standards: + - stdc + return_type: double + arguments: + - type: double + - name: roundevenf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: roundevenf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: roundevenf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: roundevenl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - name: roundf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: roundf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: roundf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: roundl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - name: scalbln + standards: + - stdc + return_type: double + arguments: + - type: double + - type: long + - name: scalblnf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: long + - name: scalblnf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + - type: long + guard: LIBC_TYPES_HAS_FLOAT128 + - name: scalblnf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: long + guard: LIBC_TYPES_HAS_FLOAT16 + - name: scalblnf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: long + guard: LIBC_TYPES_HAS_FLOAT16 + - name: scalblnl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: long + - name: scalbn + standards: + - stdc + return_type: double + arguments: + - type: double + - type: int + - name: scalbnf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: int + - name: scalbnf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + - type: int + guard: LIBC_TYPES_HAS_FLOAT128 + - name: scalbnf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: int + guard: LIBC_TYPES_HAS_FLOAT16 + - name: scalbnl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: int + - name: setpayload + standards: + - stdc + return_type: int + arguments: + - type: double * + - type: double + - name: setpayloadf + standards: + - stdc + return_type: int + arguments: + - type: float * + - type: float + - name: setpayloadf128 + standards: + - stdc + return_type: int + arguments: + - type: float128 * + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: setpayloadf16 + standards: + - stdc + return_type: int + arguments: + - type: _Float16 * + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: setpayloadl + standards: + - stdc + return_type: int + arguments: + - type: long double * + - type: long double + - name: setpayloadsig + standards: + - stdc + return_type: double + arguments: + - type: double * + - type: double + - name: setpayloadsigf + standards: + - stdc + return_type: int + arguments: + - type: float * + - type: float + - name: setpayloadsigf128 + standards: + - stdc + return_type: int + arguments: + - type: float128 * + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: setpayloadsigf16 + standards: + - stdc + return_type: int + arguments: + - type: _Float16 * + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: setpayloadsigl + standards: + - stdc + return_type: int + arguments: + - type: long double * + - type: long double + - name: sin + standards: + - stdc + return_type: double + arguments: + - type: double + - name: sincosf + standards: + - gnu + return_type: void + arguments: + - type: float + - type: float * + - type: float * + - name: sinf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: sinf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: sinhf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: sinhf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: sinpif16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: sqrt + standards: + - stdc + return_type: double + arguments: + - type: double + - name: sqrtf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: sqrtf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: sqrtf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: sqrtl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - name: tan + standards: + - stdc + return_type: double + arguments: + - type: double + - name: tanf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: tanhf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: tanhf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: tanpif16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: totalorder + standards: + - stdc + return_type: int + arguments: + - type: const double * + - type: const double * + - name: totalorderf + standards: + - stdc + return_type: int + arguments: + - type: const float * + - type: const float * + - name: totalorderf128 + standards: + - stdc + return_type: int + arguments: + - type: const float128 * + - type: const float128 * + guard: LIBC_TYPES_HAS_FLOAT128 + - name: totalorderf16 + standards: + - stdc + return_type: int + arguments: + - type: const _Float16 * + - type: const _Float16 * + guard: LIBC_TYPES_HAS_FLOAT16 + - name: totalorderl + standards: + - stdc + return_type: int + arguments: + - type: const long double * + - type: const long double * + - name: totalordermag + standards: + - stdc + return_type: int + arguments: + - type: const double * + - type: const double * + - name: totalordermagf + standards: + - stdc + return_type: int + arguments: + - type: const float * + - type: const float * + - name: totalordermagl + standards: + - stdc + return_type: int + arguments: + - type: const long double * + - type: const long double * + - name: totalordermagf128 + standards: + - stdc + return_type: int + arguments: + - type: const float128 * + - type: const float128 * + guard: LIBC_TYPES_HAS_FLOAT128 + - name: totalordermagf16 + standards: + - stdc + return_type: int + arguments: + - type: const _Float16 * + - type: const _Float16 * + guard: LIBC_TYPES_HAS_FLOAT16 + - name: trunc + standards: + - stdc + return_type: double + arguments: + - type: double + - name: truncf + standards: + - stdc + return_type: float + arguments: + - type: float + - name: truncf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: truncf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + guard: LIBC_TYPES_HAS_FLOAT16 + - name: truncl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - name: ufromfp + standards: + - stdc + return_type: double + arguments: + - type: double + - type: int + - type: unsigned int + - name: ufromfpf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: int + - type: unsigned int + - name: ufromfpf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + - type: int + - type: unsigned int + guard: LIBC_TYPES_HAS_FLOAT128 + - name: ufromfpf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: int + - type: unsigned int + guard: LIBC_TYPES_HAS_FLOAT16 + - name: ufromfpl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: int + - type: unsigned int + - name: ufromfpx + standards: + - stdc + return_type: double + arguments: + - type: double + - type: int + - type: unsigned int + - name: ufromfpxf + standards: + - stdc + return_type: float + arguments: + - type: float + - type: int + - type: unsigned int + - name: ufromfpxf128 + standards: + - stdc + return_type: float128 + arguments: + - type: float128 + - type: int + - type: unsigned int + guard: LIBC_TYPES_HAS_FLOAT128 + - name: ufromfpxf16 + standards: + - stdc + return_type: _Float16 + arguments: + - type: _Float16 + - type: int + - type: unsigned int + guard: LIBC_TYPES_HAS_FLOAT16 + - name: ufromfpxl + standards: + - stdc + return_type: long double + arguments: + - type: long double + - type: int + - type: unsigned int diff --git a/libc/include/pthread.yaml b/libc/include/pthread.yaml new file mode 100644 index 000000000000..4f386bdd11cf --- /dev/null +++ b/libc/include/pthread.yaml @@ -0,0 +1,434 @@ +header: pthread.h +header_template: pthread.h.def +macros: [] +types: + - type_name: pthread_t + - type_name: pthread_once_t + - type_name: pthread_mutex_t + - type_name: pthread_mutexattr_t + - type_name: pthread_key_t + - type_name: pthread_condattr_t + - type_name: __pthread_tss_dtor_t + - type_name: pthread_rwlock_t + - type_name: pthread_rwlockattr_t + - type_name: pthread_attr_t + - type_name: __pthread_start_t + - type_name: __pthread_once_func_t + - type_name: __atfork_callback_t + - type_name: pthread_spinlock_t +enums: [] +functions: + - name: pthread_atfork + standards: + - POSIX + return_type: int + arguments: + - type: __atfork_callback_t + - type: __atfork_callback_t + - type: __atfork_callback_t + - name: pthread_attr_destroy + standards: + - POSIX + return_type: int + arguments: + - type: pthread_attr_t * + - name: pthread_attr_getdetachstate + standards: + - POSIX + return_type: int + arguments: + - type: const pthread_attr_t * + - type: int * + - name: pthread_attr_getguardsize + standards: + - POSIX + return_type: int + arguments: + - type: const pthread_attr_t *__restrict + - type: size_t *__restrict + - name: pthread_attr_getstack + standards: + - POSIX + return_type: int + arguments: + - type: const pthread_attr_t *__restrict + - type: void **__restrict + - type: size_t *__restrict + - name: pthread_attr_getstacksize + standards: + - POSIX + return_type: int + arguments: + - type: const pthread_attr_t *__restrict + - type: size_t *__restrict + - name: pthread_attr_init + standards: + - POSIX + return_type: int + arguments: + - type: pthread_attr_t * + - name: pthread_attr_setdetachstate + standards: + - POSIX + return_type: int + arguments: + - type: pthread_attr_t * + - type: int + - name: pthread_attr_setguardsize + standards: + - POSIX + return_type: int + arguments: + - type: pthread_attr_t * + - type: size_t + - name: pthread_attr_setstack + standards: + - POSIX + return_type: int + arguments: + - type: pthread_attr_t * + - type: void * + - type: size_t + - name: pthread_attr_setstacksize + standards: + - POSIX + return_type: int + arguments: + - type: pthread_attr_t * + - type: size_t + - name: pthread_condattr_destroy + standards: + - POSIX + return_type: int + arguments: + - type: pthread_condattr_t * + - name: pthread_condattr_getclock + standards: + - POSIX + return_type: int + arguments: + - type: const pthread_condattr_t *__restrict + - type: clockid_t *__restrict + - name: pthread_condattr_getpshared + standards: + - POSIX + return_type: int + arguments: + - type: const pthread_condattr_t *__restrict + - type: int *__restrict + - name: pthread_condattr_init + standards: + - POSIX + return_type: int + arguments: + - type: pthread_condattr_t * + - name: pthread_condattr_setclock + standards: + - POSIX + return_type: int + arguments: + - type: pthread_condattr_t * + - type: clockid_t + - name: pthread_condattr_setpshared + standards: + - POSIX + return_type: int + arguments: + - type: pthread_condattr_t * + - type: int + - name: pthread_create + standards: + - POSIX + return_type: int + arguments: + - type: pthread_t *__restrict + - type: const pthread_attr_t *__restrict + - type: __pthread_start_t + - type: void * + - name: pthread_detach + standards: + - POSIX + return_type: int + arguments: + - type: pthread_t + - name: pthread_equal + standards: + - POSIX + return_type: int + arguments: + - type: pthread_t + - type: pthread_t + - name: pthread_exit + standards: + - POSIX + return_type: _Noreturn void + arguments: + - type: void * + - name: pthread_getname_np + standards: + - GNUExtensions + return_type: int + arguments: + - type: pthread_t + - type: char * + - type: size_t + - name: pthread_getspecific + standards: + - POSIX + return_type: void * + arguments: + - type: pthread_key_t + - name: pthread_join + standards: + - POSIX + return_type: int + arguments: + - type: pthread_t + - type: void ** + - name: pthread_key_create + standards: + - POSIX + return_type: int + arguments: + - type: pthread_key_t * + - type: __pthread_tss_dtor_t + - name: pthread_key_delete + standards: + - POSIX + return_type: int + arguments: + - type: pthread_key_t + - name: pthread_mutex_destroy + standards: + - POSIX + return_type: int + arguments: + - type: pthread_mutex_t * + - name: pthread_mutex_init + standards: + - POSIX + return_type: int + arguments: + - type: pthread_mutex_t *__restrict + - type: const pthread_mutexattr_t *__restrict + - name: pthread_mutex_lock + standards: + - POSIX + return_type: int + arguments: + - type: pthread_mutex_t * + - name: pthread_mutex_unlock + standards: + - POSIX + return_type: int + arguments: + - type: pthread_mutex_t * + - name: pthread_mutexattr_destroy + standards: + - POSIX + return_type: int + arguments: + - type: pthread_mutexattr_t * + - name: pthread_mutexattr_getpshared + standards: + - POSIX + return_type: int + arguments: + - type: const pthread_mutexattr_t *__restrict + - type: int *__restrict + - name: pthread_mutexattr_getrobust + standards: + - POSIX + return_type: int + arguments: + - type: const pthread_mutexattr_t *__restrict + - type: int *__restrict + - name: pthread_mutexattr_gettype + standards: + - POSIX + return_type: int + arguments: + - type: const pthread_mutexattr_t *__restrict + - type: int *__restrict + - name: pthread_mutexattr_init + standards: + - POSIX + return_type: int + arguments: + - type: pthread_mutexattr_t * + - name: pthread_mutexattr_setpshared + standards: + - POSIX + return_type: int + arguments: + - type: pthread_mutexattr_t *__restrict + - type: int + - name: pthread_mutexattr_setrobust + standards: + - POSIX + return_type: int + arguments: + - type: pthread_mutexattr_t *__restrict + - type: int + - name: pthread_mutexattr_settype + standards: + - POSIX + return_type: int + arguments: + - type: pthread_mutexattr_t *__restrict + - type: int + - name: pthread_once + standards: + - POSIX + return_type: int + arguments: + - type: pthread_once_t * + - type: __pthread_once_func_t + - name: pthread_rwlock_clockrdlock + standards: POSIX + return_type: int + arguments: + - type: pthread_rwlock_t *__restrict + - type: clockid_t + - type: const struct timespec *__restrict + - name: pthread_rwlock_clockwrlock + standards: POSIX + return_type: int + arguments: + - type: pthread_rwlock_t *__restrict + - type: clockid_t + - type: const struct timespec *__restrict + - name: pthread_rwlock_destroy + standards: POSIX + return_type: int + arguments: + - type: pthread_rwlock_t * + - name: pthread_rwlock_init + standards: POSIX + return_type: int + arguments: + - type: pthread_rwlock_t * + - type: const pthread_rwlockattr_t *__restrict + - name: pthread_rwlock_rdlock + standards: POSIX + return_type: int + arguments: + - type: pthread_rwlock_t * + - name: pthread_rwlock_timedrdlock + standards: POSIX + return_type: int + arguments: + - type: pthread_rwlock_t *__restrict + - type: const struct timespec *__restrict + - name: pthread_rwlock_timedwrlock + standards: POSIX + return_type: int + arguments: + - type: pthread_rwlock_t *__restrict + - type: const struct timespec *__restrict + - name: pthread_rwlock_tryrdlock + standards: POSIX + return_type: int + arguments: + - type: pthread_rwlock_t * + - name: pthread_rwlock_trywrlock + standards: POSIX + return_type: int + arguments: + - type: pthread_rwlock_t * + - name: pthread_rwlock_unlock + standards: POSIX + return_type: int + arguments: + - type: pthread_rwlock_t * + - name: pthread_rwlock_wrlock + standards: POSIX + return_type: int + arguments: + - type: pthread_rwlock_t * + - name: pthread_rwlockattr_destroy + standards: + - POSIX + return_type: int + arguments: + - type: pthread_rwlockattr_t * + - name: pthread_rwlockattr_getkind_np + standards: + - POSIX + return_type: int + arguments: + - type: pthread_rwlockattr_t * + - type: int * + - name: pthread_rwlockattr_getpshared + standards: + - POSIX + return_type: int + arguments: + - type: const pthread_rwlockattr_t * + - type: int * + - name: pthread_rwlockattr_init + standards: + - POSIX + return_type: int + arguments: + - type: pthread_rwlockattr_t * + - name: pthread_rwlockattr_setkind_np + standards: + - POSIX + return_type: int + arguments: + - type: pthread_rwlockattr_t * + - type: int + - name: pthread_rwlockattr_setpshared + standards: + - POSIX + return_type: int + arguments: + - type: pthread_rwlockattr_t * + - type: int + - name: pthread_self + standards: + - POSIX + return_type: pthread_t + arguments: + - type: void + - name: pthread_setname_np + standards: + - GNUExtensions + return_type: int + arguments: + - type: pthread_t + - type: const char * + - name: pthread_setspecific + standards: + - POSIX + return_type: void * + arguments: + - type: pthread_key_t + - type: const void * + - name: pthread_spin_destroy + standards: POSIX + return_type: int + arguments: + - type: pthread_spinlock_t * + - name: pthread_spin_init + standards: POSIX + return_type: int + arguments: + - type: pthread_spinlock_t * + - type: int + - name: pthread_spin_lock + standards: POSIX + return_type: int + arguments: + - type: pthread_spinlock_t * + - name: pthread_spin_trylock + standards: POSIX + return_type: int + arguments: + - type: pthread_spinlock_t * + - name: pthread_spin_unlock + standards: POSIX + return_type: int + arguments: + - type: pthread_spinlock_t * diff --git a/libc/include/sched.yaml b/libc/include/sched.yaml new file mode 100644 index 000000000000..57871f524bf1 --- /dev/null +++ b/libc/include/sched.yaml @@ -0,0 +1,89 @@ +header: sched.h +header_template: sched.h.def +macros: [] +types: + - type_name: struct_timespec + - type_name: time_t + - type_name: struct_sched_param + - type_name: size_t + - type_name: cpu_set_t + - type_name: pid_t +enums: [] +objects: [] +functions: + - name: __sched_getcpucount + standards: + - llvm_libc_ext + return_type: int + arguments: + - type: size_t + - type: const cpu_set_t * + - name: sched_get_priority_max + standards: + - POSIX + return_type: int + arguments: + - type: int + - name: sched_get_priority_min + standards: + - POSIX + return_type: int + arguments: + - type: int + - name: sched_getaffinity + standards: + - GNUExtensions + return_type: int + arguments: + - type: pid_t + - type: size_t + - type: cpu_set_t * + - name: sched_getparam + standards: + - POSIX + return_type: int + arguments: + - type: pid_t + - type: struct sched_param * + - name: sched_getscheduler + standards: + - POSIX + return_type: int + arguments: + - type: pid_t + - type: int + - type: const struct sched_param * + - name: sched_rr_get_interval + standards: + - POSIX + return_type: int + arguments: + - type: pid_t + - type: struct timespec * + - name: sched_setaffinity + standards: + - GNUExtensions + return_type: int + arguments: + - type: pid_t + - type: size_t + - type: const cpu_set_t * + - name: sched_setparam + standards: + - POSIX + return_type: int + arguments: + - type: pid_t + - type: const struct sched_param * + - name: sched_setscheduler + standards: + - POSIX + return_type: int + arguments: + - type: pid_t + - name: sched_yield + standards: + - POSIX + return_type: int + arguments: + - type: void diff --git a/libc/include/search.yaml b/libc/include/search.yaml new file mode 100644 index 000000000000..b7ce06d48e70 --- /dev/null +++ b/libc/include/search.yaml @@ -0,0 +1,71 @@ +header: search.h +header_template: search.h.def +macros: [] +types: + - type_name: struct_hsearch_data + - type_name: ENTRY + - type_name: ACTION + - type_name: __lsearchcompare_t +enums: [] +objects: [] +functions: + - name: hcreate + standards: + - POSIX + return_type: int + arguments: + - type: size_t + - name: hcreate_r + standards: GNUExtensions + return_type: int + arguments: + - type: size_t + - type: struct hsearch_data * + - name: hdestroy + standards: GNUExtensions + return_type: void + arguments: [] + - name: hdestroy_r + standards: + - POSIX + return_type: void + arguments: + - type: struct hsearch_data * + - name: hsearch + standards: + - POSIX + return_type: ENTRY * + arguments: + - type: ENTRY + - type: ACTION + - name: hsearch_r + standards: GNUExtensions + return_type: int + arguments: + - type: ENTRY + - type: ACTION + - type: ENTRY * * + - type: struct hsearch_data * + - name: insque + standards: + - POSIX + return_type: void + arguments: + - type: void * + - type: void * + - name: remque + standards: + - POSIX + return_type: void + arguments: + - type: void * + - name: lfind + standards: + - POSIX + return_type: void * + arguments: + - type: const void * + - type: const void * + - type: size_t * + - type: size_t + - type: __lsearchcompare_t diff --git a/libc/include/setjmp.yaml b/libc/include/setjmp.yaml new file mode 100644 index 000000000000..2c4f7fb6dfcc --- /dev/null +++ b/libc/include/setjmp.yaml @@ -0,0 +1,21 @@ +header: setjmp.h +header_template: setjmp.h.def +macros: [] +types: + - type_name: jmp_buf +enums: [] +objects: [] +functions: + - name: longjmp + standards: + - stdc + return_type: _Noreturn void + arguments: + - type: jmp_buf + - type: int + - name: setjmp + standards: + - stdc + return_type: int + arguments: + - type: jmp_buf diff --git a/libc/include/signal.yaml b/libc/include/signal.yaml new file mode 100644 index 000000000000..576e77576ac7 --- /dev/null +++ b/libc/include/signal.yaml @@ -0,0 +1,83 @@ +header: signal.h +header_template: signal.h.def +macros: [] +types: + - type_name: pid_t + - type_name: stack_t + - type_name: siginfo_t + - type_name: struct_sigaction + - type_name: sigset_t + - type_name: union_sigval + - type_name: sig_atomic_t +enums: [] +objects: [] +functions: + - name: kill + standards: + - POSIX + return_type: int + arguments: + - type: pid_t + - type: int + - name: raise + standards: + - stdc + return_type: int + arguments: + - type: int + - name: sigaction + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: const struct sigaction *__restrict + - type: struct sigaction *__restrict + - name: sigaddset + standards: + - POSIX + return_type: int + arguments: + - type: sigset_t * + - type: int + - name: sigaltstack + standards: + - POSIX + return_type: int + arguments: + - type: const stack_t *__restrict + - type: stack_t *__restrict + - name: sigdelset + standards: + - POSIX + return_type: int + arguments: + - type: sigset_t * + - type: int + - name: sigemptyset + standards: + - POSIX + return_type: int + arguments: + - type: sigset_t * + - name: sigfillset + standards: + - POSIX + return_type: int + arguments: + - type: sigset_t * + - name: signal + standards: + - stdc + return_type: __sighandler_t + arguments: + - type: int + - type: __sighandler_t + - name: sigprocmask + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: const sigset_t *__restrict + - type: sigset_t *__restrict diff --git a/libc/include/spawn.yaml b/libc/include/spawn.yaml new file mode 100644 index 000000000000..e725ab9719ed --- /dev/null +++ b/libc/include/spawn.yaml @@ -0,0 +1,59 @@ +header: spawn.h +header_template: spawn.h.def +macros: [] +types: + - type_name: posix_spawn_file_actions_t + - type_name: posix_spawnattr_t + - type_name: pid_t + - type_name: mode_t +enums: [] +objects: [] +functions: + - name: posix_spawn + standards: + - POSIX + return_type: int + arguments: + - type: pid_t *__restrict + - type: const char *__restrict + - type: posix_spawn_file_actions_t * + - type: posix_spawnattr_t *__restrict + - type: const char *__restrict * + - type: const char *__restrict * + - name: posix_spawn_file_actions_addclose + standards: + - POSIX + return_type: int + arguments: + - type: posix_spawn_file_actions_t * + - type: int + - name: posix_spawn_file_actions_adddup2 + standards: + - POSIX + return_type: int + arguments: + - type: posix_spawn_file_actions_t * + - type: int + - type: int + - name: posix_spawn_file_actions_addopen + standards: + - POSIX + return_type: int + arguments: + - type: posix_spawn_file_actions_t *__restrict + - type: int + - type: const char *__restrict + - type: int + - type: mode_t + - name: posix_spawn_file_actions_destroy + standards: + - POSIX + return_type: int + arguments: + - type: posix_spawn_file_actions_t * + - name: posix_spawn_file_actions_init + standards: + - POSIX + return_type: int + arguments: + - type: posix_spawn_file_actions_t * diff --git a/libc/include/stdbit.yaml b/libc/include/stdbit.yaml new file mode 100644 index 000000000000..e9bd6b3918e7 --- /dev/null +++ b/libc/include/stdbit.yaml @@ -0,0 +1,397 @@ +header: stdbit.h +header_template: stdbit.h.def +macros: [] +types: [] +enums: [] +objects: [] +functions: + - name: stdc_bit_ceil_uc + standards: + - stdc + return_type: unsigned char + arguments: + - type: unsigned char + - name: stdc_bit_ceil_ui + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned int + - name: stdc_bit_ceil_ul + standards: + - stdc + return_type: unsigned long + arguments: + - type: unsigned long + - name: stdc_bit_ceil_ull + standards: + - stdc + return_type: unsigned long long + arguments: + - type: unsigned long long + - name: stdc_bit_ceil_us + standards: + - stdc + return_type: unsigned short + arguments: + - type: unsigned short + - name: stdc_bit_floor_uc + standards: + - stdc + return_type: unsigned char + arguments: + - type: unsigned char + - name: stdc_bit_floor_ui + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned int + - name: stdc_bit_floor_ul + standards: + - stdc + return_type: unsigned long + arguments: + - type: unsigned long + - name: stdc_bit_floor_ull + standards: + - stdc + return_type: unsigned long long + arguments: + - type: unsigned long long + - name: stdc_bit_floor_us + standards: + - stdc + return_type: unsigned short + arguments: + - type: unsigned short + - name: stdc_bit_width_uc + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned char + - name: stdc_bit_width_ui + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned int + - name: stdc_bit_width_ul + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned long + - name: stdc_bit_width_ull + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned long long + - name: stdc_bit_width_us + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned short + - name: stdc_count_ones_uc + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned char + - name: stdc_count_ones_ui + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned int + - name: stdc_count_ones_ul + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned long + - name: stdc_count_ones_ull + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned long long + - name: stdc_count_ones_us + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned short + - name: stdc_count_zeros_uc + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned char + - name: stdc_count_zeros_ui + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned int + - name: stdc_count_zeros_ul + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned long + - name: stdc_count_zeros_ull + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned long long + - name: stdc_count_zeros_us + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned short + - name: stdc_first_leading_one_uc + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned char + - name: stdc_first_leading_one_ui + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned int + - name: stdc_first_leading_one_ul + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned long + - name: stdc_first_leading_one_ull + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned long long + - name: stdc_first_leading_one_us + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned short + - name: stdc_first_leading_zero_uc + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned char + - name: stdc_first_leading_zero_ui + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned int + - name: stdc_first_leading_zero_ul + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned long + - name: stdc_first_leading_zero_ull + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned long long + - name: stdc_first_leading_zero_us + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned short + - name: stdc_first_trailing_one_uc + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned char + - name: stdc_first_trailing_one_ui + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned int + - name: stdc_first_trailing_one_ul + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned long + - name: stdc_first_trailing_one_ull + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned long long + - name: stdc_first_trailing_one_us + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned short + - name: stdc_has_single_bit_uc + standards: + - stdc + return_type: bool + arguments: + - type: unsigned char + - name: stdc_has_single_bit_ui + standards: + - stdc + return_type: bool + arguments: + - type: unsigned int + - name: stdc_has_single_bit_ul + standards: + - stdc + return_type: bool + arguments: + - type: unsigned long + - name: stdc_has_single_bit_ull + standards: + - stdc + return_type: bool + arguments: + - type: unsigned long long + - name: stdc_has_single_bit_us + standards: + - stdc + return_type: bool + arguments: + - type: unsigned short + - name: stdc_leading_ones_uc + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned char + - name: stdc_leading_ones_ui + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned int + - name: stdc_leading_ones_ul + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned long + - name: stdc_leading_ones_ull + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned long long + - name: stdc_leading_ones_us + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned short + - name: stdc_leading_zeros_uc + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned char + - name: stdc_leading_zeros_ui + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned int + - name: stdc_leading_zeros_ul + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned long + - name: stdc_leading_zeros_ull + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned long long + - name: stdc_leading_zeros_us + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned short + - name: stdc_trailing_ones_uc + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned char + - name: stdc_trailing_ones_ui + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned int + - name: stdc_trailing_ones_ul + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned long + - name: stdc_trailing_ones_ull + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned long long + - name: stdc_trailing_ones_us + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned short + - name: stdc_trailing_zeros_uc + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned char + - name: stdc_trailing_zeros_ui + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned int + - name: stdc_trailing_zeros_ul + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned long + - name: stdc_trailing_zeros_ull + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned long long + - name: stdc_trailing_zeros_us + standards: + - stdc + return_type: unsigned int + arguments: + - type: unsigned short diff --git a/libc/include/stdckdint.yaml b/libc/include/stdckdint.yaml new file mode 100644 index 000000000000..e8b2e80ee029 --- /dev/null +++ b/libc/include/stdckdint.yaml @@ -0,0 +1,9 @@ +header: stdckdint.h +header_template: stdckdint.h.def +standards: + - stdc +macros: [] +types: [] +enums: [] +objects: [] +functions: [] diff --git a/libc/include/stdfix.yaml b/libc/include/stdfix.yaml new file mode 100644 index 000000000000..7b3bdba082dd --- /dev/null +++ b/libc/include/stdfix.yaml @@ -0,0 +1,308 @@ +header: stdfix.h +header_template: stdfix.h.def +macros: [] +types: + - type_name: stdfix-types +enums: [] +objects: [] +functions: + - name: abshk + standards: + - stdc_ext + return_type: short accum + arguments: + - type: short accum + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: abshr + standards: + - stdc_ext + return_type: short fract + arguments: + - type: short fract + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: absk + standards: + - stdc_ext + return_type: accum + arguments: + - type: accum + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: abslk + standards: + - stdc_ext + return_type: long accum + arguments: + - type: long accum + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: abslr + standards: + - stdc_ext + return_type: long fract + arguments: + - type: long fract + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: absr + standards: + - stdc_ext + return_type: fract + arguments: + - type: fract + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: exphk + standards: + - stdc_ext + - llvm_libc_stdfix_ext + return_type: short accum + arguments: + - type: short accum + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: expk + standards: + - stdc_ext + - llvm_libc_stdfix_ext + return_type: accum + arguments: + - type: accum + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: hrbits + standards: + - stdc_ext + return_type: short fract + arguments: + - type: int_hr_t + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: uhrbits + standards: + - stdc_ext + return_type: unsigned short fract + arguments: + - type: uint_uhr_t + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: rbits + standards: + - stdc_ext + return_type: fract + arguments: + - type: int_r_t + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: urbits + standards: + - stdc_ext + return_type: unsigned fract + arguments: + - type: uint_ur_t + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: lrbits + standards: + - stdc_ext + return_type: long fract + arguments: + - type: int_lr_t + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: ulrbits + standards: + - stdc_ext + return_type: unsigned long fract + arguments: + - type: uint_ulr_t + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: hkbits + standards: + - stdc_ext + return_type: short accum + arguments: + - type: int_hk_t + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: uhkbits + standards: + - stdc_ext + return_type: unsigned short accum + arguments: + - type: uint_uhk_t + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: kbits + standards: + - stdc_ext + return_type: accum + arguments: + - type: int_k_t + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: ukbits + standards: + - stdc_ext + return_type: unsigned accum + arguments: + - type: uint_uk_t + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: lkbits + standards: + - stdc_ext + return_type: long accum + arguments: + - type: uint_ulr_t + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: ulkbits + standards: + - stdc_ext + return_type: unsigned long accum + arguments: + - type: uint_ulk_t + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: roundhk + standards: + - stdc_ext + return_type: short accum + arguments: + - type: short accum + - type: int + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: roundhr + standards: + - stdc_ext + return_type: short fract + arguments: + - type: short fract + - type: int + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: roundk + standards: + - stdc_ext + return_type: accum + arguments: + - type: accum + - type: int + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: roundlk + standards: + - stdc_ext + return_type: long accum + arguments: + - type: long accum + - type: int + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: roundlr + standards: + - stdc_ext + return_type: long fract + arguments: + - type: long fract + - type: int + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: roundr + standards: + - stdc_ext + return_type: fract + arguments: + - type: fract + - type: int + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: rounduhk + standards: + - stdc_ext + return_type: unsigned short accum + arguments: + - type: unsigned short accum + - type: int + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: rounduhr + standards: + - stdc_ext + return_type: unsigned short fract + arguments: + - type: unsigned short fract + - type: int + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: rounduk + standards: + - stdc_ext + return_type: unsigned accum + arguments: + - type: unsigned accum + - type: int + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: roundulk + standards: + - stdc_ext + return_type: unsigned long accum + arguments: + - type: unsigned long accum + - type: int + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: roundulr + standards: + - stdc_ext + return_type: unsigned long fract + arguments: + - type: unsigned long fract + - type: int + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: roundur + standards: + - stdc_ext + return_type: unsigned fract + arguments: + - type: unsigned fract + - type: int + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: sqrtuhk + standards: + - stdc_ext + - llvm_libc_stdfix_ext + return_type: unsigned short accum + arguments: + - type: unsigned short accum + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: sqrtuhr + standards: + - stdc_ext + - llvm_libc_stdfix_ext + return_type: unsigned short fract + arguments: + - type: unsigned short fract + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: sqrtuk + standards: + - stdc_ext + - llvm_libc_stdfix_ext + return_type: unsigned accum + arguments: + - type: unsigned accum + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: sqrtulk + standards: llvm_libc_stdfix_ext + return_type: unsigned long accum + arguments: + - type: unsigned long accum + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: sqrtulr + standards: + - stdc_ext + - llvm_libc_stdfix_ext + return_type: unsigned long fract + arguments: + - type: unsigned long fract + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: sqrtur + standards: + - stdc_ext + - llvm_libc_stdfix_ext + return_type: unsigned fract + arguments: + - type: unsigned fract + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: uhksqrtus + standards: + - stdc_ext + - llvm_libc_stdfix_ext + return_type: unsigned short accum + arguments: + - type: unsigned short + guard: LIBC_COMPILER_HAS_FIXED_POINT + - name: uksqrtui + standards: + - stdc_ext + - llvm_libc_stdfix_ext + return_type: unsigned accum + arguments: + - type: unsigned int + guard: LIBC_COMPILER_HAS_FIXED_POINT diff --git a/libc/include/stdint.yaml b/libc/include/stdint.yaml new file mode 100644 index 000000000000..d583a104af37 --- /dev/null +++ b/libc/include/stdint.yaml @@ -0,0 +1,9 @@ +header: stdint.h +header_template: stdint.h.def +standards: + - stdc +macros: [] +types: [] +enums: [] +objects: [] +functions: [] diff --git a/libc/include/stdio.yaml b/libc/include/stdio.yaml new file mode 100644 index 000000000000..2619984cca26 --- /dev/null +++ b/libc/include/stdio.yaml @@ -0,0 +1,398 @@ +header: stdio.h +header_template: stdio.h.def +macros: + - macro_name: stdout + macro_value: stdout + - macro_name: stdin + macro_value: stdin + - macro_name: stderr + macro_value: stderr +types: + - type_name: size_t + - type_name: off_t + - type_name: cookie_io_functions_t + - type_name: FILE +enums: [] +objects: + - object_name: stdin + object_type: FILE * + - object_name: stdout + object_type: FILE * + - object_name: stderr + object_type: FILE * +functions: + - name: asprintf + standards: + - GNUExtensions + return_type: int + arguments: + - type: char **__restrict + - type: const char *__restrict + - type: '...' + - name: clearerr + standards: + - stdc + return_type: void + arguments: + - type: FILE * + - name: clearerr_unlocked + standards: + - GNUExtensions + return_type: void + arguments: + - type: FILE * + - name: fclose + standards: + - stdc + return_type: int + arguments: + - type: FILE * + - name: fdopen + standards: + - POSIX + return_type: FILE * + arguments: + - type: int + - type: const char * + - name: feof + standards: + - stdc + return_type: int + arguments: + - type: FILE * + - name: feof_unlocked + standards: + - GNUExtensions + return_type: int + arguments: + - type: FILE * + - name: ferror + standards: + - stdc + return_type: int + arguments: + - type: FILE * + - name: ferror_unlocked + standards: + - GNUExtensions + return_type: int + arguments: + - type: FILE * + - name: fflush + standards: + - stdc + return_type: int + arguments: + - type: FILE * + - name: fgetc + standards: + - stdc + return_type: int + arguments: + - type: FILE * + - name: fgetc_unlocked + standards: + - GNUExtensions + return_type: int + arguments: + - type: FILE * + - name: fgets + standards: + - stdc + return_type: char * + arguments: + - type: char *__restrict + - type: int + - type: FILE *__restrict + - name: fileno + standards: + - POSIX + return_type: int + arguments: + - type: FILE * + - name: flockfile + standards: + - POSIX + return_type: void + arguments: + - type: FILE * + - name: fopen + standards: + - stdc + return_type: FILE * + arguments: + - type: const char * + - type: const char * + - name: fopencookie + standards: + - GNUExtensions + return_type: FILE * + arguments: + - type: void * + - type: const char * + - type: cookie_io_functions_t + - name: fprintf + standards: + - stdc + return_type: int + arguments: + - type: FILE *__restrict + - type: const char *__restrict + - type: '...' + - name: fputc + standards: + - stdc + return_type: int + arguments: + - type: int + - type: FILE * + - name: fputs + standards: + - stdc + return_type: int + arguments: + - type: const char *__restrict + - type: FILE *__restrict + - name: fread + standards: + - stdc + return_type: size_t + arguments: + - type: void *__restrict + - type: size_t + - type: size_t + - type: FILE *__restrict + - name: fread_unlocked + standards: + - GNUExtensions + return_type: size_t + arguments: + - type: void *__restrict + - type: size_t + - type: size_t + - type: FILE *__restrict + - name: fscanf + standards: + - stdc + return_type: int + arguments: + - type: FILE *__restrict + - type: const char *__restrict + - type: '...' + - name: vfscanf + standards: + - stdc + return_type: int + arguments: + - type: FILE *__restrict + - type: const char *__restrict + - type: va_list + - name: fseek + standards: + - stdc + return_type: int + arguments: + - type: FILE * + - type: long + - type: int + - name: ftell + standards: + - stdc + return_type: long + arguments: + - type: FILE * + - name: funlockfile + standards: + - POSIX + return_type: void + arguments: + - type: FILE * + - name: fwrite + standards: + - stdc + return_type: size_t + arguments: + - type: const void *__restrict + - type: size_t + - type: size_t + - type: FILE *__restrict + - name: fwrite_unlocked + standards: + - GNUExtensions + return_type: size_t + arguments: + - type: const void *__restrict + - type: size_t + - type: size_t + - type: FILE *__restrict + - name: getc + standards: + - stdc + return_type: int + arguments: + - type: FILE * + - name: getc_unlocked + standards: + - POSIX + return_type: int + arguments: + - type: FILE * + - name: getchar + standards: + - stdc + return_type: int + arguments: [] + - name: getchar_unlocked + standards: + - POSIX + return_type: int + arguments: [] + - name: printf + standards: + - stdc + return_type: int + arguments: + - type: const char *__restrict + - type: '...' + - name: putc + standards: + - stdc + return_type: int + arguments: + - type: int + - type: FILE * + - name: putchar + standards: + - stdc + return_type: int + arguments: + - type: int + - name: puts + standards: + - stdc + return_type: int + arguments: + - type: const char * + - name: remove + standards: + - stdc + return_type: int + arguments: + - type: const char * + - name: rename + standards: + - stdc + return_type: int + arguments: + - type: const char * + - type: const char * + - name: scanf + standards: + - stdc + return_type: int + arguments: + - type: const char *__restrict + - type: '...' + - name: vscanf + standards: + - stdc + return_type: int + arguments: + - type: const char *__restrict + - type: va_list + - name: setbuf + standards: + - stdc + return_type: void + arguments: + - type: FILE *__restrict + - type: char *__restrict + - name: setvbuf + standards: + - stdc + return_type: int + arguments: + - type: FILE *__restrict + - type: char *__restrict + - type: int + - type: size_t + - name: snprintf + standards: + - stdc + return_type: int + arguments: + - type: char *__restrict + - type: size_t + - type: const char *__restrict + - type: '...' + - name: sprintf + standards: + - stdc + return_type: int + arguments: + - type: char *__restrict + - type: const char *__restrict + - type: '...' + - name: sscanf + standards: + - stdc + return_type: int + arguments: + - type: const char *__restrict + - type: const char *__restrict + - type: '...' + - name: ungetc + standards: + - stdc + return_type: int + arguments: + - type: int + - type: FILE * + - name: vasprintf + standards: + - GNUExtensions + return_type: int + arguments: + - type: char **__restrict + - type: const char *__restrict + - type: va_list + - name: vfprintf + standards: + - stdc + return_type: int + arguments: + - type: FILE *__restrict + - type: const char *__restrict + - type: va_list + - name: vprintf + standards: + - stdc + return_type: int + arguments: + - type: const char *__restrict + - type: va_list + - name: vsnprintf + standards: + - stdc + return_type: int + arguments: + - type: char *__restrict + - type: size_t + - type: const char *__restrict + - type: va_list + - name: vsprintf + standards: + - stdc + return_type: int + arguments: + - type: char *__restrict + - type: const char *__restrict + - type: va_list + - name: vsscanf + standards: + - stdc + return_type: int + arguments: + - type: const char *__restrict + - type: const char *__restrict + - type: va_list diff --git a/libc/include/stdlib.yaml b/libc/include/stdlib.yaml new file mode 100644 index 000000000000..4b68f272613b --- /dev/null +++ b/libc/include/stdlib.yaml @@ -0,0 +1,342 @@ +header: stdlib.h +header_template: stdlib.h.def +standards: + - stdc +macros: [] +types: + - type_name: __atexithandler_t + - type_name: __qsortrcompare_t + - type_name: __qsortcompare_t + - type_name: __bsearchcompare_t + - type_name: size_t + - type_name: lldiv_t + - type_name: ldiv_t + - type_name: div_t +enums: [] +objects: [] +functions: + - name: _Exit + standards: + - stdc + return_type: _Noreturn void + arguments: + - type: int + - name: abort + standards: + - stdc + return_type: _Noreturn void + arguments: + - type: void + - name: abs + standards: + - stdc + return_type: int + arguments: + - type: int + - name: aligned_alloc + standards: + - stdc + return_type: void * + arguments: + - type: size_t + - type: size_t + - name: at_quick_exit + standards: + - stdc + return_type: int + arguments: + - type: __atexithandler_t + - name: atexit + standards: + - stdc + return_type: int + arguments: + - type: __atexithandler_t + - name: atof + standards: + - stdc + return_type: double + arguments: + - type: const char *__restrict + - name: atoi + standards: + - stdc + return_type: int + arguments: + - type: const char * + - name: atol + standards: + - stdc + return_type: long + arguments: + - type: const char * + - name: atoll + standards: + - stdc + return_type: long long + arguments: + - type: const char * + - name: bsearch + standards: + - stdc + return_type: void * + arguments: + - type: const void * + - type: const void * + - type: size_t + - type: size_t + - type: __bsearchcompare_t + - name: calloc + standards: + - stdc + return_type: void * + arguments: + - type: size_t + - type: size_t + - name: div + standards: + - stdc + return_type: div_t + arguments: + - type: int + - type: int + - name: exit + standards: + - stdc + return_type: _Noreturn void + arguments: + - type: int + - name: free + standards: + - stdc + return_type: void + arguments: + - type: void * + - name: getenv + standards: + - stdc + return_type: char * + arguments: + - type: const char * + - name: labs + standards: + - stdc + return_type: long + arguments: + - type: long + - name: ldiv + standards: + - stdc + return_type: ldiv_t + arguments: + - type: long + - type: long + - name: llabs + standards: + - stdc + return_type: long long + arguments: + - type: long long + - name: lldiv + standards: + - stdc + return_type: lldiv_t + arguments: + - type: long long + - type: long long + - name: malloc + standards: + - stdc + return_type: void * + arguments: + - type: size_t + - name: qsort + standards: + - stdc + return_type: void + arguments: + - type: void * + - type: size_t + - type: size_t + - type: __qsortcompare_t + - name: qsort_r + standards: + - GNUExtensions + return_type: void + arguments: + - type: void * + - type: size_t + - type: size_t + - type: __qsortrcompare_t + - type: void * + - name: quick_exit + standards: + - stdc + return_type: _Noreturn void + arguments: + - type: int + - name: rand + standards: + - stdc + return_type: int + arguments: + - type: void + - name: realloc + standards: + - stdc + return_type: void * + arguments: + - type: void * + - type: size_t + - name: srand + standards: + - stdc + return_type: void + arguments: + - type: unsigned int + - name: strfromd + standards: + - stdc + return_type: int + arguments: + - type: char *__restrict + - type: size_t + - type: const char *__restrict + - type: double + - name: strfromf + standards: + - stdc + return_type: int + arguments: + - type: char *__restrict + - type: size_t + - type: const char *__restrict + - type: float + - name: strfroml + standards: + - stdc + return_type: int + arguments: + - type: char *__restrict + - type: size_t + - type: const char *__restrict + - type: long double + - name: strtod + standards: + - stdc + return_type: double + arguments: + - type: const char *__restrict + - type: char **__restrict + - name: strtof + standards: + - stdc + return_type: float + arguments: + - type: const char *__restrict + - type: char **__restrict + - name: strtol + standards: + - stdc + return_type: long + arguments: + - type: const char *__restrict + - type: char **__restrict + - type: int + - name: strtold + standards: + - stdc + return_type: long double + arguments: + - type: const char *__restrict + - type: char **__restrict + - name: strtoll + standards: + - stdc + return_type: long long + arguments: + - type: const char *__restrict + - type: char **__restrict + - type: int + - name: strtoul + standards: + - stdc + return_type: unsigned long + arguments: + - type: const char *__restrict + - type: char **__restrict + - type: int + - name: strtoull + standards: + - stdc + return_type: unsigned long long + arguments: + - type: const char *__restrict + - type: char **__restrict + - type: int + - name: strtod_l + standards: + - stdc + return_type: double + arguments: + - type: const char *__restrict + - type: char **__restrict + - type: locale_t + - name: strtof_l + standards: + - stdc + return_type: float + arguments: + - type: const char *__restrict + - type: char **__restrict + - type: locale_t + - name: strtol_l + standards: + - stdc + return_type: long + arguments: + - type: const char *__restrict + - type: char **__restrict + - type: int + - type: locale_t + - name: strtold_l + standards: + - stdc + return_type: long double + arguments: + - type: const char *__restrict + - type: char **__restrict + - type: locale_t + - name: strtoll_l + standards: + - stdc + return_type: long long + arguments: + - type: const char *__restrict + - type: char **__restrict + - type: int + - type: locale_t + - name: strtoul_l + standards: + - stdc + return_type: unsigned long + arguments: + - type: const char *__restrict + - type: char **__restrict + - type: int + - type: locale_t + - name: strtoull_l + standards: + - stdc + return_type: unsigned long long + arguments: + - type: const char *__restrict + - type: char **__restrict + - type: int + - type: locale_t + - name: system + standards: + - stdc + return_type: int + arguments: + - type: const char * diff --git a/libc/include/string.yaml b/libc/include/string.yaml new file mode 100644 index 000000000000..deded309abc2 --- /dev/null +++ b/libc/include/string.yaml @@ -0,0 +1,320 @@ +header: string.h +header_template: string.h.def +macros: [] +types: + - type_name: size_t +enums: [] +objects: [] +functions: + - name: memccpy + standards: + - POSIX + return_type: void * + arguments: + - type: void *__restrict + - type: const void *__restrict + - type: int + - type: size_t + - name: memchr + standards: + - stdc + return_type: void * + arguments: + - type: const void * + - type: int + - type: size_t + - name: memcmp + standards: + - stdc + return_type: int + arguments: + - type: const void * + - type: const void * + - type: size_t + - name: memcpy + standards: + - stdc + return_type: void * + arguments: + - type: void *__restrict + - type: const void *__restrict + - type: size_t + - name: memmem + standards: + - GNUExtensions + return_type: void * + arguments: + - type: const void * + - type: size_t + - type: const void * + - type: size_t + - name: memmove + standards: + - stdc + return_type: void * + arguments: + - type: void * + - type: const void * + - type: size_t + - name: mempcpy + standards: + - POSIX + return_type: void * + arguments: + - type: void *__restrict + - type: const void *__restrict + - type: size_t + - name: memrchr + standards: + - GNUExtensions + return_type: void * + arguments: + - type: const void * + - type: int + - type: size_t + - name: memset + standards: + - stdc + return_type: void * + arguments: + - type: void * + - type: int + - type: size_t + - name: memset_explicit + standards: + - stdc + return_type: void * + arguments: + - type: void * + - type: int + - type: size_t + - name: stpcpy + standards: + - POSIX + return_type: char * + arguments: + - type: char *__restrict + - type: const char *__restrict + - name: stpncpy + standards: + - POSIX + return_type: char * + arguments: + - type: char *__restrict + - type: const char *__restrict + - type: size_t + - name: strcasestr + standards: + - GNUExtensions + return_type: char * + arguments: + - type: const char * + - type: const char * + - name: strcat + standards: + - stdc + return_type: char * + arguments: + - type: char *__restrict + - type: const char *__restrict + - name: strchr + standards: + - stdc + return_type: char * + arguments: + - type: const char * + - type: int + - name: strchrnul + standards: + - GNUExtensions + return_type: char * + arguments: + - type: const char * + - type: int + - name: strcmp + standards: + - stdc + return_type: int + arguments: + - type: const char * + - type: const char * + - name: strcoll + standards: + - stdc + return_type: int + arguments: + - type: const char * + - type: const char * + - name: strcoll_l + standards: + - stdc + return_type: int + arguments: + - type: const char * + - type: const char * + - type: locale_t + - name: strcpy + standards: + - stdc + return_type: char * + arguments: + - type: char *__restrict + - type: const char *__restrict + - name: strcspn + standards: + - stdc + return_type: size_t + arguments: + - type: const char * + - type: const char * + - name: strdup + return_type: char * + arguments: + - type: const char * + - name: strerror + standards: + - stdc + return_type: char * + arguments: + - type: int + - name: strerror_r + standards: + - GNUExtensions + return_type: char * + arguments: + - type: int + - type: char * + - type: size_t + - name: strlcat + standards: + - BSDExtensions + return_type: size_t + arguments: + - type: char *__restrict + - type: const char *__restrict + - type: size_t + - name: strlcpy + standards: + - BSDExtensions + return_type: size_t + arguments: + - type: char *__restrict + - type: const char *__restrict + - type: size_t + - name: strlen + standards: + - stdc + return_type: size_t + arguments: + - type: const char * + - name: strncat + standards: + - stdc + return_type: char * + arguments: + - type: char * + - type: const char * + - type: size_t + - name: strncmp + standards: + - stdc + return_type: int + arguments: + - type: const char * + - type: const char * + - type: size_t + - name: strncpy + standards: + - stdc + return_type: char * + arguments: + - type: char *__restrict + - type: const char *__restrict + - type: size_t + - name: strndup + standards: + - stdc + return_type: char * + arguments: + - type: const char * + - type: size_t + - name: strnlen + standards: + - POSIX + return_type: size_t + arguments: + - type: const char * + - type: size_t + - name: strpbrk + standards: + - stdc + return_type: char * + arguments: + - type: const char * + - type: const char * + - name: strrchr + standards: + - stdc + return_type: char * + arguments: + - type: const char * + - type: int + - name: strsep + standards: + - BSDExtensions + return_type: char * + arguments: + - type: char **__restrict + - type: const char *__restrict + - name: strsignal + standards: + - POSIX + return_type: char * + arguments: + - type: int + - name: strspn + standards: + - stdc + return_type: size_t + arguments: + - type: const char * + - type: const char * + - name: strstr + standards: + - stdc + return_type: char * + arguments: + - type: const char * + - type: const char * + - name: strtok + standards: + - stdc + return_type: char * + arguments: + - type: char *__restrict + - type: const char *__restrict + - name: strtok_r + standards: + - POSIX + return_type: char * + arguments: + - type: char *__restrict + - type: const char *__restrict + - type: char ** __restrict + - name: strxfrm + standards: + - stdc + return_type: size_t + arguments: + - type: char *__restrict + - type: const char *__restrict + - type: size_t + - name: strxfrm_l + standards: + - stdc + return_type: size_t + arguments: + - type: char *__restrict + - type: const char *__restrict + - type: size_t + - type: locale_t diff --git a/libc/include/strings.yaml b/libc/include/strings.yaml new file mode 100644 index 000000000000..e672dca6a94d --- /dev/null +++ b/libc/include/strings.yaml @@ -0,0 +1,59 @@ +header: strings.h +header_template: strings.h.def +macros: [] +types: [] +enums: [] +objects: [] +functions: + - name: bcmp + standards: + - llvm_libc_ext + return_type: int + arguments: + - type: const void * + - type: const void * + - type: size_t + - name: bcopy + standards: + - llvm_libc_ext + return_type: void + arguments: + - type: const void * + - type: void * + - type: size_t + - name: bzero + standards: + - llvm_libc_ext + return_type: void + arguments: + - type: void * + - type: size_t + - name: index + standards: + - BSDExtensions + return_type: char * + arguments: + - type: const char * + - type: int + - name: rindex + standards: + - BSDExtensions + return_type: char * + arguments: + - type: const char * + - type: int + - name: strcasecmp + standards: + - BSDExtensions + return_type: int + arguments: + - type: const char * + - type: const char * + - name: strncasecmp + standards: + - BSDExtensions + return_type: int + arguments: + - type: const char * + - type: const char * + - type: size_t diff --git a/libc/include/sys/auxv.yaml b/libc/include/sys/auxv.yaml new file mode 100644 index 000000000000..82ecee75c40a --- /dev/null +++ b/libc/include/sys/auxv.yaml @@ -0,0 +1,13 @@ +header: sys/auxv.h +header_template: auxv.h.def +macros: [] +types: [] +enums: [] +objects: [] +functions: + - name: getauxval + standards: + - GNUExtensions + return_type: unsigned long + arguments: + - type: unsigned long diff --git a/libc/include/sys/epoll.yaml b/libc/include/sys/epoll.yaml new file mode 100644 index 000000000000..996eb785bc71 --- /dev/null +++ b/libc/include/sys/epoll.yaml @@ -0,0 +1,61 @@ +header: sys/epoll.h +header_template: epoll.h.def +macros: [] +types: + - type_name: struct_epoll_event + - type_name: struct_epoll_data + - type_name: sigset_t + - type_name: struct_timespec +enums: [] +objects: [] +functions: + - name: epoll_create + standards: + - Linux + return_type: int + arguments: + - type: int + - name: epoll_create1 + standards: + - Linux + return_type: int + arguments: + - type: int + - name: epoll_ctl + standards: + - Linux + return_type: int + arguments: + - type: int + - type: int + - type: int + - type: struct epoll_event * + - name: epoll_pwait + standards: + - Linux + return_type: int + arguments: + - type: int + - type: struct epoll_event * + - type: int + - type: int + - type: const sigset_t * + - name: epoll_pwait2 + standards: + - Linux + return_type: int + arguments: + - type: int + - type: struct epoll_event * + - type: int + - type: const struct timespec * + - type: const sigset_t * + - name: epoll_wait + standards: + - Linux + return_type: int + arguments: + - type: int + - type: struct epoll_event * + - type: int + - type: int diff --git a/libc/include/sys/ioctl.yaml b/libc/include/sys/ioctl.yaml new file mode 100644 index 000000000000..5f7b7f333191 --- /dev/null +++ b/libc/include/sys/ioctl.yaml @@ -0,0 +1,8 @@ +header: sys/ioctl.h +header_template: ioctl.h.def +standards: POSIX +macros: [] +types: [] +enums: [] +objects: [] +functions: [] diff --git a/libc/include/sys/mman.yaml b/libc/include/sys/mman.yaml new file mode 100644 index 000000000000..8c207552f980 --- /dev/null +++ b/libc/include/sys/mman.yaml @@ -0,0 +1,135 @@ +header: sys/mman.h +header_template: mman.h.def +macros: [] +types: + - type_name: mode_t + - type_name: size_t + - type_name: off_t +enums: [] +objects: [] +functions: + - name: madvise + standards: + - POSIX + return_type: int + arguments: + - type: void * + - type: size_t + - type: int + - name: mincore + standards: + - Linux + return_type: int + arguments: + - type: void * + - type: size_t + - type: unsigned char * + - name: mlock + standards: + - POSIX + return_type: int + arguments: + - type: void * + - type: size_t + - name: mlock2 + standards: + - Linux + return_type: int + arguments: + - type: void * + - type: size_t + - type: unsigned int + - name: mlockall + standards: + - POSIX + return_type: int + arguments: + - type: int + - name: mmap + standards: + - POSIX + return_type: void * + arguments: + - type: void * + - type: size_t + - type: int + - type: int + - type: int + - type: off_t + - name: mremap + standards: + - POSIX + return_type: void * + arguments: + - type: void * + - type: size_t + - type: size_t + - type: int + - type: '...' + - name: mprotect + standards: + - POSIX + return_type: int + arguments: + - type: void * + - type: size_t + - type: int + - name: msync + standards: + - POSIX + return_type: int + arguments: + - type: void * + - type: size_t + - type: int + - name: munlock + standards: POSIX + return_type: int + arguments: + - type: void * + - type: size_t + - name: munlockall + standards: + - POSIX + return_type: int + arguments: + - type: void + - name: munmap + standards: + - POSIX + return_type: int + arguments: + - type: void * + - type: size_t + - name: posix_madvise + standards: + - POSIX + return_type: int + arguments: + - type: void * + - type: size_t + - type: int + - name: remap_file_pages + standards: + - Linux + return_type: int + arguments: + - type: void * + - type: size_t + - type: int + - type: size_t + - type: int + - name: shm_open + standards: + - POSIX + return_type: int + arguments: + - type: const char * + - type: int + - type: mode_t + - name: shm_unlink + standards: + - POSIX + return_type: int + arguments: + - type: const char * diff --git a/libc/include/sys/prctl.yaml b/libc/include/sys/prctl.yaml new file mode 100644 index 000000000000..53f57645b18e --- /dev/null +++ b/libc/include/sys/prctl.yaml @@ -0,0 +1,17 @@ +header: sys/prctl.h +header_template: prctl.h.def +macros: [] +types: [] +enums: [] +objects: [] +functions: + - name: prctl + standards: + - Linux + return_type: int + arguments: + - type: int + - type: unsigned long + - type: unsigned long + - type: unsigned long + - type: unsigned long diff --git a/libc/include/sys/random.yaml b/libc/include/sys/random.yaml new file mode 100644 index 000000000000..4efb2fbb4473 --- /dev/null +++ b/libc/include/sys/random.yaml @@ -0,0 +1,17 @@ +header: sys/random.h +header_template: random.h.def +macros: [] +types: + - type_name: ssize_t + - type_name: size_t +enums: [] +objects: [] +functions: + - name: getrandom + standards: + - Linux + return_type: ssize_t + arguments: + - type: void * + - type: size_t + - type: unsigned int diff --git a/libc/include/sys/resource.yaml b/libc/include/sys/resource.yaml new file mode 100644 index 000000000000..3652d6d490a4 --- /dev/null +++ b/libc/include/sys/resource.yaml @@ -0,0 +1,21 @@ +header: sys/resource.h +header_template: resource.h.def +macros: [] +types: + - type_name: struct_rlimit + - type_name: rlim_t +enums: [] +objects: [] +functions: + - name: getrlimit + standards: + - POSIX + return_type: int + arguments: + - type: struct rlimit * + - name: setrlimit + standards: + - POSIX + return_type: int + arguments: + - type: const struct rlimit diff --git a/libc/include/sys/select.yaml b/libc/include/sys/select.yaml new file mode 100644 index 000000000000..6066fd341f07 --- /dev/null +++ b/libc/include/sys/select.yaml @@ -0,0 +1,23 @@ +header: sys/select.h +header_template: select.h.def +macros: [] +types: + - type_name: struct_timeval + - type_name: struct_timespec + - type_name: suseconds_t + - type_name: sigset_t + - type_name: time_t + - type_name: fd_set +enums: [] +objects: [] +functions: + - name: select + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: fd_set *__restrict + - type: fd_set *__restrict + - type: fd_set *__restrict + - type: struct timeval *__restrict diff --git a/libc/include/sys/sendfile.yaml b/libc/include/sys/sendfile.yaml new file mode 100644 index 000000000000..259ab83dff54 --- /dev/null +++ b/libc/include/sys/sendfile.yaml @@ -0,0 +1,19 @@ +header: sys/sendfile.h +header_template: sendfile.h.def +macros: [] +types: + - type_name: ssize_t + - type_name: size_t + - type_name: off_t +enums: [] +objects: [] +functions: + - name: sendfile + standards: + - GNUExtensions + return_type: ssize_t + arguments: + - type: int + - type: int + - type: off_t * + - type: size_t diff --git a/libc/include/sys/socket.yaml b/libc/include/sys/socket.yaml new file mode 100644 index 000000000000..00d5de6af8a8 --- /dev/null +++ b/libc/include/sys/socket.yaml @@ -0,0 +1,119 @@ +header: sys/socket.h +header_template: socket.h.def +macros: [] +types: + - type_name: struct_sockaddr_un + - type_name: struct_sockaddr + - type_name: socklen_t + - type_name: sa_family_t + - type_name: struct_msghdr + - type_name: struct_iovec + - type_name: size_t + - type_name: ssize_t +enums: [] +objects: [] +functions: + - name: accept + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: sockaddr *__restrict + - type: socklen_t *__restrict + - name: bind + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: const struct sockaddr * + - type: socklen_t + - name: connect + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: const struct sockaddr * + - type: socklen_t + - name: listen + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: int + - name: recv + standards: + - POSIX + return_type: ssize_t + arguments: + - type: int + - type: void * + - type: size_t + - type: int + - name: recvfrom + standards: + - POSIX + return_type: ssize_t + arguments: + - type: int + - type: void * + - type: size_t + - type: int + - type: struct sockaddr *__restrict + - type: socklen_t *__restrict + - name: recvmsg + standards: + - POSIX + return_type: ssize_t + arguments: + - type: int + - type: struct msghdr * + - type: int + - name: send + standards: + - POSIX + return_type: ssize_t + arguments: + - type: int + - type: const void* + - type: size_t + - type: int + - name: sendmsg + standards: + - POSIX + return_type: ssize_t + arguments: + - type: int + - type: const struct msghdr * + - type: int + - name: sendto + standards: + - POSIX + return_type: ssize_t + arguments: + - type: int + - type: const void * + - type: size_t + - type: int + - type: const struct sockaddr * + - type: socklen_t + - name: socket + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: int + - type: int + - name: socketpair + standards: + - posix + return_type: int + arguments: + - type: int + - type: int + - type: int + - type: int* diff --git a/libc/include/sys/stat.yaml b/libc/include/sys/stat.yaml new file mode 100644 index 000000000000..7f013420818a --- /dev/null +++ b/libc/include/sys/stat.yaml @@ -0,0 +1,78 @@ +header: sys/stat.h +header_template: stat.h.def +macros: [] +types: + - type_name: blkcnt_t + - type_name: blksize_t + - type_name: off_t + - type_name: struct_timeval + - type_name: gid_t + - type_name: struct_stat + - type_name: uid_t + - type_name: nlink_t + - type_name: dev_t + - type_name: struct_timespec + - type_name: ino_t + - type_name: mode_t +enums: [] +objects: [] +functions: + - name: chmod + standards: + - POSIX + return_type: int + arguments: + - type: const char * + - type: mode_t + - name: fchmod + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: mode_t + - name: fchmodat + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: const char * + - type: mode_t + - type: int + - name: fstat + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: struct stat * + - name: lstat + standards: + - POSIX + return_type: int + arguments: + - type: const char *__restrict + - type: struct stat *__restrict + - name: mkdir + standards: + - POSIX + return_type: int + arguments: + - type: const char * + - type: mode_t + - name: mkdirat + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: const char * + - type: mode_t + - name: stat + standards: + - POSIX + return_type: int + arguments: + - type: const char *__restrict + - type: struct stat *__restrict diff --git a/libc/include/sys/statvfs.yaml b/libc/include/sys/statvfs.yaml new file mode 100644 index 000000000000..8c1d254add37 --- /dev/null +++ b/libc/include/sys/statvfs.yaml @@ -0,0 +1,24 @@ +header: sys/statvfs.h +header_template: statvfs.h.def +macros: [] +types: + - type_name: struct_statvfs + - type_name: fsblkcnt_t + - type_name: fsfilcnt_t +enums: [] +objects: [] +functions: + - name: fstatvfs + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: struct statvfs * + - name: statvfs + standards: + - POSIX + return_type: int + arguments: + - type: const char *__restrict + - type: struct statvfs *__restrict diff --git a/libc/include/sys/syscall.yaml b/libc/include/sys/syscall.yaml new file mode 100644 index 000000000000..879d95c2ea39 --- /dev/null +++ b/libc/include/sys/syscall.yaml @@ -0,0 +1,8 @@ +header: sys/syscall.h +header_template: syscall.h.def +standards: Linux +macros: [] +types: [] +enums: [] +functions: [] +objects: [] diff --git a/libc/include/sys/time.yaml b/libc/include/sys/time.yaml new file mode 100644 index 000000000000..687c1f83028d --- /dev/null +++ b/libc/include/sys/time.yaml @@ -0,0 +1,8 @@ +header: sys/time.h +header_template: time.h.def +standards: Linux +macros: [] +types: [] +enums: [] +functions: [] +objects: [] diff --git a/libc/include/sys/types.yaml b/libc/include/sys/types.yaml new file mode 100644 index 000000000000..6fa0b448fcd3 --- /dev/null +++ b/libc/include/sys/types.yaml @@ -0,0 +1,32 @@ +header: sys/types.h +header_template: types.h.def +standards: POSIX +macros: [] +types: + - type_name: uid_t + - type_name: time_t + - type_name: pthread_t + - type_name: pthread_rwlock_t + - type_name: pthread_rwlockattr_t + - type_name: pthread_mutex_t + - type_name: blkcnt_t + - type_name: blksize_t + - type_name: clockid_t + - type_name: ssize_t + - type_name: pthread_mutexattr_t + - type_name: ino_t + - type_name: pthread_once_t + - type_name: mode_t + - type_name: dev_t + - type_name: pthread_attr_t + - type_name: gid_t + - type_name: pid_t + - type_name: nlink_t + - type_name: suseconds_t + - type_name: off_t + - type_name: size_t + - type_name: pthread_key_t + - type_name: pthread_condattr_t +enums: [] +objects: [] +functions: [] diff --git a/libc/include/sys/utsname.yaml b/libc/include/sys/utsname.yaml new file mode 100644 index 000000000000..6c7cb71f9a34 --- /dev/null +++ b/libc/include/sys/utsname.yaml @@ -0,0 +1,14 @@ +header: sys/utsname.h +header_template: utsname.h.def +macros: [] +types: + - type_name: struct_utsname +enums: [] +objects: [] +functions: + - name: uname + standards: + - POSIX + return_type: int + arguments: + - type: struct utsname * diff --git a/libc/include/sys/wait.yaml b/libc/include/sys/wait.yaml new file mode 100644 index 000000000000..6257e34b9e08 --- /dev/null +++ b/libc/include/sys/wait.yaml @@ -0,0 +1,34 @@ +header: sys/wait.h +header_template: wait.h.def +macros: [] +types: + - type_name: siginfo_t + - type_name: struct_rusage + - type_name: pid_t +enums: [] +objects: [] +functions: + - name: wait + standards: + - POSIX + return_type: pid_t + arguments: + - type: int * + - name: wait4 + standards: + - BSDExtensions + - POSIX + return_type: pid_t + arguments: + - type: pid_t + - type: int * + - type: int + - type: struct rusage * + - name: waitpid + standards: + - POSIX + return_type: pid_t + arguments: + - type: pid_t + - type: int * + - type: int diff --git a/libc/include/termios.yaml b/libc/include/termios.yaml new file mode 100644 index 000000000000..8815097264f9 --- /dev/null +++ b/libc/include/termios.yaml @@ -0,0 +1,86 @@ +header: termios.h +header_template: termios.h.def +macros: [] +types: + - type_name: tcflag_t + - type_name: struct_termios + - type_name: speed_t + - type_name: pid_t + - type_name: cc_t +enums: [] +objects: [] +functions: + - name: cfgetispeed + standards: + - POSIX + return_type: speed_t + arguments: + - type: const struct termios * + - name: cfgetospeed + standards: + - POSIX + return_type: speed_t + arguments: + - type: const struct termios * + - name: cfsetispeed + standards: + - POSIX + return_type: speed_t + arguments: + - type: struct termios * + - type: speed_t + - name: cfsetospeed + standards: + - POSIX + return_type: speed_t + arguments: + - type: struct termios * + - type: speed_t + - name: tcdrain + standards: + - POSIX + return_type: int + arguments: + - type: int + - name: tcflow + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: int + - name: tcflush + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: int + - name: tcgetattr + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: struct termios * + - name: tcgetsid + standards: + - POSIX + return_type: pid_t + arguments: + - type: int + - name: tcsendbreak + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: int + - name: tcsetattr + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: int + - type: struct termios * diff --git a/libc/include/threads.yaml b/libc/include/threads.yaml new file mode 100644 index 000000000000..7014822f9251 --- /dev/null +++ b/libc/include/threads.yaml @@ -0,0 +1,162 @@ +header: threads.h +header_template: threads.h.def +macros: + - macro_name: ONCE_FLAG_INIT + macro_value: '{0}' +types: + - type_name: once_flag + - type_name: __call_once_func_t + - type_name: cnd_t + - type_name: mtx_t + - type_name: thrd_start_t + - type_name: thrd_t + - type_name: tss_t + - type_name: tss_dtor_t +enums: + - name: mtx_plain + value: null + - name: mtx_recursive + value: null + - name: mtx_timed + value: null + - name: thrd_timedout + value: null + - name: thrd_success + value: null + - name: thrd_busy + value: null + - name: thrd_error + value: null + - name: thrd_nomem + value: null +objects: [] +functions: + - name: call_once + standards: + - stdc + return_type: void + arguments: + - type: once_flag * + - type: __call_once_func_t + - name: cnd_broadcast + standards: + - stdc + return_type: int + arguments: + - type: cnd_t * + - name: cnd_destroy + standards: + - stdc + return_type: void + arguments: + - type: cnd_t * + - name: cnd_init + standards: + - stdc + return_type: int + arguments: + - type: cnd_t * + - name: cnd_signal + standards: + - stdc + return_type: int + arguments: + - type: cnd_t * + - name: cnd_wait + standards: + - stdc + return_type: int + arguments: + - type: cnd_t * + - type: mtx_t * + - name: mtx_destroy + standards: + - stdc + return_type: int + arguments: + - type: void + - name: mtx_init + standards: + - stdc + return_type: int + arguments: + - type: mtx_t * + - type: int + - name: mtx_lock + standards: + - stdc + return_type: int + arguments: + - type: mtx_t * + - name: mtx_unlock + standards: + - stdc + return_type: int + arguments: + - type: mtx_t * + - name: thrd_create + standards: + - stdc + return_type: int + arguments: + - type: thrd_t * + - type: thrd_start_t + - type: void * + - name: thrd_current + standards: + - stdc + return_type: thrd_t + arguments: + - type: void + - name: thrd_detach + standards: + - stdc + return_type: int + arguments: + - type: thrd_t + - name: thrd_equal + standards: + - stdc + return_type: int + arguments: + - type: thrd_t + - type: thrd_t + - name: thrd_exit + standards: + - stdc + return_type: void + arguments: + - type: int + - name: thrd_join + standards: + - stdc + return_type: int + arguments: + - type: thrd_t + - type: int * + - name: tss_create + standards: + - stdc + return_type: int + arguments: + - type: tss_t * + - type: tss_dtor_t + - name: tss_delete + standards: + - stdc + return_type: int + arguments: + - type: tss_t + - name: tss_get + standards: + - stdc + return_type: void * + arguments: + - type: tss_t + - name: tss_set + standards: + - stdc + return_type: int + arguments: + - type: tss_t + - type: void * diff --git a/libc/include/time.yaml b/libc/include/time.yaml new file mode 100644 index 000000000000..b71b9ab72075 --- /dev/null +++ b/libc/include/time.yaml @@ -0,0 +1,106 @@ +header: time.h +header_template: time.h.def +macros: [] +types: + - type_name: struct_timeval + - type_name: clockid_t + - type_name: struct_timespec + - type_name: struct_tm + - type_name: time_t + - type_name: clock_t + - type_name: size_t +enums: [] +objects: [] +functions: + - name: asctime + standard: + - stdc + return_type: char * + arguments: + - type: const struct tm * + - name: asctime_r + standard: + - stdc + return_type: char * + arguments: + - type: struct tm * + - type: char * + - name: ctime + standard: + - stdc + return_type: char * + arguments: + - type: const time_t * + - name: ctime_r + standard: + - stdc + return_type: char * + arguments: + - type: const time_t * + - type: char * + - name: clock + standard: + - stdc + return_type: clock_t + arguments: + - type: void + - name: clock_gettime + standard: + - POSIX + return_type: int + arguments: + - type: clockid_t + - type: struct timespec * + - name: difftime + standard: + - stdc + return_type: double + arguments: + - type: time_t + - type: time_t + - name: gettimeofday + standard: + - POSIX + return_type: int + arguments: + - type: struct timeval * + - type: void * + - name: gmtime + standard: + - stdc + return_type: struct tm * + arguments: + - type: time_t * + - name: gmtime_r + standard: + - stdc + return_type: struct tm * + arguments: + - type: time_t * + - type: struct tm * + - name: mktime + standard: + - stdc + return_type: time_t + arguments: + - type: struct tm * + - name: nanosleep + standard: + - POSIX + return_type: int + arguments: + - type: const struct timespec * + - type: struct timespec * + - name: time + standard: + - stdc + return_type: time_t + arguments: + - type: time_t * + - name: timespec_get + standard: + - stdc + return_type: int + arguments: + - type: struct timespec * + - type: int diff --git a/libc/include/uchar.yaml b/libc/include/uchar.yaml new file mode 100644 index 000000000000..713919796762 --- /dev/null +++ b/libc/include/uchar.yaml @@ -0,0 +1,14 @@ +header: uchar.h +header_template: uchar.h.def +standards: + - stdc +macros: [] +types: + - type_name: char32_t + - type_name: char16_t + - type_name: char8_t + - type_name: mbstate_t + - type_name: size_t +enums: [] +objects: [] +functions: [] diff --git a/libc/include/unistd.yaml b/libc/include/unistd.yaml new file mode 100644 index 000000000000..fada365e0103 --- /dev/null +++ b/libc/include/unistd.yaml @@ -0,0 +1,323 @@ +header: unistd.h +header_template: unistd.h.def +macros: [] +types: + - type_name: uid_t + - type_name: ssize_t + - type_name: size_t + - type_name: pid_t + - type_name: off_t + - type_name: __getoptargv_t + - type_name: __exec_envp_t + - type_name: __exec_argv_t +enums: [] +objects: + - object_name: environ + object_type: char ** + - object_name: optarg + object_type: char * + - object_name: optind + object_type: int + - object_name: opterr + object_type: int + - object_name: optopt + object_type: int +functions: + - name: __llvm_libc_syscall + standards: + - POSIX + return_type: long + arguments: + - type: long + - type: long + - type: long + - type: long + - type: long + - type: long + - type: long + - name: _exit + standards: + - POSIX + return_type: _Noreturn void + arguments: + - type: int + - name: access + standards: + - POSIX + return_type: int + arguments: + - type: const char * + - type: int + - name: chdir + standards: + - POSIX + return_type: int + arguments: + - type: const char * + - name: close + standards: + - POSIX + return_type: int + arguments: + - type: int + - name: dup + standards: + - POSIX + return_type: int + arguments: + - type: int + - name: dup2 + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: int + - name: dup3 + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: int + - type: int + - name: execv + standards: + - POSIX + return_type: int + arguments: + - type: const char * + - type: __exec_argv_t + - name: execve + standards: + - POSIX + return_type: int + arguments: + - type: const char * + - type: __exec_argv_t + - type: __exec_envp_t + - name: fchdir + standards: + - POSIX + return_type: int + arguments: + - type: int + - name: fork + standards: + - POSIX + return_type: pid_t + arguments: + - type: void + - name: fsync + standards: + - POSIX + return_type: int + arguments: + - type: int + - name: ftruncate + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: off_t + - name: getcwd + standards: + - POSIX + return_type: char * + arguments: + - type: char * + - type: size_t + - name: geteuid + standards: + - POSIX + return_type: uid_t + arguments: + - type: void + - name: getopt + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: __getoptargv_t + - type: const char * + - name: getpid + standards: + - POSIX + return_type: int + arguments: + - type: void + - name: getppid + standards: + - POSIX + return_type: int + arguments: + - type: void + - name: gettid + standards: + - Linux + return_type: pid_t + arguments: + - type: void + - name: getuid + standards: + - POSIX + return_type: uid_t + arguments: + - type: void + - name: isatty + standards: + - POSIX + return_type: int + arguments: + - type: int + guard: null + attributes: [] + - name: link + standards: + - POSIX + return_type: int + arguments: + - type: const char * + - type: const char * + - name: linkat + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: const char * + - type: int + - type: const char * + - type: int + - name: lseek + standards: + - POSIX + return_type: off_t + arguments: + - type: int + - type: off_t + - type: int + - name: pipe + standards: + - POSIX + return_type: int + arguments: + - type: int * + - name: pipe2 + standards: + - Linux + return_type: int + arguments: + - type: int * + - type: int + - name: pread + standards: + - POSIX + return_type: ssize_t + arguments: + - type: int + - type: void * + - type: size_t + - type: off_t + - name: pwrite + standards: + - POSIX + return_type: ssize_t + arguments: + - type: int + - type: const void * + - type: size_t + - type: off_t + - name: read + standards: + - POSIX + return_type: ssize_t + arguments: + - type: int + - type: void * + - type: size_t + - name: readlink + standards: + - POSIX + return_type: ssize_t + arguments: + - type: const char *__restrict + - type: char *__restrict + - type: size_t + - name: readlinkat + standards: + - POSIX + return_type: ssize_t + arguments: + - type: const char *__restrict + - type: char *__restrict + - type: size_t + - name: rmdir + standards: + - POSIX + return_type: int + arguments: + - type: const char * + - name: swab + standards: + - POSIX + return_type: void + arguments: + - type: const void *__restrict + - type: void * + - type: ssize_t + - name: symlink + standards: + - POSIX + return_type: int + arguments: + - type: const char * + - type: const char * + - name: symlinkat + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: const char * + - type: int + - type: const char * + - name: sysconf + standards: + - POSIX + return_type: int + arguments: + - type: int + - name: truncate + standards: + - POSIX + return_type: int + arguments: + - type: const char * + - type: off_t + - name: unlink + standards: + - POSIX + return_type: int + arguments: + - type: const char * + - name: unlinkat + standards: + - POSIX + return_type: int + arguments: + - type: int + - type: const char * + - type: int + - name: write + standards: + - POSIX + return_type: ssize_t + arguments: + - type: int + - type: const void * + - type: size_t + guard: null + attributes: [] diff --git a/libc/include/wchar.yaml b/libc/include/wchar.yaml new file mode 100644 index 000000000000..27a5926b5745 --- /dev/null +++ b/libc/include/wchar.yaml @@ -0,0 +1,17 @@ +header: wchar.h +header_template: wchar.h.def +macros: [] +types: + - type_name: size_t + - type_name: wint_t + - type_name: wchar_t + - type_name: mbstate_t +enums: [] +objects: [] +functions: + - name: wctob + standards: + - stdc + return_type: int + arguments: + - type: wint_t |
