home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.0 / NeXTSTEP3.0.iso / NextDeveloper / Headers / ansi / stdlib.h < prev    next >
Text File  |  1992-02-05  |  3KB  |  95 lines

  1. /* Copyright (c) 1988 NeXT, Inc. - 9/8/88 CCH */
  2.  
  3. #ifndef _STDLIB_H
  4. #define _STDLIB_H
  5.  
  6. #ifdef __STRICT_BSD__
  7. #error This file should not be in a strictly BSD program
  8. #endif
  9.  
  10. #import <stddef.h> /* get size_t, NULL, etc. */
  11.  
  12. /*
  13.  * match definition in <sys/errno.h>
  14.  */
  15. #define    ERANGE        34        /* Result too large */
  16. /*
  17.  * match definition in <math.h>
  18.  */
  19. #define HUGE_VAL (1e999)
  20. #define EXIT_FAILURE (1)
  21. #define EXIT_SUCCESS (0)
  22. #define RAND_MAX (2147483647)
  23. #define MB_CUR_MAX (1)
  24.  
  25. typedef struct {int quot, rem;} div_t;
  26. typedef struct {long int quot, rem;} ldiv_t;
  27.  
  28. extern double atof(const char *nptr);
  29. #define atof(nptr) strtod(nptr, (char **)NULL)
  30. extern int atoi(const char *nptr);
  31. epn long int atol(const char *nptr);
  32. extern double strtod(const char *nptr, char **endptr);
  33. extern long int strtol(const char *nptr, char **endptr, int base);
  34. extern unsigned long int strtoul(const char *nptr, char **endptr, int base);
  35. extern int rand(void);
  36. extern void srand(unsigned int seed);
  37. extern void *calloc(size_t nmemb, size_t size);
  38. extern void free(void *ptr);
  39. extern void *malloc(size_t size);
  40. extern void *realloc(void *ptr, size_t size);
  41. #ifndef __STRICT_ANSI__
  42. extern void *valloc(size_t size);
  43. extern void *alloca(size_t size);
  44.  
  45. #undef     alloca
  46. #define    alloca(x)    __builtin_alloca(x)
  47.  
  48. extern void cfree(void *ptr);
  49. extern void vfree(void *ptr);
  50. extern size_t malloc_size(void *ptr);
  51. extern size_t malloc_good_size(size_t byteSize);
  52. extern int malloc_debug(int level);
  53. #ifdef    __cplusplus
  54. typedef void (*_cplus_fcn_int)(int);
  55. extern void (*malloc_error(_cplus_fcn_int))(int);
  56. #else
  57. extern void (*malloc_error(void (*fcn)(int)))(int);
  58. #endif
  59. extern size_t mstats(void);
  60. #endif
  61. #ifdef    __GNUC__
  62. extern volatile void abort(void);
  63. #else
  64. extern void    abort(void);
  65. #endif    __GNUC__
  66. #ifdef    __cplusplus
  67. typedef void (*_cplus_fcn_void)(void);
  68. extern int atexit(_cplus_fcn_void);
  69. #else
  70. extern int atexit(void (*fcn)(void));
  71. #endif
  72. #if    defined(__GNUC__)  && !defined(__STRICT_ANSI__)
  73. extern volatile void exit(int status);
  74. #else
  75. extern void exit(int status);
  76. #endif    defined(__GNUC__)  && !defined(__STRICT_ANSI__)
  77. extern char *getenv(const char *name);
  78. extern int system(const char *string);
  79. extern void *bsearch(const void *key, const void *base,
  80.     size_t nmemb, size_t size,
  81.     int (*compar)(const void *, const void *));
  82. extern void *qsort(void *base, size_t nmemb, size_t size,
  83.     int (*compar)(const void *, const void *));
  84. extern int abs(int j);
  85. extern div_t div(int numer, int denom);
  86. extern long int labs(long int j);
  87. extern ldiv_t ldiv(long int numer, long int denom);
  88. extern int mblen(const char *s, size_t n);
  89. extern int mbtowc(wchar_t *pwc, const char *s, size_t n);
  90. extern int wctomb(char *s, wchar_t wchar);
  91. extern size_t mbstowcs(wchar_t *pwcs, const char *s, size_t n);
  92. extern size_t wcstombs(char *s, const wchar_t *pwcs, size_t n);
  93.  
  94. #endif /* _STDLIB_H */
  95.