home *** CD-ROM | disk | FTP | other *** search
/ Computer Club Elmshorn Atari PD / CCE_PD.iso / pc / 0600 / CCE_0638.ZIP / CCE_0638 / INCLUDE / INCLUD87.ZOO / stdlib.h < prev    next >
C/C++ Source or Header  |  1992-07-20  |  3KB  |  109 lines

  1. /*
  2.  * stdlib.h
  3.  *    ansi draft sec 4.10
  4.  */
  5. #ifndef _STDLIB_H
  6. #define _STDLIB_H
  7.  
  8. #ifndef _COMPILER_H
  9. #include <compiler.h>
  10. #endif
  11.  
  12. #ifdef __cplusplus
  13. extern "C" {
  14. #endif
  15.  
  16. #ifndef _SIZE_T
  17. #define _SIZE_T __SIZE_TYPEDEF__
  18. typedef _SIZE_T size_t;
  19. #endif
  20.  
  21. #ifndef _WCHAR_T
  22. #define _WCHAR_T __WCHAR_TYPEDEF__
  23. typedef _WCHAR_T wchar_t;
  24. #endif
  25.  
  26. #ifdef __MSHORT__
  27. #define    RAND_MAX    (0x7FFF)    /* maximum value from rand() */
  28. #else
  29. #define    RAND_MAX    (0x7FFFFFFFL)    /* maximum value from rand() */
  30. #endif
  31.  
  32. #define MB_CUR_MAX    1        /* max. length of multibyte character
  33.                        in current locale */
  34.  
  35. #ifndef EXIT_FAILURE
  36. #define EXIT_FAILURE    (1)
  37. #define EXIT_SUCCESS    (0)
  38. #endif
  39.  
  40. typedef struct {
  41.     int        quot;    /* quotient    */
  42.     int        rem;    /* remainder     */
  43. } div_t;
  44.  
  45. typedef struct {
  46.     long    quot;    /* quotient    */
  47.     long    rem;    /* remainder     */
  48. } ldiv_t;
  49.  
  50. __EXTERN double atof __PROTO((const char *s));
  51. __EXTERN int atoi __PROTO((const char *str));
  52. __EXTERN long atol __PROTO((const char *str));
  53. __EXTERN long int strtol __PROTO((const char *nptr, char **endptr, int base));
  54. __EXTERN unsigned long int strtoul __PROTO((const char *nptr, char **endptr, int base));
  55. __EXTERN double strtod __PROTO((const char *s, char **endptr)); /* sigh! */
  56.  
  57. __EXTERN void srand __PROTO((unsigned int seed));
  58. __EXTERN int rand __PROTO((void));
  59.  
  60. __EXTERN void *malloc __PROTO((size_t n));
  61. __EXTERN void free __PROTO((void *param));
  62. __EXTERN void *realloc __PROTO((void *_r, size_t n));
  63. __EXTERN void *calloc __PROTO((size_t n, size_t sz));
  64. #ifndef __STRICT_ANSI__
  65.  
  66. #  ifndef alloca
  67. #    ifndef __GNUC__
  68. #      ifndef __cplusplus
  69.           __EXTERN void *alloca __PROTO((size_t));
  70. #      else
  71.           __EXTERN void *alloca __PROTO((long unsigned int));
  72. #      endif /* __cplusplus */
  73. #    else
  74. #      define alloca(X) __builtin_alloca(X)
  75. #    endif /* __GNUC__ */
  76. #  endif /* alloca */
  77.  
  78. #  ifdef atarist
  79.      __EXTERN void _malloczero __PROTO((int yes));
  80.      __EXTERN void _mallocChunkSize __PROTO((size_t siz));
  81. #  endif
  82.  
  83. #endif /* __STRICT_ANSI__ */
  84.  
  85. __EXTERN __EXITING abort __PROTO((void));
  86. #ifndef __cplusplus
  87.   /* bug in g++ 1.39.0 -- cant digest proto */
  88. __EXTERN int atexit __PROTO((void (*)(void)));
  89. #endif
  90. __EXTERN __EXITING exit __PROTO((int status));
  91.  
  92. __EXTERN char *getenv __PROTO((const char *tag));
  93. __EXTERN int system __PROTO((const char *s));
  94.  
  95. __EXTERN void *bsearch __PROTO((const void *key, const void *base, size_t num, size_t size, int (*cmp )(const void *, const void *)));
  96. __EXTERN void qsort __PROTO((void *base, size_t total_elems, size_t size, int (*cmp )(const void *, const void *)));
  97.  
  98. __EXTERN int abs __PROTO((int x));
  99. __EXTERN long labs __PROTO((long x));
  100.  
  101. __EXTERN div_t div __PROTO((int num, int denom));
  102. __EXTERN ldiv_t ldiv __PROTO((long num, long denom));
  103.  
  104. #ifdef __cplusplus
  105. }
  106. #endif
  107.  
  108. #endif /* _STDLIB_H */
  109.