|
|
1.1 root 1: /* (-lgl
2: * COHERENT Version 4.0.2
3: * Copyright (c) 1982, 1993 by Mark Williams Company.
4: * All rights reserved. May not be copied without permission.
5: -lgl) */
6: /*
7: * stdlib.h
8: * C general utilities library header.
9: * Draft Proposed ANSI C Standard, Section 4.10, 12/7/88 draft.
10: */
11:
12: #ifndef __STDLIB_H__
13: #define __STDLIB_H__
14:
15: #include <common/ccompat.h>
16: #include <common/_size.h>
17: #include <common/_wchar.h>
18: #include <common/_null.h>
19:
20:
21: /* Macros. */
22: #define _ATEXITN 32 /* number of atexit()-registered fns */
23: #define EXIT_FAILURE 1
24: #define EXIT_SUCCESS 0
25: #define MB_CUR_MAX 1
26: #define RAND_MAX 32767
27:
28: /* Types. */
29: typedef struct { int quot; int rem; } div_t; /* div result type */
30: typedef struct { long quot; long rem; } ldiv_t; /* ldiv result type */
31:
32: /*
33: * Functions in /lib/libc.a corresponding to ANSI <stdlib.h>.
34: * N.B. The behavior of these functions is not guaranteed to
35: * comply with the ANSI standard;
36: * see the COHERENT documentation for details on each function.
37: */
38:
39: __EXTERN_C_BEGIN__
40:
41: double atof __PROTO ((__CONST__ char * _nptr));
42: int atoi __PROTO ((__CONST__ char * _nptr));
43: long atol __PROTO ((__CONST__ char * _nptr));
44: double strtod __PROTO ((__CONST__ char * _nptr,
45: char ** _endptr));
46: long strtol __PROTO ((__CONST__ char * _nptr,
47: char ** _endptr, int _base));
48: unsigned long strtoul __PROTO ((__CONST__ char * _nptr,
49: char ** _endptr, int _base));
50: int rand __PROTO ((void));
51: void srand __PROTO ((unsigned _seed));
52: __VOID__ * calloc __PROTO ((size_t _nmemb, size_t _size));
53: void free __PROTO ((__VOID__ * _ptr));
54: __VOID__ * malloc __PROTO ((size_t _size));
55: __VOID__ * realloc __PROTO ((__VOID__ * _ptr, size_t _size));
56: __NO_RETURN__ void
57: abort __PROTO ((void));
58: int atexit __PROTO ((void (* _func) (void)));
59: __NO_RETURN__ void
60: exit __PROTO ((int _status));
61: char * getenv __PROTO ((__CONST__ char * _name));
62: int system __PROTO ((__CONST__ char * _string));
63: __VOID__ * bsearch __PROTO ((__CONST__ __VOID__ * _key,
64: __CONST__ __VOID__ * _base,
65: size_t _nmemb, size_t _size,
66: int (* _compar)
67: (__CONST__ __VOID__ *,
68: __CONST__ __VOID__ *)));
69: void qsort __PROTO ((__VOID__ * _base, size_t _nmemb,
70: size_t _size,
71: int (* _compar)
72: (__CONST__ __VOID__ *,
73: __CONST__ __VOID__ *)));
74: int abs __PROTO ((int _j));
75: div_t div __PROTO ((int _numer, int _denom));
76: long labs __PROTO ((long _j));
77: ldiv_t ldiv __PROTO ((long _numer, long _denom));
78:
79: #if 0 /* not implemented */
80:
81: int mblen __PROTO ((__CONST__ char * _s, size_t _n));
82: int mbtowc __PROTO ((wchar_t * _pwc, __CONST__ char * _s,
83: size_t _n));
84: int wctomb __PROTO ((char * _s, wchar_t _wchar));
85: size_t mbstowcs __PROTO ((wchar_t * _pwcs,
86: __CONST__ char * _s, size_t _n));
87: size_t wcstombs __PROTO ((char * _s,
88: __CONST__ wchar_t * _pwcs,
89: size_t _n));
90: #endif /* not implemented */
91:
92: __EXTERN_C_END__
93:
94: #if 1
95:
96: /* Internal data and functions. */
97: extern int _atexitn;
98: extern void (**_atexitfp)();
99: extern double _pow10 ();
100:
101: #endif /* not permitted in this header */
102:
103: #endif /* ! defined (__STDLIB_H__) */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.