Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/posix/stdlib.h

    r4f4b4e7 r3acff69  
    4949#define EXIT_SUCCESS 0
    5050#define _Exit exit
     51extern int posix_atexit(void (*func)(void));
    5152
    52 /* Array Sort Function */
     53/* Absolute Value */
     54extern int posix_abs(int i);
     55extern long posix_labs(long i);
     56extern long long posix_llabs(long long i);
     57
     58/* Integer division */
     59
     60typedef struct {
     61        int quot, rem;
     62} posix_div_t;
     63
     64typedef struct {
     65        long quot, rem;
     66} posix_ldiv_t;
     67
     68typedef struct {
     69        long long quot, rem;
     70} posix_lldiv_t;
     71
     72extern posix_div_t posix_div(int numer, int denom);
     73extern posix_ldiv_t posix_ldiv(long numer, long denom);
     74extern posix_lldiv_t posix_lldiv(long long numer, long long denom);
     75
     76/* Array Functions */
    5377extern void posix_qsort(void *array, size_t count, size_t size,
    5478    int (*compare)(const void *, const void *));
     79extern void *posix_bsearch(const void *key, const void *base,
     80    size_t nmemb, size_t size, int (*compar)(const void *, const void *));
     81
    5582
    5683/* Environment Access */
    5784extern char *posix_getenv(const char *name);
     85extern int posix_putenv(char *string);
     86
     87extern int posix_system(const char *string);
     88
    5889
    5990/* Symbolic Links */
     
    6192
    6293/* Floating Point Conversion */
     94extern double posix_atof(const char *nptr);
    6395extern float posix_strtof(const char *restrict nptr, char **restrict endptr);
    6496extern double posix_strtod(const char *restrict nptr, char **restrict endptr);
     
    6698
    6799/* Integer Conversion */
    68 extern int posix_atoi(const char *str);
     100extern int posix_atoi(const char *nptr);
     101extern long int posix_atol(const char *nptr);
     102extern long long int posix_atoll(const char *nptr);
     103
     104extern long int posix_strtol(const char *restrict nptr,
     105    char **restrict endptr, int base);
     106extern long long int posix_strtoll(const char *restrict nptr,
     107    char **restrict endptr, int base);
     108extern unsigned long int posix_strtoul(const char *restrict nptr,
     109    char **restrict endptr, int base);
     110extern unsigned long long int posix_strtoull(
     111    const char *restrict nptr, char **restrict endptr, int base);
     112
     113
     114/* Memory Allocation */
     115extern void *posix_malloc(size_t size);
     116extern void *posix_calloc(size_t nelem, size_t elsize);
     117extern void *posix_realloc(void *ptr, size_t size);
     118extern void posix_free(void *ptr);
     119
     120/* Legacy Declarations */
     121extern char *posix_mktemp(char *tmpl);
     122extern int bsd_getloadavg(double loadavg[], int nelem);
    69123
    70124#ifndef LIBPOSIX_INTERNAL
     125        #define atexit posix_atexit
     126
     127        #define abs posix_abs
     128        #define labs posix_labs
     129        #define llabs posix_llabs
     130
     131        #define div_t posix_div_t
     132        #define ldiv_t posix_ldiv_t
     133        #define lldiv_t posix_lldiv_t
     134        #define div posix_div
     135        #define ldiv posix_ldiv
     136        #define lldiv posix_lldiv
     137
    71138        #define qsort posix_qsort
     139        #define bsearch posix_bsearch
     140
    72141        #define getenv posix_getenv
     142        #define putenv posix_putenv
     143        #define system posix_system
     144
    73145        #define realpath posix_realpath
    74146       
     147        #define atof posix_atof
    75148        #define strtof posix_strtof
    76149        #define strtod posix_strtod
     
    78151       
    79152        #define atoi posix_atoi
     153        #define atol posix_atol
     154        #define atoll posix_atoll
     155        #define strtol posix_strtol
     156        #define strtoll posix_strtoll
     157        #define strtoul posix_strtoul
     158        #define strtoull posix_strtoull
     159
     160        #define malloc posix_malloc
     161        #define calloc posix_calloc
     162        #define realloc posix_realloc
     163        #define free posix_free
     164
     165        #define mktemp posix_mktemp
     166        #define getloadavg bsd_getloadavg
    80167#endif
    81168
Note: See TracChangeset for help on using the changeset viewer.