llvm-project/libc/include/threads.yaml
Roland McGrath 6ad0dcf67f
[libc] Revamp hdrgen command line and build integration (#121522)
This adds a new main command-line entry point for hdrgen, in the
new main.py.  This new interface is used for generating a header.
The old ways of invoking yaml_to_classes.py for other purposes
are left there for now, but `--e` is renamed to `--entry-point`
for consistency with the new CLI.

The YAML schema is expanded with the `header_template` key where
the corresponding `.h.def` file's path is given relative to where
the YAML file is found.  The build integration no longer gives
the `.h.def` path on the command line.  Instead, the script now
emits a depfile that's used by the cmake rules to track that.
The output file is always explicit in the script command line
rather than sometimes being derived from a directory path.
2025-01-07 15:56:12 -08:00

163 lines
2.9 KiB
YAML

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 *