|
|
1.1 ! root 1: /*** ! 2: *stdlib.h - declarations/definitions for commonly used library functions ! 3: * ! 4: * Copyright (c) 1985-1987, 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 (ctype.h in the case of toupper/tolower) for other reasons. ! 11: * [ANSI] ! 12: * ! 13: *******************************************************************************/ ! 14: ! 15: ! 16: #ifndef _SIZE_T_DEFINED ! 17: typedef unsigned int size_t; ! 18: #define _SIZE_T_DEFINED ! 19: #endif ! 20: ! 21: #ifndef NO_EXT_KEYS /* extensions enabled */ ! 22: #define _CDECL cdecl ! 23: #define _NEAR near ! 24: #else /* extensions not enabled */ ! 25: #define _CDECL ! 26: #define _NEAR ! 27: #endif /* NO_EXT_KEYS */ ! 28: ! 29: ! 30: /* definition of the return type for the onexit() function */ ! 31: ! 32: #ifndef _ONEXIT_T_DEFINED ! 33: typedef int (_CDECL * _CDECL onexit_t)(); ! 34: #define _ONEXIT_T_DEFINED ! 35: #endif ! 36: ! 37: ! 38: /* Data structure definitions for div and ldiv runtimes. */ ! 39: ! 40: #ifndef _DIV_T_DEFINED ! 41: ! 42: typedef struct { ! 43: int quot; ! 44: int rem; ! 45: } div_t; ! 46: ! 47: typedef struct { ! 48: long quot; ! 49: long rem; ! 50: } ldiv_t; ! 51: ! 52: #define _DIV_T_DEFINED ! 53: #endif ! 54: ! 55: /* Maximum value that can be returned by the rand function. */ ! 56: ! 57: #define RAND_MAX 0x7fff ! 58: ! 59: ! 60: /* min and max macros */ ! 61: ! 62: #define max(a,b) (((a) > (b)) ? (a) : (b)) ! 63: #define min(a,b) (((a) < (b)) ? (a) : (b)) ! 64: ! 65: ! 66: /* sizes for buffers used by the _makepath() and _splitpath() functions. ! 67: * note that the sizes include space for 0-terminator ! 68: */ ! 69: ! 70: #define _MAX_PATH 80 /* max. length of full pathname */ ! 71: #define _MAX_DRIVE 3 /* max. length of drive component */ ! 72: #define _MAX_DIR 66 /* max. length of path component */ ! 73: #define _MAX_FNAME 9 /* max. length of file name component */ ! 74: #define _MAX_EXT 5 /* max. length of extension component */ ! 75: ! 76: /* external variable declarations */ ! 77: ! 78: extern int _NEAR _CDECL errno; /* XENIX style error number */ ! 79: extern int _NEAR _CDECL _doserrno; /* MS-DOS system error value */ ! 80: extern char * _NEAR _CDECL sys_errlist[]; /* perror error message table */ ! 81: extern int _NEAR _CDECL sys_nerr; /* # of entries in sys_errlist table */ ! 82: ! 83: extern char ** _NEAR _CDECL environ; /* pointer to environment table */ ! 84: ! 85: extern unsigned int _NEAR _CDECL _psp; /* Program Segment Prefix */ ! 86: ! 87: extern int _NEAR _CDECL _fmode; /* default file translation mode */ ! 88: ! 89: /* DOS major/minor version numbers */ ! 90: ! 91: extern unsigned char _NEAR _CDECL _osmajor; ! 92: extern unsigned char _NEAR _CDECL _osminor; ! 93: ! 94: #define DOS_MODE 0 /* Real Address Mode */ ! 95: #define OS2_MODE 1 /* Protected Address Mode */ ! 96: ! 97: extern unsigned char _NEAR _CDECL _osmode; ! 98: ! 99: ! 100: /* function prototypes */ ! 101: ! 102: void _CDECL abort(void); ! 103: int _CDECL abs(int); ! 104: int _CDECL atexit(void (_CDECL *)(void)); ! 105: double _CDECL atof(const char *); ! 106: int _CDECL atoi(const char *); ! 107: long _CDECL atol(const char *); ! 108: void * _CDECL bsearch(const void *, const void *, size_t, size_t, int (_CDECL *)(const void *, const void *)); ! 109: void * _CDECL calloc(size_t, size_t); ! 110: div_t _CDECL div(int, int); ! 111: char * _CDECL ecvt(double, int, int *, int *); ! 112: void _CDECL exit(int); ! 113: void _CDECL _exit(int); ! 114: char * _CDECL fcvt(double, int, int *, int *); ! 115: void _CDECL free(void *); ! 116: char * _CDECL gcvt(double, int, char *); ! 117: char * _CDECL getenv(const char *); ! 118: char * _CDECL itoa(int, char *, int); ! 119: long _CDECL labs(long); ! 120: ldiv_t _CDECL ldiv(long, long); ! 121: unsigned long _CDECL _lrotl(unsigned long, int); ! 122: unsigned long _CDECL _lrotr(unsigned long, int); ! 123: char * _CDECL ltoa(long, char *, int); ! 124: void _CDECL _makepath(char *, char *, char *, char *, char *); ! 125: void * _CDECL malloc(size_t); ! 126: onexit_t _CDECL onexit(onexit_t); ! 127: void _CDECL perror(const char *); ! 128: int _CDECL putenv(char *); ! 129: void _CDECL qsort(void *, size_t, size_t, int (_CDECL *)(const void *, const void *)); ! 130: unsigned int _CDECL _rotl(unsigned int, int); ! 131: unsigned int _CDECL _rotr(unsigned int, int); ! 132: int _CDECL rand(void); ! 133: void * _CDECL realloc(void *, size_t); ! 134: void _CDECL _searchenv(char *, char *, char *); ! 135: void _CDECL _splitpath(char *, char *, char *, char *, char *); ! 136: void _CDECL srand(unsigned int); ! 137: double _CDECL strtod(const char *, char **); ! 138: long _CDECL strtol(const char *, char **, int); ! 139: unsigned long _CDECL strtoul(const char *, char **, int); ! 140: void _CDECL swab(char *, char *, int); ! 141: int _CDECL system(const char *); ! 142: char * _CDECL ultoa(unsigned long, char *, int); ! 143: ! 144: #ifndef tolower /* tolower has been undefined - use function */ ! 145: int _CDECL tolower(int); ! 146: #endif /* tolower */ ! 147: ! 148: #ifndef toupper /* toupper has been undefined - use function */ ! 149: int _CDECL toupper(int); ! 150: #endif /* toupper */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.