00001
00002
00003 #ifndef _STDLIB_H
00004 #define _STDLIB_H
00005
00006 #ifndef _ANSI_H
00007 #include <ansi.h>
00008 #endif
00009
00010
00011 #define NULL ((void *)0)
00012
00013 #define EXIT_FAILURE 1
00014 #define EXIT_SUCCESS 0
00015 #define RAND_MAX 32767
00016 #define MB_CUR_MAX 1
00017
00018 typedef struct { int quot, rem; } div_t;
00019 typedef struct { long quot, rem; } ldiv_t;
00020
00021
00022 #ifndef _SIZE_T
00023 #define _SIZE_T
00024 typedef unsigned int size_t;
00025 #endif
00026
00027 #ifndef _WCHAR_T
00028 #define _WCHAR_T
00029 typedef char wchar_t;
00030 #endif
00031
00032
00033 _PROTOTYPE( void abort, (void) );
00034 _PROTOTYPE( int abs, (int _j) );
00035 _PROTOTYPE( int atexit, (void (*_func)(void)) );
00036 _PROTOTYPE( double atof, (const char *_nptr) );
00037 _PROTOTYPE( int atoi, (const char *_nptr) );
00038 _PROTOTYPE( long atol, (const char *_nptr) );
00039 _PROTOTYPE( void *calloc, (size_t _nmemb, size_t _size) );
00040 _PROTOTYPE( div_t div, (int _numer, int _denom) );
00041 _PROTOTYPE( void exit, (int _status) );
00042 _PROTOTYPE( void free, (void *_ptr) );
00043 _PROTOTYPE( char *getenv, (const char *_name) );
00044 _PROTOTYPE( long labs, (long _j) );
00045 _PROTOTYPE( ldiv_t ldiv, (long _numer, long _denom) );
00046 _PROTOTYPE( void *malloc, (size_t _size) );
00047 _PROTOTYPE( int mblen, (const char *_s, size_t _n) );
00048 _PROTOTYPE( size_t mbstowcs, (wchar_t *_pwcs, const char *_s, size_t _n));
00049 _PROTOTYPE( int mbtowc, (wchar_t *_pwc, const char *_s, size_t _n) );
00050 _PROTOTYPE( int rand, (void) );
00051 _PROTOTYPE( void *realloc, (void *_ptr, size_t _size) );
00052 _PROTOTYPE( void srand, (unsigned int _seed) );
00053 _PROTOTYPE( double strtod, (const char *_nptr, char **_endptr) );
00054 _PROTOTYPE( long strtol, (const char *_nptr, char **_endptr, int _base) );
00055 _PROTOTYPE( int system, (const char *_string) );
00056 _PROTOTYPE( size_t wcstombs, (char *_s, const wchar_t *_pwcs, size_t _n));
00057 _PROTOTYPE( int wctomb, (char *_s, wchar_t _wchar) );
00058 _PROTOTYPE( void *bsearch, (const void *_key, const void *_base,
00059 size_t _nmemb, size_t _size,
00060 int (*compar) (const void *, const void *)) );
00061 _PROTOTYPE( void qsort, (void *_base, size_t _nmemb, size_t _size,
00062 int (*compar) (const void *, const void *)) );
00063 _PROTOTYPE( unsigned long int strtoul,
00064 (const char *_nptr, char **_endptr, int _base) );
00065
00066 #ifdef _POSIX_SOURCE
00067
00068 _PROTOTYPE( int mkstemp, (char *_fmt) );
00069 _PROTOTYPE( char *initstate, (unsigned _seed, char *_state,
00070 size_t _size) );
00071 _PROTOTYPE( long random, (void) );
00072 _PROTOTYPE( char *realpath, (const char *file_name,
00073 char *resolved_name) );
00074 _PROTOTYPE( char *setstate, (const char *state) );
00075 _PROTOTYPE( void srandom, (unsigned seed) );
00076 _PROTOTYPE( int putenv, (char *string) );
00077 _PROTOTYPE( int setenv, (const char *envname, const char *envval,
00078 int overwrite) );
00079 _PROTOTYPE( int unsetenv, (const char *name) );
00080
00081 #ifdef __LONG_LONG_SUPPORTED
00082 _PROTOTYPE( long long strtoll, (const char *_nptr, char **_endptr,
00083 int _base) );
00084 _PROTOTYPE( unsigned long long strtoull, (const char *_nptr,
00085 char **_endptr, int _base) );
00086 #endif
00087
00088 #endif
00089
00090 #ifdef _MINIX
00091 _PROTOTYPE( int getloadavg, (double *, int) );
00092
00093
00094
00095
00096 _PROTOTYPE(int getopt, (int _argc, char * const _argv[], const char *_opts));
00097 extern char *optarg;
00098 extern int optind, opterr, optopt;
00099 #endif
00100
00101 #endif