stdlib.h 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. /*
  2. * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <stddef.h>
  8. #include <sys/cdefs.h>
  9. #include <sys/types.h>
  10. __attribute__((warn_unused_result)) int __generate_unique_filename(char* pattern);
  11. __BEGIN_DECLS
  12. #define EXIT_SUCCESS 0
  13. #define EXIT_FAILURE 1
  14. #define MB_CUR_MAX 1
  15. __attribute__((malloc)) __attribute__((alloc_size(1))) void* malloc(size_t);
  16. __attribute__((malloc)) __attribute__((alloc_size(1, 2))) void* calloc(size_t nmemb, size_t);
  17. size_t malloc_size(void*);
  18. void serenity_dump_malloc_stats(void);
  19. void free(void*);
  20. __attribute__((alloc_size(2))) void* realloc(void* ptr, size_t);
  21. char* getenv(const char* name);
  22. char* secure_getenv(const char* name);
  23. int putenv(char*);
  24. int unsetenv(const char*);
  25. int clearenv(void);
  26. int setenv(const char* name, const char* value, int overwrite);
  27. int atoi(const char*);
  28. long atol(const char*);
  29. long long atoll(const char*);
  30. double strtod(const char*, char** endptr);
  31. long double strtold(const char*, char** endptr);
  32. float strtof(const char*, char** endptr);
  33. long strtol(const char*, char** endptr, int base);
  34. long long strtoll(const char*, char** endptr, int base);
  35. unsigned long long strtoull(const char*, char** endptr, int base);
  36. unsigned long strtoul(const char*, char** endptr, int base);
  37. void qsort(void* base, size_t nmemb, size_t size, int (*compar)(const void*, const void*));
  38. void qsort_r(void* base, size_t nmemb, size_t size, int (*compar)(const void*, const void*, void*), void* arg);
  39. int atexit(void (*function)());
  40. __attribute__((noreturn)) void exit(int status);
  41. __attribute__((noreturn)) void abort();
  42. char* ptsname(int fd);
  43. int ptsname_r(int fd, char* buffer, size_t);
  44. int abs(int);
  45. long labs(long);
  46. long long int llabs(long long int);
  47. double atof(const char*);
  48. int system(const char* command);
  49. char* mktemp(char*);
  50. int mkstemp(char*);
  51. char* mkdtemp(char*);
  52. void* bsearch(const void* key, const void* base, size_t nmemb, size_t size, int (*compar)(const void*, const void*));
  53. size_t mbstowcs(wchar_t*, const char*, size_t);
  54. int mbtowc(wchar_t*, const char*, size_t);
  55. int wctomb(char*, wchar_t);
  56. size_t wcstombs(char*, const wchar_t*, size_t);
  57. char* realpath(const char* pathname, char* buffer);
  58. #define RAND_MAX 32767
  59. int rand();
  60. void srand(unsigned seed);
  61. long int random();
  62. void srandom(unsigned seed);
  63. uint32_t arc4random(void);
  64. void arc4random_buf(void*, size_t);
  65. uint32_t arc4random_uniform(uint32_t);
  66. typedef struct {
  67. int quot;
  68. int rem;
  69. } div_t;
  70. div_t div(int, int);
  71. typedef struct {
  72. long quot;
  73. long rem;
  74. } ldiv_t;
  75. ldiv_t ldiv(long, long);
  76. typedef struct {
  77. long long quot;
  78. long long rem;
  79. } lldiv_t;
  80. lldiv_t lldiv(long long, long long);
  81. int posix_openpt(int flags);
  82. int grantpt(int fd);
  83. int unlockpt(int fd);
  84. long getauxval(long type);
  85. __END_DECLS