home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / OS2 / EMXFIX04.ZIP / STDLIB.H < prev    next >
C/C++ Source or Header  |  1993-11-06  |  6KB  |  212 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 int _emx_rev;
  88. extern __const__ unsigned char _osminor;
  89. extern __const__ unsigned char _osmajor;
  90. extern __const__ unsigned char _osmode;
  91. extern __const__ char _emx_vprt[5];
  92.  
  93. void abort (void) __attribute__ ((noreturn));
  94. unsigned alarm (unsigned sec);
  95. int atexit (void (*func)(void));
  96. int atoi (__const__ char *string);
  97. long atol (__const__ char *string);
  98. long long _atoll (__const__ char *string);
  99. double atof (__const__ char *string);
  100. long double _atofl (__const__ char *string);
  101. void *brk (void *addr);
  102. void *bsearch (__const__ void *key, __const__ void *base,
  103.     size_t num, size_t width,
  104.     int (*compare)(__const__ void *key, __const__ void *element));
  105. int chdir (__const__ char *name);
  106. div_t div (int num, int den);
  107. void exit (int ret) __attribute__ ((noreturn));
  108. char *gcvt (double value, int digits, char *buffer);
  109. char *getcwd (char *buffer, size_t size);
  110. char *getenv (__const__ char *name);
  111. int getpagesize (void);
  112. char *getwd (char *buffer);
  113. char *initstate (unsigned seed, char *state, int n);    /* BSD */
  114. char *_itoa (int value, char *string, int radix);
  115. ldiv_t ldiv (long num, long den);
  116. char *_ltoa (long value, char *string, int radix);
  117. int mkdir (__const__ char *name, long mode);
  118. void perror (__const__ char *string);
  119. int putenv (__const__ char *string);
  120. void qsort (void *base, size_t num, size_t width,
  121.     int (*compare)(__const__ void *x1, __const__ void *x2));
  122. int rand (void);
  123. long random (void);                                     /* BSD */
  124. int rmdir (__const__ char *name);
  125. void *sbrk (int incr);
  126. char *setstate (char *state);                           /* BSD */
  127. unsigned sleep (unsigned sec);
  128. void srand (unsigned int seed);
  129. void srandom (unsigned seed);                           /* BSD */
  130. long strtol (__const__ char *string, char **end_ptr, int radix);
  131. unsigned long strtoul (__const__ char *string, char **end_ptr, int radix);
  132. double strtod (__const__ char *string, char **end_ptr);
  133. long double _strtold (__const__ char *string, char **end_ptr);
  134. void swab (__const__ void *src, void *dst, size_t n);
  135. int system (__const__ char *command);
  136. long ulimit (int cmd, long newlimit);
  137. char *_ultoa (unsigned long value, char *string, int radix);
  138.  
  139. int _abspath (char *dst, __const__ char *src, int size);
  140. int _chdir2 (__const__ char *name);
  141. int _chdrive (char drive);
  142. int _core (int handle);
  143. void _defext (char *dst, __const__ char *ext);
  144. void _envargs (int *argcp, char ***argvp, const char *name);
  145. int _execname (char *buf, size_t bufsize);
  146. void _exit (int ret) __attribute__ ((noreturn));
  147. int _filesys (__const__ char *drive, char *name, size_t size);
  148. int _fncmp (__const__ unsigned char *string1,
  149.     __const__ unsigned char *string2);
  150. char **_fnexplode (__const__ char *mask);
  151. void _fnexplodefree (char **list);
  152. char _fngetdrive (__const__ char *src);
  153. int _fnisabs (__const__ char *name);
  154. int _fnisrel (__const__ char *name);
  155. void _fnlwr (char *name);
  156. void _fnlwr2 (char *name, const char *base);
  157. int _fullpath (char *dst, __const__ char *src, int size);
  158. int _getcwd1 (char *buffer, char drive);
  159. char *_getcwd2 (char *buffer, int size);
  160. char _getdrive (void);
  161. char *_getext (__const__ char *path);
  162. char *_getext2 (__const__ char *path);
  163. char *_getname (__const__ char *path);
  164. _lldiv_t _lldiv (long long num, long long den);
  165. char *_lltoa (long long value, char *string, int radix);
  166. void _makepath (char *dst, __const__ char *drive, __const__ char *dir,
  167.     __const__ char *fname, __const__ char *ext);
  168. int _path (char *dst, __const__ char *name);
  169. int _read_kbd (int echo, int wait, int sig);
  170. void _remext (char *path);
  171. void _rfnlwr (void);
  172. void _response (int *argcp, char ***argvp);
  173. void _scrsize (int *dst);
  174. void _searchenv (__const__ char *file, __const__ char *var, char *path);
  175. void _sfnlwr (__const__ char *name);
  176. unsigned _sleep2 (unsigned millisec);
  177. char ** _splitargs (char *string, int *count);
  178. void _splitpath (__const__ char *src, char *drive, char *dir, char *fname,
  179.     char *ext);
  180. char _swchar (void);
  181. int _syserrno (void);
  182. _uldiv_t _uldiv (unsigned long num, unsigned long den);
  183. _ulldiv_t _ulldiv (unsigned long long num, unsigned long long den);
  184. char *_ulltoa (unsigned long long value, char *string, int radix);
  185. void _wildcard (int *argcp, char ***argvp);
  186.  
  187. #if !defined (_ABS)                                      /* see also math.h */
  188. #define _ABS
  189. #if !defined (__GNUC__) || __GNUC__ >= 2
  190. extern int abs (int n);
  191. extern long labs (long n);
  192. #else
  193. static __inline__ int abs (int n) { return (n < 0 ? -n : n); }
  194. static __inline__ long labs (long n) { return (n < 0 ? -n : n); }
  195. #endif
  196. #endif
  197.  
  198. #if defined (__MT__)
  199. int _beginthread (void (*start)(void *arg), void *stack, unsigned stack_size,
  200.     void *arg_list);
  201. void _endthread (void);
  202. void **_threadstore (void);
  203. #endif
  204.  
  205. #if defined (__cplusplus)
  206. }
  207. #endif
  208.  
  209. #include <malloc.h>
  210.  
  211. #endif /* !defined (_STDLIB_H) */
  212.