6 Copyright (c) 1998 Intel Corporation
23 typedef UINT16 CHAR16
;
25 typedef UINT8 BOOLEAN
;
30 #define TRUE ((BOOLEAN) 1)
31 #define FALSE ((BOOLEAN) 0)
35 #define NULL ((VOID *) 0)
38 typedef UINTN EFI_STATUS
;
39 typedef UINT64 EFI_LBA
;
40 typedef UINTN EFI_TPL
;
41 typedef VOID
*EFI_HANDLE
;
42 typedef VOID
*EFI_EVENT
;
46 // Prototype argument decoration for EFI parameters to indicate
49 // IN - argument is passed into the function
50 // OUT - argument (pointer) is returned from the function
51 // OPTIONAL - argument is optional
78 UINT16 Year
; // 1998 - 20XX
79 UINT8 Month
; // 1 - 12
82 UINT8 Minute
; // 0 - 59
83 UINT8 Second
; // 0 - 59
85 UINT32 Nanosecond
; // 0 - 999,999,999
86 INT16 TimeZone
; // -1440 to 1440 or 2047
91 // Bit definitions for EFI_TIME.Daylight
92 #define EFI_TIME_ADJUST_DAYLIGHT 0x01
93 #define EFI_TIME_IN_DAYLIGHT 0x02
95 // Value definition for EFI_TIME.TimeZone
96 #define EFI_UNSPECIFIED_TIMEZONE 0x07FF
117 UINT32 ReceivedQueueTimeoutValue
;
118 UINT32 TransmitQueueTimeoutValue
;
119 UINT16 ProtocolTypeFilter
;
120 BOOLEAN EnableUnicastReceive
;
121 BOOLEAN EnableMulticastReceive
;
122 BOOLEAN EnableBroadcastReceive
;
123 BOOLEAN EnablePromiscuousReceive
;
124 BOOLEAN FlushQueuesOnReset
;
125 BOOLEAN EnableReceiveTimestamps
;
126 BOOLEAN DisableBackgroundPolling
;
127 } EFI_MANAGED_NETWORK_CONFIG_DATA
;
133 typedef UINT64 EFI_PHYSICAL_ADDRESS
;
134 typedef UINT64 EFI_VIRTUAL_ADDRESS
;
143 //Preseve the attr on any range supplied.
144 //ConventialMemory must have WB,SR,SW when supplied.
145 //When allocating from ConventialMemory always make it WB,SR,SW
146 //When returning to ConventialMemory always make it WB,SR,SW
147 //When getting the memory map, or on RT for runtime types
151 EfiReservedMemoryType
,
156 EfiRuntimeServicesCode
,
157 EfiRuntimeServicesData
,
158 EfiConventionalMemory
,
160 EfiACPIReclaimMemory
,
163 EfiMemoryMappedIOPortSpace
,
168 // possible caching types for the memory range
169 #define EFI_MEMORY_UC 0x0000000000000001
170 #define EFI_MEMORY_WC 0x0000000000000002
171 #define EFI_MEMORY_WT 0x0000000000000004
172 #define EFI_MEMORY_WB 0x0000000000000008
173 #define EFI_MEMORY_UCE 0x0000000000000010
175 // physical memory protection on range
176 #define EFI_MEMORY_WP 0x0000000000001000
177 #define EFI_MEMORY_RP 0x0000000000002000
178 #define EFI_MEMORY_XP 0x0000000000004000
180 // range requires a runtime mapping
181 #define EFI_MEMORY_RUNTIME 0x8000000000000000
183 #define EFI_MEMORY_DESCRIPTOR_VERSION 1
185 UINT32 Type
; // Field size is 32 bits followed by 32 bit pad
187 EFI_PHYSICAL_ADDRESS PhysicalStart
; // Field size is 64 bits
188 EFI_VIRTUAL_ADDRESS VirtualStart
; // Field size is 64 bits
189 UINT64 NumberOfPages
; // Field size is 64 bits
190 UINT64 Attribute
; // Field size is 64 bits
191 } EFI_MEMORY_DESCRIPTOR
;
194 // International Language
197 typedef UINT8 ISO_639_2
;
198 #define ISO_639_2_ENTRY_SIZE 3
204 #define EFI_PAGE_SIZE 4096
205 #define EFI_PAGE_MASK 0xFFF
206 #define EFI_PAGE_SHIFT 12
208 #define EFI_SIZE_TO_PAGES(a) \
209 ( ((a) >> EFI_PAGE_SHIFT) + ((a) & EFI_PAGE_MASK ? 1 : 0) )