TianoCore EDK2 master
Loading...
Searching...
No Matches
RedfishHostInterface.h
Go to the documentation of this file.
1
11#ifndef REDFISH_HOST_INTERFACE_
12#define REDFISH_HOST_INTERFACE_
13
15
16#define REDFISH_HOST_INTERFACE_DEVICE_TYPE_USB 0x02 // We don't support this type of interface.
17 // Use REDFISH_HOST_INTERFACE_DEVICE_TYPE_USB_V2 instead.
18#define REDFISH_HOST_INTERFACE_DEVICE_TYPE_PCI_PCIE 0x03 // We don't support this type of interface.
19 // Use REDFISH_HOST_INTERFACE_DEVICE_TYPE_PCI_PCIE_V2 instead.
20#define REDFISH_HOST_INTERFACE_DEVICE_TYPE_USB_V2 0x04
21#define REDFISH_HOST_INTERFACE_DEVICE_TYPE_PCI_PCIE_V2 0x05
22
23#define REDFISH_HOST_INTERFACE_HOST_IP_ASSIGNMENT_TYPE_UNKNOWN 0x00
24#define REDFISH_HOST_INTERFACE_HOST_IP_ASSIGNMENT_TYPE_STATIC 0x01
25#define REDFISH_HOST_INTERFACE_HOST_IP_ASSIGNMENT_TYPE_DHCP 0x02
26#define REDFISH_HOST_INTERFACE_HOST_IP_ASSIGNMENT_TYPE_AUTO_CONFIGURE 0x03
27#define REDFISH_HOST_INTERFACE_HOST_IP_ASSIGNMENT_TYPE_HOST_SELECTED 0x04
28
29#define REDFISH_HOST_INTERFACE_HOST_IP_ADDRESS_FORMAT_UNKNOWN 0x00
30#define REDFISH_HOST_INTERFACE_HOST_IP_ADDRESS_FORMAT_IP4 0x01
31#define REDFISH_HOST_INTERFACE_HOST_IP_ADDRESS_FORMAT_IP6 0x02
32
36typedef enum {
37 RedfishHostIpAssignmentUnknown,
38 RedfishHostIpAssignmentStatic,
39 RedfishHostIpAssignmentDhcp,
40 RedfishHostIpAssignmentAutoConfigure,
41 RedfishHostIpAssignmentHostSelected,
42 RedfishHostIpAssignmentReserved
44
45#pragma pack(1)
49typedef struct {
50 UINT8 Length;
52 UINT16 IdVendor;
54 UINT16 IdProduct;
61 UINT8 MacAddress[6];
62
69
70//
71// Structure definitions of Host Interface device type 05h (PCI/PCIE V2)
72//
73typedef struct {
74 UINT8 Length;
75 UINT16 VendorId;
76 UINT16 DeviceId;
78 UINT16 SubsystemId;
79 UINT8 MacAddress[6];
81 UINT8 BusNumber;
84
88typedef struct {
89 UINT32 VendorIana;
90 UINT8 OemDefinedData[1];
92
96#define USB_INTERFACE_DEVICE_DESCRIPTOR_V2_SIZE_1_3 0x11
98#define USB_INTERFACE_DEVICE_DESCRIPTOR_V2_SIZE_1_2 0x0d
100typedef union {
105
112typedef struct {
116
117//
118// the protocol-specific data for the "Redfish Over IP" protocol
119//
120typedef struct {
121 EFI_GUID ServiceUuid; // same as Redfish Service UUID in Redfish Service Root resource
122
123 //
124 // Unknown=00h,
125 // Static=01h,
126 // DHCP=02h,
127 // AutoConfigure=03h,
128 // HostSelected=04h,
129 // other values reserved
130 //
131 UINT8 HostIpAssignmentType;
132
133 //
134 // Unknown=00h,
135 // Ipv4=01h,
136 // Ipv6=02h,
137 // other values reserved
138 //
139 UINT8 HostIpAddressFormat;
140
141 //
142 // Used for Static and AutoConfigure.
143 // For IPV4, use the first 4 Bytes and zero fill the remaining bytes.
144 //
145 UINT8 HostIpAddress[16];
146
147 //
148 // Used for Static and AutoConfigure.
149 // For IPV4, use the first 4 Bytes and zero fill the remaining bytes.
150 //
151 UINT8 HostIpMask[16];
152
153 //
154 // Unknown=00h,
155 // Static=01h,
156 // DHCP=02h,
157 // AutoConfigure=03h,
158 // HostSelected=04h,
159 // other values reserved
160 //
161 UINT8 RedfishServiceIpDiscoveryType;
162
163 //
164 // Unknown=00h,
165 // Ipv4=01h,
166 // Ipv6=02h,
167 // other values reserved
168 //
169 UINT8 RedfishServiceIpAddressFormat;
170
171 //
172 // Used for Static and AutoConfigure.
173 // For IPV4, use the first 4 Bytes and zero fill the remaining bytes.
174 //
175 UINT8 RedfishServiceIpAddress[16];
176
177 //
178 // Used for Static and AutoConfigure.
179 // For IPV4, use the first 4 Bytes and zero fill the remaining bytes.
180 //
181 UINT8 RedfishServiceIpMask[16];
182
183 UINT16 RedfishServiceIpPort; // Used for Static and AutoConfigure.
184 UINT32 RedfishServiceVlanId; // Used for Static and AutoConfigure.
185 UINT8 RedfishServiceHostnameLength; // length of the following hostname string
186 UINT8 RedfishServiceHostname[1]; // hostname of Redfish Service
188
189#pragma pack()
190
191#endif
REDFISH_HOST_IP_ASSIGNMENT
Definition: Base.h:213
UINT32 VendorIana
The IANA code for the vendor (MSB first).
UINT16 VendorId
The Vendor ID of the PCI/PCIe device.
UINT8 Length
Length of the structure, including Device Type and Length fields.
UINT8 BusNumber
The Bus Number of the PCI/PCIe device.
UINT16 DeviceId
The Device ID of the PCI/PCIe device.
UINT16 SubsystemVendorId
The Subsystem Vendor ID of the PCI/PCIe device.
UINT16 SubsystemId
The Subsystem ID of the PCI/PCIe device.
UINT8 DeviceFunctionNumber
The Device/Function Number of the PCI/PCIe.
UINT16 SegmemtGroupNumber
The Segment Group Number of the PCI/PCIe.
Device descriptor data formated based on Device Type.
DEVICE_DESCRITOR DeviceDescriptor
The Device descriptor.
UINT8 DeviceType
The Device Type of the interface.
UINT16 CredentialBootstrappingHandle
Credential bootstrapping handle.
UINT16 Characteristics
Additional device characteristics.
OEM_DEVICE_DESCRIPTOR OemDevice
OEM type device discriptor.
PCI_OR_PCIE_INTERFACE_DEVICE_DESCRIPTOR_V2 PciPcieDeviceV2
Device type PCI/PCIe V2 device discriptor.
USB_INTERFACE_DEVICE_DESCRIPTOR_V2 UsbDeviceV2
Device type USB V2 device discriptor.