github.com/afumu/libc@v0.0.6/musl/src/internal/libc.h (about)

     1  #ifndef LIBC_H
     2  #define LIBC_H
     3  
     4  #include <stdlib.h>
     5  #include <stdio.h>
     6  #include <limits.h>
     7  
     8  struct __locale_map;
     9  
    10  struct __locale_struct {
    11  	const struct __locale_map *cat[6];
    12  };
    13  
    14  struct tls_module {
    15  	struct tls_module *next;
    16  	void *image;
    17  	size_t len, size, align, offset;
    18  };
    19  
    20  struct __libc {
    21  	char can_do_threads;
    22  	char threaded;
    23  	char secure;
    24  	volatile signed char need_locks;
    25  	int threads_minus_1;
    26  	size_t *auxv;
    27  	struct tls_module *tls_head;
    28  	size_t tls_size, tls_align, tls_cnt;
    29  	size_t page_size;
    30  	struct __locale_struct global_locale;
    31  };
    32  
    33  #ifndef PAGE_SIZE
    34  #define PAGE_SIZE libc.page_size
    35  #endif
    36  
    37  extern hidden struct __libc __libc;
    38  #define libc __libc
    39  
    40  hidden void __init_libc(char **, char *);
    41  hidden void __init_tls(size_t *);
    42  hidden void __init_ssp(void *);
    43  hidden void __libc_start_init(void);
    44  hidden void __funcs_on_exit(void);
    45  hidden void __funcs_on_quick_exit(void);
    46  hidden void __libc_exit_fini(void);
    47  hidden void __fork_handler(int);
    48  
    49  extern hidden size_t __hwcap;
    50  extern hidden size_t __sysinfo;
    51  extern char *__progname, *__progname_full;
    52  
    53  extern hidden const char __libc_version[];
    54  
    55  hidden void __synccall(void (*)(void *), void *);
    56  hidden int __setxid(int, int, int, int);
    57  
    58  #endif