]> git.proxmox.com Git - mirror_edk2.git/blame - StdLib/Include/stddef.h
Fix a bug about the iSCSI DHCP dependency issue.
[mirror_edk2.git] / StdLib / Include / stddef.h
CommitLineData
2aa62f2b 1/** @file\r
a430bdb1 2 Common "Standard" Definitions.\r
2aa62f2b 3\r
a430bdb1 4 The files stddef.h and stdlib.h are "catch all" headers for definitions and declarations\r
5 that don't fit well in the other headers. There are two separate header files because\r
6 the contents of <stddef.h> are valid in both freestanding and hosted environment, while the\r
7 header <stdlib.h> contains elements that are only valid in a hosted environment.\r
2aa62f2b 8\r
a430bdb1 9 This means that the elements in this file may not impose dependencies on headers other than\r
10 <float.h>, <iso646.h>, <limits.h>, <stdarg.h>, <stdbool.h>, and (of course) <sys/EfiCdefs.h>.\r
2aa62f2b 11\r
a430bdb1 12 Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>\r
13 This program and the accompanying materials are licensed and made available under\r
14 the terms and conditions of the BSD License that accompanies this distribution.\r
15 The full text of the license may be found at\r
16 http://opensource.org/licenses/bsd-license.\r
17\r
18 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
19 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
2aa62f2b 20**/\r
21#ifndef _STDDEF_H\r
22#define _STDDEF_H\r
23#include <sys/EfiCdefs.h>\r
24\r
2aa62f2b 25#ifdef _EFI_PTRDIFF_T_\r
a430bdb1 26 /** ptrdiff_t is the signed integer type of the result of subtracting two pointers. **/\r
2aa62f2b 27 typedef _EFI_PTRDIFF_T_ ptrdiff_t;\r
28 #undef _EFI_PTRDIFF_T_\r
29#endif\r
30\r
2aa62f2b 31#ifdef _EFI_SIZE_T_\r
a430bdb1 32 /** size_t is the unsigned integer type of the result of the sizeof operator. **/\r
2aa62f2b 33 typedef _EFI_SIZE_T_ size_t;\r
34 #undef _EFI_SIZE_T_\r
35 #undef _BSD_SIZE_T_\r
36#endif\r
37\r
2aa62f2b 38#ifndef __cplusplus\r
39 #ifdef _EFI_WCHAR_T\r
a430bdb1 40 /** wchar_t is an integer type whose range of values can represent distinct\r
41 codes for all members of the largest extended character set specified among\r
42 the supported locales. The null character shall have the code value zero.\r
43 **/\r
2aa62f2b 44 typedef _EFI_WCHAR_T wchar_t;\r
45 #undef _EFI_WCHAR_T\r
46 #undef _BSD_WCHAR_T_\r
47 #endif\r
48#endif\r
49\r
a430bdb1 50/** @def NULL\r
51 A macro that expands to a null pointer constant.<BR>\r
2aa62f2b 52 NULL is defined in MdePkg/Include/Base.h which is automatically included\r
53 by the EDK II build tools.\r
54**/\r
55\r
a430bdb1 56/** The offsetof macro determines the offset of the beginning of a structure\r
57 member from the beginning of the structure.\r
58\r
59 The macro expands to an integer constant expression that has type size_t,\r
60 the value of which is the offset in bytes, to the structure member (Member),\r
61 from the beginning of its structure (StrucName).\r
2aa62f2b 62\r
63 Alliased to OFFSET_OF which is defined in MdePkg/Include/Base.h which is\r
64 automatically included by the EDK II build tools.\r
65**/\r
a430bdb1 66#define offsetof(StrucName, Member) OFFSET_OF(StrucName, Member)\r
2aa62f2b 67\r
68#endif /* _STDDEF_H */\r