stdlib.h

Go to the documentation of this file.
00001 /* The <stdlib.h> header defines certain common macros, types, and functions.*/
00002 
00003 #ifndef _STDLIB_H
00004 #define _STDLIB_H
00005 
00006 #ifndef _ANSI_H
00007 #include <ansi.h>
00008 #endif
00009 
00010 /* The macros are NULL, EXIT_FAILURE, EXIT_SUCCESS, RAND_MAX, and MB_CUR_MAX.*/
00011 #define NULL    ((void *)0)
00012 
00013 #define EXIT_FAILURE       1    /* standard error return using exit() */
00014 #define EXIT_SUCCESS       0    /* successful return using exit() */
00015 #define RAND_MAX       32767    /* largest value generated by rand() */
00016 #define MB_CUR_MAX         1    /* max value of multibyte character in MINIX */
00017 
00018 typedef struct { int quot, rem; } div_t;
00019 typedef struct { long quot, rem; } ldiv_t;
00020 
00021 /* The types are size_t, wchar_t, div_t, and ldiv_t. */
00022 #ifndef _SIZE_T
00023 #define _SIZE_T
00024 typedef unsigned int size_t;    /* type returned by sizeof */
00025 #endif
00026 
00027 #ifndef _WCHAR_T
00028 #define _WCHAR_T
00029 typedef char wchar_t;           /* type expanded character set */
00030 #endif
00031 
00032 /* Function Prototypes. */
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 /* Open Group Base Specifications Issue 6 */
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 *setstate, (const char *state)                         );
00073 _PROTOTYPE( void srandom, (unsigned seed)                               );
00074 _PROTOTYPE( int getloadavg, (double *, int)                             );
00075 #endif
00076 
00077 #ifdef _MINIX
00078 _PROTOTYPE( int putenv, (const char *_name)                             );
00079 _PROTOTYPE( int setenv, (const char *name, const char *val, const int f));
00080 
00081 /* According to POSIX, getopt should be in unistd.h. What do we do with
00082  * this?
00083  */
00084 _PROTOTYPE(int getopt, (int _argc, char * const _argv[], const char *_opts));
00085 extern char *optarg;
00086 extern int optind, opterr, optopt;
00087 #endif /* _MINIX */
00088 
00089 #endif /* STDLIB_H */

Generated on Fri Apr 14 22:57:22 2006 for minix by  doxygen 1.4.6