stdlib.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #pragma once
  2. #include <stddef.h>
  3. #include <sys/cdefs.h>
  4. #include <sys/types.h>
  5. __BEGIN_DECLS
  6. #define EXIT_SUCCESS 0
  7. #define EXIT_FAILURE 1
  8. #define MB_CUR_MAX 1
  9. __attribute__((malloc)) __attribute__((alloc_size(1))) void* malloc(size_t);
  10. __attribute__((malloc)) __attribute__((alloc_size(1, 2))) void* calloc(size_t nmemb, size_t);
  11. size_t malloc_size(void*);
  12. void free(void*);
  13. void* realloc(void* ptr, size_t);
  14. char* getenv(const char* name);
  15. int putenv(char*);
  16. int unsetenv(const char*);
  17. int setenv(const char* name, const char* value, int overwrite);
  18. int atoi(const char*);
  19. long atol(const char*);
  20. long long atoll(const char*);
  21. double strtod(const char*, char** endptr);
  22. long double strtold(const char*, char** endptr);
  23. float strtof(const char*, char** endptr);
  24. long strtol(const char*, char** endptr, int base);
  25. long long strtoll(const char*, char** endptr, int base);
  26. unsigned long long strtoull(const char*, char** endptr, int base);
  27. unsigned long strtoul(const char*, char** endptr, int base);
  28. void qsort(void* base, size_t nmemb, size_t size, int (*compar)(const void*, const void*));
  29. void qsort_r(void* base, size_t nmemb, size_t size, int (*compar)(const void*, const void*, void*), void* arg);
  30. int atexit(void (*function)());
  31. __attribute__((noreturn)) void exit(int status);
  32. __attribute__((noreturn)) void abort();
  33. char* ptsname(int fd);
  34. int ptsname_r(int fd, char* buffer, size_t);
  35. int abs(int);
  36. long labs(long);
  37. double atof(const char*);
  38. int system(const char* command);
  39. char* mktemp(char*);
  40. int mkstemp(char*);
  41. char* mkdtemp(char*);
  42. void* bsearch(const void* key, const void* base, size_t nmemb, size_t size, int (*compar)(const void*, const void*));
  43. size_t mbstowcs(wchar_t*, const char*, size_t);
  44. size_t mbtowc(wchar_t*, const char*, size_t);
  45. int wctomb(char*, wchar_t);
  46. size_t wcstombs(char*, const wchar_t*, size_t);
  47. char* realpath(const char* pathname, char* buffer);
  48. #define RAND_MAX 32767
  49. int rand();
  50. void srand(unsigned seed);
  51. long int random();
  52. void srandom(unsigned seed);
  53. uint32_t arc4random(void);
  54. void arc4random_buf(void*, size_t);
  55. uint32_t arc4random_uniform(uint32_t);
  56. typedef struct {
  57. int quot;
  58. int rem;
  59. } div_t;
  60. div_t div(int, int);
  61. typedef struct {
  62. long quot;
  63. long rem;
  64. } ldiv_t;
  65. ldiv_t ldiv(long, long);
  66. __END_DECLS