Changeset fdf97f6 in mainline for uspace/lib/posix/include/posix/stdlib.h
- Timestamp:
- 2013-02-25T19:11:50Z (11 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 1935591
- Parents:
- c84f1a4
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/posix/include/posix/stdlib.h
rc84f1a4 rfdf97f6 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 … … 49 53 #define EXIT_SUCCESS 0 50 54 #define _Exit exit 51 extern int posix_atexit(void (*func)(void));55 extern int __POSIX_DEF__(atexit)(void (*func)(void)); 52 56 extern void exit(int status); 53 57 extern void abort(void) __attribute__((noreturn)); 54 58 55 59 /* 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);60 extern int __POSIX_DEF__(abs)(int i); 61 extern long __POSIX_DEF__(labs)(long i); 62 extern long long __POSIX_DEF__(llabs)(long long i); 59 63 60 64 /* Integer Division */ … … 62 66 typedef struct { 63 67 int quot, rem; 64 } posix_div_t;68 } __POSIX_DEF__(div_t); 65 69 66 70 typedef struct { 67 71 long quot, rem; 68 } posix_ldiv_t;72 } __POSIX_DEF__(ldiv_t); 69 73 70 74 typedef struct { 71 75 long long quot, rem; 72 } posix_lldiv_t;76 } __POSIX_DEF__(lldiv_t); 73 77 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);78 extern __POSIX_DEF__(div_t) __POSIX_DEF__(div)(int numer, int denom); 79 extern __POSIX_DEF__(ldiv_t) __POSIX_DEF__(ldiv)(long numer, long denom); 80 extern __POSIX_DEF__(lldiv_t) __POSIX_DEF__(lldiv)(long long numer, long long denom); 77 81 78 82 /* Array Functions */ 79 extern void posix_qsort(void *array, size_t count, size_t size,83 extern void __POSIX_DEF__(qsort)(void *array, size_t count, size_t size, 80 84 int (*compare)(const void *, const void *)); 81 extern void * posix_bsearch(const void *key, const void *base,85 extern void *__POSIX_DEF__(bsearch)(const void *key, const void *base, 82 86 size_t nmemb, size_t size, int (*compar)(const void *, const void *)); 83 87 84 88 /* 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);89 extern char *__POSIX_DEF__(getenv)(const char *name); 90 extern int __POSIX_DEF__(putenv)(char *string); 91 extern int __POSIX_DEF__(system)(const char *string); 88 92 89 93 /* Symbolic Links */ 90 extern char * posix_realpath(const char *restrict name, char *restrict resolved);94 extern char *__POSIX_DEF__(realpath)(const char *restrict name, char *restrict resolved); 91 95 92 96 /* 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);97 extern double __POSIX_DEF__(atof)(const char *nptr); 98 extern float __POSIX_DEF__(strtof)(const char *restrict nptr, char **restrict endptr); 99 extern double __POSIX_DEF__(strtod)(const char *restrict nptr, char **restrict endptr); 100 extern long double __POSIX_DEF__(strtold)(const char *restrict nptr, char **restrict endptr); 97 101 98 102 /* 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,103 extern int __POSIX_DEF__(atoi)(const char *nptr); 104 extern long int __POSIX_DEF__(atol)(const char *nptr); 105 extern long long int __POSIX_DEF__(atoll)(const char *nptr); 106 extern long int __POSIX_DEF__(strtol)(const char *restrict nptr, 103 107 char **restrict endptr, int base); 104 extern long long int posix_strtoll(const char *restrict nptr,108 extern long long int __POSIX_DEF__(strtoll)(const char *restrict nptr, 105 109 char **restrict endptr, int base); 106 extern unsigned long int posix_strtoul(const char *restrict nptr,110 extern unsigned long int __POSIX_DEF__(strtoul)(const char *restrict nptr, 107 111 char **restrict endptr, int base); 108 extern unsigned long long int posix_strtoull(112 extern unsigned long long int __POSIX_DEF__(strtoull)( 109 113 const char *restrict nptr, char **restrict endptr, int base); 110 114 111 115 /* 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);116 extern void *__POSIX_DEF__(malloc)(size_t size); 117 extern void *__POSIX_DEF__(calloc)(size_t nelem, size_t elsize); 118 extern void *__POSIX_DEF__(realloc)(void *ptr, size_t size); 119 extern void __POSIX_DEF__(free)(void *ptr); 116 120 117 121 /* Temporary Files */ 118 extern int posix_mkstemp(char *tmpl);122 extern int __POSIX_DEF__(mkstemp)(char *tmpl); 119 123 120 124 /* Legacy Declarations */ 121 extern char * posix_mktemp(char *tmpl);125 extern char *__POSIX_DEF__(mktemp)(char *tmpl); 122 126 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 127 171 128 #endif // POSIX_STDLIB_H_
Note:
See TracChangeset
for help on using the changeset viewer.