home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / qc25 / include / stddef.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-07-25  |  1.3 KB  |  67 lines

  1. /***
  2. *stddef.h - Definitionen/Deklarationen für häufige Konstanten, Typen und
  3. *         Variablen 
  4. *
  5. *    Copyright (c) 1985-1990, Microsoft Corporation.  Alle Rechte vorbehalten.
  6. *
  7. * Zweck:
  8. *    Diese Datei enthält Definitionen und Deklarationen für einige
  9. *    häufig benutzte Konstanten, Typen und Variablen.
  10. *    [ANSI]
  11. *
  12. ***/
  13.  
  14. #if defined(_DLL) && !defined(_MT)
  15. #error _DLL kann ohne _MT nicht definert werden
  16. #endif
  17.  
  18. #ifdef _MT
  19. #define _FAR_ _far
  20. #else
  21. #define _FAR_
  22. #endif
  23.  
  24. /* den NULL-Zeigerwert definieren und den Makro offsetof() */
  25.  
  26. #ifndef NULL
  27. #if (_MSC_VER >= 600)
  28. #define NULL    ((void *)0)
  29. #elif (defined(M_I86SM) || defined(M_I86MM))
  30. #define NULL    0
  31. #else
  32. #define NULL    0L
  33. #endif
  34. #endif
  35.  
  36. #define offsetof(s,m)    (size_t)&(((s *)0)->m)
  37.  
  38.  
  39. /* Verweise zu errno deklarieren */
  40.  
  41. #ifdef    _MT
  42. extern int _far * _cdecl _far volatile _errno(void);
  43. #define errno    (*_errno())
  44. #else
  45. extern int _near _cdecl volatile errno;
  46. #endif
  47.  
  48.  
  49. /* ausführungsabhängige Größentypen definieren */
  50.  
  51. #ifndef _PTRDIFF_T_DEFINED
  52. typedef int ptrdiff_t;
  53. #define _PTRDIFF_T_DEFINED
  54. #endif
  55.  
  56. #ifndef _SIZE_T_DEFINED
  57. typedef unsigned int size_t;
  58. #define _SIZE_T_DEFINED
  59. #endif
  60.  
  61.  
  62. #ifdef _MT
  63. /* Definition des Zeigers zum Thread-ID Wert */
  64.  
  65. extern int _far *_threadid;
  66. #endif
  67.