Annotation of mstools/h/stdlib.h, revision 1.1.1.1

1.1       root        1: /***
                      2: *stdlib.h - declarations/definitions for commonly used library functions
                      3: *
                      4: *      Copyright (c) 1985-1991, Microsoft Corporation. All rights reserved.
                      5: *
                      6: *Purpose:
                      7: *      This include file contains the function declarations for
                      8: *      commonly used library functions which either don't fit somewhere
                      9: *      else, or, like toupper/tolower, can't be declared in the normal
                     10: *      place for other reasons.
                     11: *      [ANSI]
                     12: *
                     13: ****/
                     14: 
                     15: #ifndef _INC_STDLIB
                     16: 
                     17: #ifdef __cplusplus
                     18: extern "C" {
                     19: #endif
                     20: 
                     21: 
                     22: #if (_MSC_VER <= 600)
                     23: #define __cdecl _cdecl
                     24: #endif
                     25: 
                     26: #ifndef _SIZE_T_DEFINED
                     27: typedef unsigned int size_t;
                     28: #define _SIZE_T_DEFINED
                     29: #endif
                     30: 
                     31: 
                     32: #ifndef _WCHAR_T_DEFINED
                     33: typedef unsigned short wchar_t;
                     34: #define _WCHAR_T_DEFINED
                     35: #endif
                     36: 
                     37: 
                     38: /* define NULL pointer value */
                     39: 
                     40: #ifndef NULL
                     41: #ifdef __cplusplus
                     42: #define NULL   0
                     43: #else
                     44: #define NULL   ((void *)0)
                     45: #endif
                     46: #endif
                     47: 
                     48: 
                     49: /* definition of the return type for the onexit() function */
                     50: 
                     51: #define EXIT_SUCCESS   0
                     52: #define EXIT_FAILURE   1
                     53: 
                     54: 
                     55: #ifndef _ONEXIT_T_DEFINED
                     56: typedef int (* _onexit_t)(void);
                     57: #if !__STDC__
                     58: /* Non-ANSI name for compatibility */
                     59: #define onexit_t _onexit_t
                     60: #endif
                     61: #define _ONEXIT_T_DEFINED
                     62: #endif
                     63: 
                     64: 
                     65: /* Data structure definitions for div and ldiv runtimes. */
                     66: 
                     67: #ifndef _DIV_T_DEFINED
                     68: 
                     69: typedef struct _div_t {
                     70:        int quot;
                     71:        int rem;
                     72: } div_t;
                     73: 
                     74: typedef struct _ldiv_t {
                     75:        long quot;
                     76:        long rem;
                     77: } ldiv_t;
                     78: 
                     79: #define _DIV_T_DEFINED
                     80: #endif
                     81: 
                     82: /* Maximum value that can be returned by the rand function. */
                     83: 
                     84: #define RAND_MAX 0x7fff
                     85: 
                     86: extern unsigned short __mb_cur_max;    /* max mb-len for current locale */
                     87: #define        MB_CUR_MAX __mb_cur_max
                     88: 
                     89: /* min and max macros */
                     90: 
                     91: #define __max(a,b)     (((a) > (b)) ? (a) : (b))
                     92: #define __min(a,b)     (((a) < (b)) ? (a) : (b))
                     93: 
                     94: 
                     95: /* sizes for buffers used by the _makepath() and _splitpath() functions.
                     96:  * note that the sizes include space for 0-terminator
                     97:  */
                     98: 
                     99: #define _MAX_PATH      260     /* max. length of full pathname */
                    100: #define _MAX_DRIVE     3       /* max. length of drive component */
                    101: #define _MAX_DIR       256     /* max. length of path component */
                    102: #define _MAX_FNAME     256     /* max. length of file name component */
                    103: #define _MAX_EXT       256     /* max. length of extension component */
                    104: 
                    105: /* constants for _seterrormode() */
                    106: #define _CRIT_ERROR_PROMPT  0
                    107: #define _CRIT_ERROR_FAIL    1
                    108: 
                    109: /* constants for _sleep() */
                    110: #define _SLEEP_MINIMUM 0
                    111: #define _SLEEP_FOREVER -1
                    112: 
                    113: /* external variable declarations */
                    114: 
                    115: #ifdef _MT
                    116: extern int * _errno(void);
                    117: extern unsigned long * __doserrno(void);
                    118: #define errno      (*_errno())
                    119: #define _doserrno   (*__doserrno())
                    120: #else  /* ndef _MT */
                    121: extern int errno;                      /* XENIX style error number */
                    122: extern unsigned long _doserrno;        /* OS system error value */
                    123: #endif /* _MT */
                    124: extern char * _sys_errlist[]; /* perror error message table */
                    125: extern int _sys_nerr;  /* # of entries in sys_errlist table */
                    126: 
                    127: extern char ** _environ;       /* pointer to environment table */
                    128: extern int _fmode;             /* default file translation mode */
                    129: extern int _fileinfo;  /* open file info mode (for spawn) */
                    130: 
                    131: extern unsigned int _psp;      /* Program Segment Prefix */
                    132: 
                    133: 
                    134: /* DOS major/minor version numbers */
                    135: 
                    136: extern unsigned int _osmajor;
                    137: extern unsigned int _osminor;
                    138: 
                    139: /* OS API mode */
                    140: 
                    141: #define _DOS_MODE      0       /* DOS */
                    142: #define _OS2_MODE      1       /* OS/2 */
                    143: #define _WIN_MODE      2       /* Windows */
                    144: #define _OS2_20_MODE   3       /* OS/2 2.0 */
                    145: #define _DOSX32_MODE   4       /* DOSX32 */
                    146: 
                    147: extern unsigned char _osmode;
                    148: 
                    149: /* CPU addressing mode */
                    150: 
                    151: #define _REAL_MODE     0       /* real mode */
                    152: #define _PROT_MODE     1       /* protect mode */
                    153: #define _FLAT_MODE     2       /* flat mode */
                    154: 
                    155: extern unsigned char _cpumode;
                    156: 
                    157: 
                    158: /* function prototypes */
                    159: 
                    160: void   abort(void);
                    161: int    abs(int);
                    162: int    atexit(void (*)(void));
                    163: double atof(const char *);
                    164: int    atoi(const char *);
                    165: long   atol(const char *);
                    166: #if defined(i386)
                    167: long double _atold(const char *);
                    168: #endif
                    169: void * bsearch(const void *, const void *, size_t, size_t,
                    170:        int (*)(const void *, const void *));
                    171: void * calloc(size_t, size_t);
                    172: div_t  div(int, int);
                    173: char * _ecvt(double, int, int *, int *);
                    174: void   exit(int);
                    175: void   _exit(int);
                    176: char * _fcvt(double, int, int *, int *);
                    177: void   free(void *);
                    178: char * _fullpath(char *, const char *, size_t);
                    179: char * _gcvt(double, int, char *);
                    180: char * getenv(const char *);
                    181: char * _itoa(int, char *, int);
                    182: long   labs(long);
                    183: ldiv_t ldiv(long, long);
                    184: unsigned long _lrotl(unsigned long, int);
                    185: unsigned long _lrotr(unsigned long, int);
                    186: char * _ltoa(long, char *, int);
                    187: void   _makepath(char *, const char *, const char *, const char *,
                    188:        const char *);
                    189: void * malloc(size_t);
                    190: _onexit_t _onexit(_onexit_t);
                    191: void   perror(const char *);
                    192: int    _putenv(const char *);
                    193: void   qsort(void *, size_t, size_t, int (*)
                    194:        (const void *, const void *));
                    195: unsigned int _rotl(unsigned int, int);
                    196: unsigned int _rotr(unsigned int, int);
                    197: int    rand(void);
                    198: void * realloc(void *, size_t);
                    199: void   _searchenv(const char *, const char *, char *);
                    200: void   _splitpath(const char *, char *, char *, char *, char *);
                    201: void   srand(unsigned int);
                    202: double strtod(const char *, char **);
                    203: long   strtol(const char *, char **, int);
                    204: #if defined(i386)
                    205: long double _strtold(const char *, char **);
                    206: #endif
                    207: unsigned long strtoul(const char *, char **, int);
                    208: void   _swab(char *, char *, int);
                    209: int    system(const char *);
                    210: char * _ultoa(unsigned long, char *, int);
                    211: int    mblen(const char *, size_t);
                    212: int    mbtowc(wchar_t *, const char *, size_t);
                    213: int    wctomb(char *, wchar_t);
                    214: size_t mbstowcs(wchar_t *, const char *, size_t);
                    215: size_t wcstombs(char *, const wchar_t *, size_t);
                    216: void _seterrormode(int);
                    217: void _beep(unsigned, unsigned);
                    218: void _sleep(unsigned long);
                    219: 
                    220: #ifndef tolower        /* tolower has been undefined - use function */
                    221: int tolower(int);
                    222: #endif /* tolower */
                    223: 
                    224: #ifndef toupper        /* toupper has been undefined - use function */
                    225: int toupper(int);
                    226: #endif /* toupper */
                    227: 
                    228: #if !__STDC__
                    229: /* Non-ANSI names for compatibility */
                    230: 
                    231: #ifndef __cplusplus
                    232: #define max(a,b)       (((a) > (b)) ? (a) : (b))
                    233: #define min(a,b)       (((a) < (b)) ? (a) : (b))
                    234: #endif
                    235: 
                    236: #define sys_errlist _sys_errlist
                    237: #define sys_nerr    _sys_nerr
                    238: #define environ     _environ
                    239: 
                    240: #define DOS_MODE    _DOS_MODE
                    241: #define OS2_MODE    _OS2_MODE
                    242: 
                    243: #define ecvt       _ecvt
                    244: #define fcvt       _fcvt
                    245: #define gcvt       _gcvt
                    246: #define itoa       _itoa
                    247: #define ltoa       _ltoa
                    248: #define onexit     _onexit
                    249: #define putenv     _putenv
                    250: #define swab       _swab
                    251: #define ultoa      _ultoa
                    252: 
                    253: #endif /* __STDC__ */
                    254: 
                    255: #ifdef __cplusplus
                    256: }
                    257: #endif
                    258: 
                    259: #define _INC_STDLIB
                    260: #endif /* _INC_STDLIB */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.