|
|
1.1 root 1: /***
2: *stddef.h - definitions/declarations for common constants, types, variables
3: *
4: * Copyright (c) 1985-1991, Microsoft Corporation. All rights reserved.
5: *
6: *Purpose:
7: * This file contains definitions and declarations for some commonly
8: * used constants, types, and variables.
9: * [ANSI]
10: *
11: ****/
12:
13: #ifndef _INC_STDDEF
14:
15: #ifdef __cplusplus
16: extern "C" {
17: #endif
18:
19:
20: #if (_MSC_VER <= 600)
21: #define __cdecl _cdecl
22: #endif
23:
24: /* define NULL pointer value and the offset() macro */
25:
26: #ifndef NULL
27: #ifdef __cplusplus
28: #define NULL 0
29: #else
30: #define NULL ((void *)0)
31: #endif
32: #endif
33:
34:
35: #define offsetof(s,m) (size_t)&(((s *)0)->m)
36:
37:
38: /* declare reference to errno */
39:
40: #ifdef _MT
41: extern int * _errno(void);
42: #define errno (*_errno())
43: #else
44: extern int errno;
45: #endif
46:
47:
48: /* define the implementation dependent size types */
49:
50: #ifndef _PTRDIFF_T_DEFINED
51: typedef int ptrdiff_t;
52: #define _PTRDIFF_T_DEFINED
53: #endif
54:
55: #ifndef _SIZE_T_DEFINED
56: typedef unsigned int size_t;
57: #define _SIZE_T_DEFINED
58: #endif
59:
60: #ifndef _WCHAR_T_DEFINED
61: typedef unsigned short wchar_t;
62: #define _WCHAR_T_DEFINED
63: #endif
64:
65:
66: #ifdef _MT
67:
68:
69:
70: extern unsigned long __threadid(void);
71: #define _threadid (__threadid())
72: extern unsigned long __threadhandle(void);
73: #define _threadhandle (__threadhandle())
74:
75:
76:
77: #endif
78:
79: #ifdef __cplusplus
80: }
81: #endif
82:
83: #define _INC_STDDEF
84: #endif /* _INC_STDDEF */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.