Ignore:
File:
1 edited

Legend:

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

    r823a929 rcc3652db  
    5353/* Absolute Value */
    5454extern int posix_abs(int i);
     55extern long posix_labs(long i);
     56extern long long posix_llabs(long long i);
    5557
    56 /* Array Sort Function */
     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 */
    5777extern void posix_qsort(void *array, size_t count, size_t size,
    5878    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
    5982
    6083/* Environment Access */
     
    6285extern int posix_putenv(char *string);
    6386
     87extern int posix_system(const char *string);
     88
     89
    6490/* Symbolic Links */
    6591extern char *posix_realpath(const char *restrict name, char *restrict resolved);
    6692
    6793/* Floating Point Conversion */
     94extern double posix_atof(const char *nptr);
    6895extern float posix_strtof(const char *restrict nptr, char **restrict endptr);
    6996extern double posix_strtod(const char *restrict nptr, char **restrict endptr);
     
    7198
    7299/* Integer Conversion */
    73 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
    74113
    75114/* Memory Allocation */
     
    86125
    87126        #define abs posix_abs
     127        #define labs posix_labs
     128        #define llabs posix_llabs
     129
     130        #define div_t posix_div_t
     131        #define ldiv_t posix_ldiv_t
     132        #define lldiv_t posix_lldiv_t
     133        #define div posix_div
     134        #define ldiv posix_ldiv
     135        #define lldiv posix_lldiv
    88136
    89137        #define qsort posix_qsort
     138        #define bsearch posix_bsearch
    90139
    91140        #define getenv posix_getenv
     141        #define putenv posix_putenv
     142        #define system posix_system
    92143
    93144        #define realpath posix_realpath
    94145       
     146        #define atof posix_atof
    95147        #define strtof posix_strtof
    96148        #define strtod posix_strtod
     
    98150       
    99151        #define atoi posix_atoi
     152        #define atol posix_atol
     153        #define atoll posix_atoll
     154        #define strtol posix_strtol
     155        #define strtoll posix_strtoll
     156        #define strtoul posix_strtoul
     157        #define strtoull posix_strtoull
    100158
    101159        #define malloc posix_malloc
Note: See TracChangeset for help on using the changeset viewer.