2023-07-29 18:44:15 -07:00
|
|
|
#ifndef COSMOPOLITAN_LIBC_COSMO_H_
|
|
|
|
#define COSMOPOLITAN_LIBC_COSMO_H_
|
2024-11-22 11:08:29 -08:00
|
|
|
#include "libc/calls/struct/timespec.h"
|
2023-07-29 18:44:15 -07:00
|
|
|
COSMOPOLITAN_C_START_
|
|
|
|
|
2024-07-24 12:11:21 -07:00
|
|
|
#ifndef __cplusplus
|
|
|
|
#define _COSMO_ATOMIC(x) _Atomic(x)
|
|
|
|
#else
|
|
|
|
#define _COSMO_ATOMIC(x) x
|
|
|
|
#endif
|
|
|
|
|
2025-01-02 08:07:15 -08:00
|
|
|
errno_t cosmo_once(_COSMO_ATOMIC(unsigned) *, void (*)(void));
|
2024-01-09 01:26:03 -08:00
|
|
|
int systemvpe(const char *, char *const[], char *const[]) libcesque;
|
2024-06-01 03:19:53 -07:00
|
|
|
char *GetProgramExecutableName(void) libcesque;
|
|
|
|
void unleaf(void) libcesque;
|
2024-12-18 04:59:02 -08:00
|
|
|
bool32 IsLinuxModern(void) libcesque;
|
|
|
|
|
2024-06-01 03:19:53 -07:00
|
|
|
int __demangle(char *, const char *, size_t) libcesque;
|
|
|
|
int __is_mangled(const char *) libcesque;
|
2024-12-18 04:59:02 -08:00
|
|
|
|
2024-11-13 00:57:10 -08:00
|
|
|
int cosmo_args(const char *, char ***) libcesque;
|
2024-12-18 04:59:02 -08:00
|
|
|
int LoadZipArgs(int *, char ***) libcesque;
|
|
|
|
|
2024-11-22 11:08:29 -08:00
|
|
|
int cosmo_futex_wake(_COSMO_ATOMIC(int) *, int, char);
|
|
|
|
int cosmo_futex_wait(_COSMO_ATOMIC(int) *, int, char, int,
|
|
|
|
const struct timespec *);
|
2023-07-29 18:44:15 -07:00
|
|
|
|
2024-12-25 19:43:43 -08:00
|
|
|
errno_t cosmo_stack_alloc(size_t *, size_t *, void **) libcesque;
|
|
|
|
errno_t cosmo_stack_free(void *, size_t, size_t) libcesque;
|
2024-12-18 04:59:02 -08:00
|
|
|
void cosmo_stack_clear(void) libcesque;
|
|
|
|
void cosmo_stack_setmaxstacks(int) libcesque;
|
|
|
|
int cosmo_stack_getmaxstacks(void) libcesque;
|
|
|
|
|
2024-12-16 20:51:27 -08:00
|
|
|
int __deadlock_check(void *, int) libcesque;
|
|
|
|
int __deadlock_tracked(void *) libcesque;
|
|
|
|
void __deadlock_record(void *, int) libcesque;
|
|
|
|
void __deadlock_track(void *, int) libcesque;
|
|
|
|
void __deadlock_untrack(void *) libcesque;
|
|
|
|
|
2023-07-29 18:44:15 -07:00
|
|
|
COSMOPOLITAN_C_END_
|
|
|
|
#endif /* COSMOPOLITAN_LIBC_COSMO_H_ */
|