home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March B / SCO_CASTOR4RRT.iso / uccs / root.14 / udk / usr / include / stdlib.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-08-19  |  7.3 KB  |  266 lines

  1. /*
  2.  * Copyright (c) 1998 The Santa Cruz Operation, Inc.. All Rights Reserved. 
  3.  *                                                                         
  4.  *        THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF THE               
  5.  *                   SANTA CRUZ OPERATION INC.                             
  6.  *                                                                         
  7.  *   The copyright notice above does not evidence any actual or intended   
  8.  *   publication of such source code.                                      
  9.  */
  10.  
  11. #ifndef _STDLIB_H
  12. #define _STDLIB_H
  13. #ident    "@(#)sgs-head:i386/head/stdlib.h    1.39.1.6"
  14.  
  15. typedef    struct
  16. {
  17.     int    quot;
  18.     int    rem;
  19. } div_t;
  20.  
  21. typedef struct
  22. {
  23.     long    quot;
  24.     long    rem;
  25. } ldiv_t;
  26.  
  27. #ifndef _SIZE_T
  28. #   define _SIZE_T
  29.     typedef unsigned int    size_t;
  30. #endif
  31.  
  32. #if __STDC__ - 0 == 0 && !defined(_SSIZE_T)
  33. #   define _SSIZE_T
  34.     typedef int    ssize_t;
  35. #endif
  36.  
  37. #ifndef _WCHAR_T
  38. #   define _WCHAR_T
  39.     typedef long    wchar_t;
  40. #endif
  41.  
  42. #ifndef NULL
  43. #   define NULL    0
  44. #endif
  45.  
  46. #define EXIT_FAILURE    1
  47. #define EXIT_SUCCESS    0
  48. #define RAND_MAX    32767
  49.  
  50. #if defined(_XOPEN_SOURCE) || __STDC__ - 0 == 0 \
  51.     && !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE)
  52.  
  53. #ifndef WUNTRACED
  54. #   define WUNTRACED      0004
  55. #   define WNOHANG      0100
  56. #   define WIFEXITED(x)      (((int)((x)&0377))==0)
  57. #   define WIFSIGNALED(x) (((int)((x)&0377))>0&&((int)(((x)>>8)&0377))==0)
  58. #   define WIFSTOPPED(x)  (((int)((x)&0377))==0177&&((int)(((x)>>8)&0377))!=0)
  59. #   define WEXITSTATUS(x) ((int)(((x)>>8)&0377))
  60. #   define WTERMSIG(x)      (((int)((x)&0377))&0177)
  61. #   define WSTOPSIG(x)      ((int)(((x)>>8)&0377))
  62. #endif /*WUNTRACED*/
  63.  
  64. #endif /*defined(_XOPEN_SOURCE) || ...*/
  65.  
  66. #ifdef __cplusplus
  67. extern "C" {
  68. #endif
  69.  
  70. extern unsigned char    __ctype[];
  71.  
  72. #define MB_CUR_MAX    ((int)__ctype[520])
  73.  
  74. extern double    atof(const char *);
  75. extern int    atoi(const char *);
  76. extern long    atol(const char *);
  77. extern double    strtod(const char *, char **);
  78.     /*LINTED*/
  79. extern float    strtof(const char *, char **);
  80. extern long    strtol(const char *, char **, int);
  81. long double    strtold(const char *, char **);
  82. long long    strtoll(const char *, char **, int);
  83. unsigned long    strtoul(const char *, char **, int);
  84. unsigned long long strtoull(const char *, char **, int);
  85.  
  86. extern int    rand(void);
  87. extern void    srand(unsigned int);
  88.  
  89. extern void    *calloc(size_t, size_t);
  90. extern void    free(void *);
  91. extern void    *malloc(size_t);
  92. extern void    *realloc(void *, size_t);
  93.  
  94. extern void    abort(void);
  95. extern int    atexit(void (*)(void));
  96. extern void    exit(int);
  97. extern char    *getenv(const char *);
  98. extern int    system(const char *);
  99.  
  100. extern void    *bsearch(const void *, const void *, size_t, size_t,
  101.             int (*)(const void *, const void *));
  102. extern void    qsort(void *, size_t, size_t,
  103.             int (*)(const void *, const void *));
  104.  
  105. extern int    abs(int);
  106. extern div_t    div(int, int);
  107. extern long    labs(long);
  108. extern ldiv_t    ldiv(long, long);
  109.  
  110. extern int    mbtowc(wchar_t *, const char *, size_t);
  111. extern int    mblen(const char *, size_t);
  112. extern int    wctomb(char *, wchar_t);
  113.  
  114. extern size_t    mbstowcs(wchar_t *, const char *, size_t);
  115. extern size_t    wcstombs(char *, const wchar_t *, size_t);
  116.  
  117. #if defined(_XOPEN_SOURCE) || __STDC__ == 0 \
  118.     && !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE)
  119.  
  120. extern double    drand48(void);
  121. extern double    erand48(unsigned short *);
  122. extern long    jrand48(unsigned short *);
  123. extern void    lcong48(unsigned short *);
  124. extern long    lrand48(void);
  125. extern long    mrand48(void);
  126. extern long    nrand48(unsigned short *);
  127. extern int    putenv(char *);
  128. unsigned short    *seed48(unsigned short *);
  129. extern void    setkey(const char *);
  130. extern void    srand48(long);
  131.  
  132. #endif
  133.  
  134. #if __STDC__ - 0 == 0 && !defined(_XOPEN_SOURCE) \
  135.     && !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE)
  136.  
  137. #ifndef _MALLINFO
  138. #define _MALLINFO
  139. struct mallinfo {
  140.     size_t    arena;        /* total space in arena */
  141.     size_t    ordblks;    /* number of ordinary blocks */
  142.     size_t    smblks;        /* number of small blocks */
  143.     size_t    hblks;        /* number of holding blocks */
  144.     size_t    hblkhd;        /* space in holding block headers */
  145.     size_t    usmblks;    /* space in small blocks in use */
  146.     size_t    fsmblks;    /* space in free small blocks */
  147.     size_t    uordblks;    /* space in ordinary blocks in use */
  148.     size_t    fordblks;    /* space in free ordinary blocks */
  149.     size_t    keepcost;    /* cost of enabling keep option */
  150. };
  151. #endif
  152.  
  153. extern long    a64l(const char *);
  154. extern int    dup2(int, int);
  155. extern char    *ecvt(double, int, int *, int *);
  156. extern char    *ecvtl(long double, int, int *, int *);
  157. extern char    *fcvt(double, int, int *, int *);
  158. extern char    *fcvtl(long double, int, int *, int *);
  159. extern char    *getcwd(char *, size_t);
  160. extern char    *getlogin(void);
  161. extern int    getopt(int, char *const *, const char *);
  162. extern int    getsubopt(char **, char *const *, char **);
  163. extern char    *optarg;
  164. extern int    optind, opterr, optopt;
  165. extern char    *getpass(const char *);
  166. extern int    getpw(int, char *);
  167. extern char    *gcvt(double, int, char *);
  168. extern char    *gcvtl(long double, int, char *);
  169. extern int    grantpt(int);
  170. extern char    *initstate(unsigned, char * , int);
  171. extern int    isatty(int);
  172. extern void    l3tol(long *, const char *, int);
  173. extern char    *l64a(long);
  174. extern char    *l64a_r(long, char *, size_t);
  175. extern void    ltol3(char *, const long *, int);
  176. struct mallinfo    mallinfo(void);
  177. extern void    *memalign(size_t, size_t);
  178. extern int    mkstemp(char *);
  179. extern char    *mktemp(char *);
  180. extern char    *ptsname(int);
  181. extern int    rand_r(unsigned int *);
  182. extern long    random(void);
  183. extern char    *realpath(const char *, char *);
  184. extern char    *setstate(char *);
  185. extern void    srandom(unsigned);
  186. extern void    swab(const void *, void *, ssize_t);
  187. extern char    *ttyname(int);
  188. extern int    ttyslot(void);
  189. extern int    unlockpt(int);
  190. extern void    *valloc(size_t);
  191. extern double    wcstod(const wchar_t *, wchar_t **);
  192.     /*LINTED*/
  193. extern float    wcstof(const wchar_t *, wchar_t **);
  194. extern long    wcstol(const wchar_t *, wchar_t **, int);
  195. long double    wcstold(const wchar_t *, wchar_t **);
  196. long long    wcstoll(const wchar_t *, wchar_t **, int);
  197. unsigned long    wcstoul(const wchar_t *, wchar_t **, int);
  198. unsigned long long wcstoull(const wchar_t *, wchar_t **, int);
  199. extern int    _xgetlogin_r(char *, size_t);
  200. extern int    _xttyname_r(int, char *, size_t);
  201.  
  202. #ifdef _SIMPLE_R
  203.  
  204. extern char    *getlogin_r(char *, size_t);
  205. extern char    *ttyname_r(int, char *, size_t);
  206.  
  207. #elif defined(_EFTSAFE)
  208.  
  209. #undef getlogin_r
  210. #define getlogin_r(p,s)        _xgetlogin_r(p,s)
  211. #undef ttyame_r
  212. #define ttyname_r(f,p,s)    _xttyname_r(f,p,s)
  213.  
  214. #else
  215.  
  216. #ifndef _GETLOGIN_R
  217. #define _GETLOGIN_R
  218. static int
  219. getlogin_r(char *__1, size_t __2)
  220. {
  221.     return _xgetlogin_r(__1, __2);
  222. }
  223. #endif /*_GETLOGIN_R*/
  224.  
  225. #ifndef _TTYNAME_R
  226. #define _TTYNAME_R
  227. static int
  228. ttyname_r(int __1, char *__2, size_t __3)
  229. {
  230.     return _xttyname_r(__1, __2, __3);
  231. }
  232. #endif /*_TTYNAME_R*/
  233.  
  234. #endif /*_SIMPLE_R*/
  235.  
  236. #elif defined(_XOPEN_SOURCE) && _XOPEN_SOURCE_EXTENDED - 0 >= 1
  237.  
  238. extern long    a64l(const char *);
  239. extern char    *ecvt(double, int, int *, int *);
  240. extern char    *fcvt(double, int, int *, int *);
  241. extern char    *gcvt(double, int, char *);
  242. extern int    getsubopt(char **, char *const *, char **);
  243. extern int    grantpt(int);
  244. extern char    *initstate(unsigned, char * , int);
  245. extern char    *l64a(long);
  246. extern int    mkstemp(char *);
  247. extern char    *mktemp(char *);
  248. extern char    *ptsname(int);
  249. extern long    random(void);
  250. extern char    *realpath(const char *, char *);
  251. extern char    *setstate(char *);
  252. extern void    srandom(unsigned);
  253. extern int    ttyslot(void);
  254. extern int    unlockpt(int);
  255. extern void    *valloc(size_t);
  256.  
  257. #endif /*__STDC__ - 0 == 0 && ...*/
  258.  
  259. #ifdef __cplusplus
  260. }
  261. #endif
  262.  
  263. #define mblen(s, n)    mbtowc((wchar_t *)0, s, n)
  264.  
  265. #endif /*_STDLIB_H*/
  266.