home *** CD-ROM | disk | FTP | other *** search
- /* Standard utility functions */
-
- #ifndef _STDDEF
- typedef int ptrdiff_t; /* result type of pointer difference */
- typedef unsigned size_t; /* type yielded by sizeof */
- typedef unsigned short wchar_t; /* wide char type */
-
- #define offsetof(ty, mem) ((int)&(((ty *)0)->mem))
-
- #define _STDDEF
-
- #ifndef NULL
- #define NULL ((void *)0)
- #endif NULL
-
- extern int errno; /* system error number */
- #endif _STDDEF
-
- #define RAND_MAX 32767 /* max value returned by rand() */
-
- extern double atof(char *);
- extern int atoi(char *);
- extern unsigned xtoi(char *);
- extern long atol(char *);
- extern int rand(void);
- extern void srand(unsigned int);
- extern void * calloc(size_t, size_t);
-
- #if i8086 && !FLAT_MODEL
- #ifndef _STDLIB_
- #define _STDLIB_
- enum { _NO_EMS = 0, _USE_EMS };
- #endif
- #endif
-
- #if i8086 && LARGE_DATA
- extern void * malloc(size_t);
- extern void free(far void *);
- extern void * realloc(far void *, size_t);
- extern void * farmemcpy(far void *, far void *, size_t);
- extern void * farmemset(far void *, int, size_t);
- extern void * _far_alloc(size_t, char);
- extern void * _far_sbrk(size_t, char);
- #define farmalloc(n) _far_alloc(n, _USE_EMS)
- #define farfree(p) free(p)
- #define farrealloc(p,n) realloc(p,n)
- #define _non_ems_alloc(x) _far_alloc(x, _NO_EMS)
- #define _non_ems_sbrk(x) _far_sbrk(x, _NO_EMS)
- #else
- extern void * malloc(size_t);
- extern void free(void *);
- extern void * realloc(void *, size_t);
- #define _non_ems_alloc(x) malloc(x)
- #define _non_ems_sbrk(x) sbrk(x)
- #if i8086 && !FLAT_MODEL
- extern far void * _far_alloc(size_t, char);
- extern far void * _far_sbrk(size_t, char);
- #define farmalloc(n) _far_alloc(n, _USE_EMS)
- extern void farfree(far void *);
- extern far void * farrealloc(far void *, size_t);
- extern far void * farmemcpy(far void *, far void *, size_t);
- extern far void * farmemset(far void *, int, size_t);
- #endif /* i8086 */
- #endif /* i8086 && LARGE_DATA */
-
- extern void abort(void);
- extern void exit(int);
- extern int atexit(void (*)(void));
- extern char * getenv(char *);
- extern char ** environ;
- extern int system(char *);
- extern void qsort(void *, size_t, size_t, int (*)(void *, void *));
- extern void * bsearch(const void *, void *, size_t, size_t, int(*)(const void *, const void *));
- extern int abs(int);
- extern long labs(long);
-