Changes in uspace/lib/posix/include/posix/stdlib.h [baeeee2:cb2739a] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/posix/include/posix/stdlib.h
rbaeeee2 rcb2739a 37 37 #define POSIX_STDLIB_H_ 38 38 39 #ifndef __POSIX_DEF__ 40 #define __POSIX_DEF__(x) x 41 #endif 42 39 43 #include "sys/types.h" 40 44 … … 42 46 #define NULL ((void *) 0) 43 47 #endif 48 49 #define RAND_MAX 714025 44 50 45 51 /* Process Termination */ … … 49 55 #define EXIT_SUCCESS 0 50 56 #define _Exit exit 51 extern int posix_atexit(void (*func)(void));52 extern void exit(int status) ;57 extern int __POSIX_DEF__(atexit)(void (*func)(void)); 58 extern void exit(int status) __attribute__((noreturn)); 53 59 extern void abort(void) __attribute__((noreturn)); 54 60 55 61 /* Absolute Value */ 56 extern int posix_abs(int i);57 extern long posix_labs(long i);58 extern long long posix_llabs(long long i);62 extern int __POSIX_DEF__(abs)(int i); 63 extern long __POSIX_DEF__(labs)(long i); 64 extern long long __POSIX_DEF__(llabs)(long long i); 59 65 60 66 /* Integer Division */ … … 62 68 typedef struct { 63 69 int quot, rem; 64 } posix_div_t;70 } __POSIX_DEF__(div_t); 65 71 66 72 typedef struct { 67 73 long quot, rem; 68 } posix_ldiv_t;74 } __POSIX_DEF__(ldiv_t); 69 75 70 76 typedef struct { 71 77 long long quot, rem; 72 } posix_lldiv_t;78 } __POSIX_DEF__(lldiv_t); 73 79 74 extern posix_div_t posix_div(int numer, int denom);75 extern posix_ldiv_t posix_ldiv(long numer, long denom);76 extern posix_lldiv_t posix_lldiv(long long numer, long long denom);80 extern __POSIX_DEF__(div_t) __POSIX_DEF__(div)(int numer, int denom); 81 extern __POSIX_DEF__(ldiv_t) __POSIX_DEF__(ldiv)(long numer, long denom); 82 extern __POSIX_DEF__(lldiv_t) __POSIX_DEF__(lldiv)(long long numer, long long denom); 77 83 78 84 /* Array Functions */ 79 extern void posix_qsort(void *array, size_t count, size_t size,85 extern void __POSIX_DEF__(qsort)(void *array, size_t count, size_t size, 80 86 int (*compare)(const void *, const void *)); 81 extern void * posix_bsearch(const void *key, const void *base,87 extern void *__POSIX_DEF__(bsearch)(const void *key, const void *base, 82 88 size_t nmemb, size_t size, int (*compar)(const void *, const void *)); 83 89 84 90 /* Environment Access */ 85 extern char * posix_getenv(const char *name);86 extern int posix_putenv(char *string);87 extern int posix_system(const char *string);91 extern char *__POSIX_DEF__(getenv)(const char *name); 92 extern int __POSIX_DEF__(putenv)(char *string); 93 extern int __POSIX_DEF__(system)(const char *string); 88 94 89 95 /* Symbolic Links */ 90 extern char * posix_realpath(const char *restrict name, char *restrict resolved);96 extern char *__POSIX_DEF__(realpath)(const char *restrict name, char *restrict resolved); 91 97 92 98 /* Floating Point Conversion */ 93 extern double posix_atof(const char *nptr);94 extern float posix_strtof(const char *restrict nptr, char **restrict endptr);95 extern double posix_strtod(const char *restrict nptr, char **restrict endptr);96 extern long double posix_strtold(const char *restrict nptr, char **restrict endptr);99 extern double __POSIX_DEF__(atof)(const char *nptr); 100 extern float __POSIX_DEF__(strtof)(const char *restrict nptr, char **restrict endptr); 101 extern double __POSIX_DEF__(strtod)(const char *restrict nptr, char **restrict endptr); 102 extern long double __POSIX_DEF__(strtold)(const char *restrict nptr, char **restrict endptr); 97 103 98 104 /* Integer Conversion */ 99 extern int posix_atoi(const char *nptr);100 extern long int posix_atol(const char *nptr);101 extern long long int posix_atoll(const char *nptr);102 extern long int posix_strtol(const char *restrict nptr,105 extern int __POSIX_DEF__(atoi)(const char *nptr); 106 extern long int __POSIX_DEF__(atol)(const char *nptr); 107 extern long long int __POSIX_DEF__(atoll)(const char *nptr); 108 extern long int __POSIX_DEF__(strtol)(const char *restrict nptr, 103 109 char **restrict endptr, int base); 104 extern long long int posix_strtoll(const char *restrict nptr,110 extern long long int __POSIX_DEF__(strtoll)(const char *restrict nptr, 105 111 char **restrict endptr, int base); 106 extern unsigned long int posix_strtoul(const char *restrict nptr,112 extern unsigned long int __POSIX_DEF__(strtoul)(const char *restrict nptr, 107 113 char **restrict endptr, int base); 108 extern unsigned long long int posix_strtoull(114 extern unsigned long long int __POSIX_DEF__(strtoull)( 109 115 const char *restrict nptr, char **restrict endptr, int base); 110 116 111 117 /* Memory Allocation */ 112 extern void * posix_malloc(size_t size);113 extern void * posix_calloc(size_t nelem, size_t elsize);114 extern void * posix_realloc(void *ptr, size_t size);115 extern void posix_free(void *ptr);118 extern void *__POSIX_DEF__(malloc)(size_t size); 119 extern void *__POSIX_DEF__(calloc)(size_t nelem, size_t elsize); 120 extern void *__POSIX_DEF__(realloc)(void *ptr, size_t size); 121 extern void __POSIX_DEF__(free)(void *ptr); 116 122 117 123 /* Temporary Files */ 118 extern int posix_mkstemp(char *tmpl); 124 extern int __POSIX_DEF__(mkstemp)(char *tmpl); 125 126 /* Pseudo-random number generator */ 127 extern int __POSIX_DEF__(rand)(void); 128 extern void __POSIX_DEF__(srand)(unsigned int seed); 119 129 120 130 /* Legacy Declarations */ 121 extern char * posix_mktemp(char *tmpl);131 extern char *__POSIX_DEF__(mktemp)(char *tmpl); 122 132 extern int bsd_getloadavg(double loadavg[], int nelem); 123 124 #ifndef LIBPOSIX_INTERNAL125 #define atexit posix_atexit126 127 #define abs posix_abs128 #define labs posix_labs129 #define llabs posix_llabs130 131 #define div_t posix_div_t132 #define ldiv_t posix_ldiv_t133 #define lldiv_t posix_lldiv_t134 #define div posix_div135 #define ldiv posix_ldiv136 #define lldiv posix_lldiv137 138 #define qsort posix_qsort139 #define bsearch posix_bsearch140 141 #define getenv posix_getenv142 #define putenv posix_putenv143 #define system posix_system144 145 #define realpath posix_realpath146 147 #define atof posix_atof148 #define strtof posix_strtof149 #define strtod posix_strtod150 #define strtold posix_strtold151 152 #define atoi posix_atoi153 #define atol posix_atol154 #define atoll posix_atoll155 #define strtol posix_strtol156 #define strtoll posix_strtoll157 #define strtoul posix_strtoul158 #define strtoull posix_strtoull159 160 #define malloc posix_malloc161 #define calloc posix_calloc162 #define realloc posix_realloc163 #define free posix_free164 165 #define mkstemp posix_mkstemp166 167 #define mktemp posix_mktemp168 #define getloadavg bsd_getloadavg169 #endif170 133 171 134 #endif // POSIX_STDLIB_H_
Note:
See TracChangeset
for help on using the changeset viewer.