home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / SIMTEL / HITECH-C / Z8051H83.EXE / STDLIB.H < prev    next >
C/C++ Source or Header  |  1993-05-21  |  2KB  |  76 lines

  1. /*    Standard utility functions */
  2.  
  3. #ifndef    _STDDEF
  4. typedef    int        ptrdiff_t;    /* result type of pointer difference */
  5. typedef    unsigned    size_t;        /* type yielded by sizeof */
  6. typedef unsigned short    wchar_t;    /* wide char type */
  7.  
  8. #define    offsetof(ty, mem)    ((int)&(((ty *)0)->mem))
  9.  
  10. #define    _STDDEF
  11.  
  12. #ifndef    NULL
  13. #define    NULL    ((void *)0)
  14. #endif    NULL
  15.  
  16. extern int    errno;            /* system error number */
  17. #endif    _STDDEF
  18.  
  19. #define    RAND_MAX    32767        /* max value returned by rand() */
  20.  
  21. extern double    atof(char *);
  22. extern int    atoi(char *);
  23. extern unsigned    xtoi(char *);
  24. extern long    atol(char *);
  25. extern int    rand(void);
  26. extern void    srand(unsigned int);
  27. extern void *    calloc(size_t, size_t);
  28.  
  29. #if    i8086 && !FLAT_MODEL
  30. #ifndef    _STDLIB_
  31. #define    _STDLIB_
  32. enum {    _NO_EMS = 0, _USE_EMS };
  33. #endif
  34. #endif
  35.  
  36. #if    i8086 && LARGE_DATA
  37. extern void *    malloc(size_t);
  38. extern void    free(far void *);
  39. extern void *    realloc(far void *, size_t);
  40. extern void *    farmemcpy(far void *, far void *, size_t);
  41. extern void *    farmemset(far void *, int, size_t);
  42. extern void *    _far_alloc(size_t, char);
  43. extern void *    _far_sbrk(size_t, char);
  44. #define    farmalloc(n)    _far_alloc(n, _USE_EMS)
  45. #define    farfree(p)    free(p)
  46. #define    farrealloc(p,n)    realloc(p,n)
  47. #define    _non_ems_alloc(x)    _far_alloc(x, _NO_EMS)
  48. #define    _non_ems_sbrk(x)    _far_sbrk(x, _NO_EMS)
  49. #else
  50. extern void *        malloc(size_t);
  51. extern void        free(void *);
  52. extern void *        realloc(void *, size_t);
  53. #define    _non_ems_alloc(x)    malloc(x)
  54. #define    _non_ems_sbrk(x)    sbrk(x)
  55. #if    i8086 && !FLAT_MODEL
  56. extern far void *    _far_alloc(size_t, char);
  57. extern far void *    _far_sbrk(size_t, char);
  58. #define    farmalloc(n)    _far_alloc(n, _USE_EMS)
  59. extern void        farfree(far void *);
  60. extern far void *    farrealloc(far void *, size_t);
  61. extern far void *    farmemcpy(far void *, far void *, size_t);
  62. extern far void *    farmemset(far void *, int, size_t);
  63. #endif    /* i8086 */
  64. #endif    /* i8086 && LARGE_DATA */
  65.  
  66. extern void    abort(void);
  67. extern void    exit(int);
  68. extern int    atexit(void (*)(void));
  69. extern char *    getenv(char *);
  70. extern char **    environ;
  71. extern int    system(char *);
  72. extern void    qsort(void *, size_t, size_t, int (*)(void *, void *));
  73. extern void *    bsearch(const void *, void *, size_t, size_t, int(*)(const void *, const void *));
  74. extern int    abs(int);
  75. extern long    labs(long);
  76.