home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / prgramer / unix / emx / include / stdlib.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-11-18  |  5.4 KB  |  194 lines

  1. /* stdlib.h (emx+gcc) */
  2.  
  3. #if !defined (_STDLIB_H)
  4. #define _STDLIB_H
  5.  
  6. #if defined (__cplusplus)
  7. extern "C" {
  8. #endif
  9.  
  10. #if !defined (_SIZE_T)
  11. #define _SIZE_T
  12. typedef unsigned long size_t;
  13. #endif
  14.  
  15. #if !defined (NULL)
  16. #define NULL ((void *)0)
  17. #endif
  18.  
  19. #if !defined (_DIV_T)
  20. #define _DIV_T
  21. typedef struct _div_t
  22. {
  23.   int quot;
  24.   int rem;
  25. } div_t;
  26. typedef struct _ldiv_t
  27. {
  28.   long quot;
  29.   long rem;
  30. } ldiv_t;
  31. typedef struct
  32. {
  33.   unsigned long quot;
  34.   unsigned long rem;
  35. } _uldiv_t;
  36. typedef struct
  37. {
  38.   long long quot;
  39.   long long rem;
  40. } _lldiv_t;
  41. typedef struct
  42. {
  43.   unsigned long long quot;
  44.   unsigned long long rem;
  45. } _ulldiv_t;
  46. #endif
  47.  
  48. #if !defined (RAND_MAX)
  49. #define RAND_MAX 0x7fff
  50. #endif
  51.  
  52. #if !defined (EXIT_SUCCESS)
  53. #define EXIT_SUCCESS 0
  54. #define EXIT_FAILURE 1
  55. #endif
  56.  
  57. #if !defined (OS2_MODE)
  58. #define DOS_MODE 0
  59. #define OS2_MODE 1
  60. #endif
  61.  
  62. #if !defined (_MAX_PATH)
  63. #define _MAX_PATH   260
  64. #define _MAX_DRIVE    3
  65. #define _MAX_DIR    256
  66. #define _MAX_FNAME  256
  67. #define _MAX_EXT    256
  68. #endif
  69.  
  70. #if !defined (_ERRNO)
  71. #define _ERRNO
  72. #if defined (__MT__)
  73. extern int *_errno_fun (void);
  74. #define errno (*_errno_fun ())
  75. #else
  76. extern int errno;
  77. #endif
  78. #endif
  79.  
  80. extern char **environ;
  81.  
  82. extern __const__ char * __const__ sys_errlist[];
  83. extern __const__ int sys_nerr;
  84.  
  85. extern __const__ unsigned int _emx_vcmp;
  86. extern __const__ unsigned int _emx_env;
  87. extern __const__ unsigned char _osminor;
  88. extern __const__ unsigned char _osmajor;
  89. extern __const__ unsigned char _osmode;
  90. extern __const__ char _emx_vprt[5];
  91.  
  92. void __volatile__ abort (void);
  93. unsigned alarm (unsigned sec);
  94. int atexit (void (*func)(void));
  95. int atoi (__const__ char *string);
  96. long atol (__const__ char *string);
  97. long long _atoll (__const__ char *string);
  98. double atof (__const__ char *string);
  99. void *brk (void *addr);
  100. void *bsearch (__const__ void *key, __const__ void *base,
  101.     size_t num, size_t width,
  102.     int (*compare)(__const__ void *key, __const__ void *element));
  103. int chdir (__const__ char *name);
  104. div_t div (int num, int den);
  105. void __volatile__ exit (int ret);
  106. char *getcwd (char *buffer, int size);
  107. char *getenv (__const__ char *name);
  108. int getpagesize (void);
  109. char *getwd (char *buffer);
  110. char *_itoa (int value, char *string, int radix);
  111. ldiv_t ldiv (long num, long den);
  112. char *_ltoa (long value, char *string, int radix);
  113. int mkdir (__const__ char *name, long mode);
  114. void perror (__const__ char *string);
  115. int putenv (__const__ char *string);
  116. void qsort (void *base, size_t num, size_t width,
  117.     int (*compare)(__const__ void *x1, __const__ void *x2));
  118. int rand (void);
  119. long random (void);                                 /* BSD */
  120. int rmdir (__const__ char *name);
  121. void *sbrk (int incr);
  122. unsigned sleep (unsigned sec);
  123. void srand (unsigned int seed);
  124. long strtol (__const__ char *string, char **end_ptr, int radix);
  125. unsigned long strtoul (__const__ char *string, char **end_ptr, int radix);
  126. double strtod (__const__ char *string, char **end_ptr);
  127. int system (__const__ char *command);
  128. long ulimit (int cmd, long newlimit);
  129. char *_ultoa (unsigned long value, char *string, int radix);
  130.  
  131. int _abspath (char *dst, __const__ char *src, int size);
  132. int _beginthread (void (*start)(void *arg), void *stack, unsigned stack_size,
  133.     void *arg_list);
  134. int _chdir2 (__const__ char *name);
  135. int _chdrive (char drive);
  136. int _core (int handle);
  137. void _defext (char *dst, __const__ char *ext);
  138. void _endthread (void);
  139. void __volatile__ _exit (int ret);
  140. int _filesys (__const__ char *drive, char *name, size_t size);
  141. int _fncmp (__const__ unsigned char *string1,
  142.     __const__ unsigned char *string2);
  143. char **_fnexplode (__const__ char *mask);
  144. void _fnexplodefree (char **list);
  145. char _fngetdrive (__const__ char *src);
  146. int _fnisabs (__const__ char *name);
  147. void _fnlwr (char *name);
  148. int _fullpath (char *dst, __const__ char *src, int size);
  149. int _getcwd1 (char *buffer, char drive);
  150. char *_getcwd2 (char *buffer, int size);
  151. char _getdrive (void);
  152. char *_getext (__const__ char *path);
  153. char *_getname (__const__ char *path);
  154. _lldiv_t _lldiv (long long num, long long den);
  155. char *_lltoa (long long value, char *string, int radix);
  156. int _path (char *dst, __const__ char *name);
  157. int _read_kbd (int echo, int wait, int sig);
  158. void _remext (char *path);
  159. void _rfnlwr (void);
  160. void _response (int *argcp, char ***argvp);
  161. void _scrsize (int *dst);
  162. void _searchenv (__const__ char *file, __const__ char *var, char *path);
  163. void _sfnlwr (__const__ char *name);
  164. unsigned _sleep2 (unsigned millisec);
  165. char ** _splitargs (char *string, int *count);
  166. void _splitpath (__const__ char *src, char *drive, char *dir, char *fname,
  167.     char *ext);
  168. void swab (__const__ void *src, void *dst, size_t n);
  169. char _swchar (void);
  170. int _syserrno (void);
  171. _uldiv_t _uldiv (unsigned long num, unsigned long den);
  172. _ulldiv_t _ulldiv (unsigned long long num, unsigned long long den);
  173. char *_ulltoa (unsigned long long value, char *string, int radix);
  174. void _wildcard (int *argcp, char ***argvp);
  175.  
  176. #if !defined (_ABS)                                      /* see also math.h */
  177. #define _ABS
  178. #if !defined (__GNUC__) || __GNUC__ >= 2
  179. extern int abs (int n);
  180. extern long labs (long n);
  181. #else
  182. static __inline__ int abs (int n) { return (n < 0 ? -n : n); }
  183. static __inline__ long labs (long n) { return (n < 0 ? -n : n); }
  184. #endif
  185. #endif
  186.  
  187. #if defined (__cplusplus)
  188. }
  189. #endif
  190.  
  191. #include <malloc.h>
  192.  
  193. #endif /* !defined (_STDLIB_H) */
  194.