DevicePath.h

Go to the documentation of this file.
00001 /** @file
00002   The device path protocol as defined in UEFI 2.0.
00003 
00004   The device path represents a programatic path to a device. It's the view
00005   from a software point of view. It also must persist from boot to boot, so
00006   it can not contain things like PCI bus numbers that change from boot to boot.
00007 
00008   Copyright (c) 2006 - 2008, Intel Corporation
00009   All rights reserved. This program and the accompanying materials
00010   are licensed and made available under the terms and conditions of the BSD License
00011   which accompanies this distribution.  The full text of the license may be found at
00012   http://opensource.org/licenses/bsd-license.php
00013 
00014   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
00015   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
00016 
00017 **/
00018 
00019 #ifndef __EFI_DEVICE_PATH_PROTOCOL_H__
00020 #define __EFI_DEVICE_PATH_PROTOCOL_H__
00021 
00022 #include <gpxe/efi/Guid/PcAnsi.h>
00023 
00024 ///
00025 /// Device Path protocol
00026 ///
00027 #define EFI_DEVICE_PATH_PROTOCOL_GUID \
00028   { \
00029     0x9576e91, 0x6d3f, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
00030   }
00031 
00032 //
00033 // Protocol GUID defined in EFI1.1.
00034 //
00035 
00036 ///
00037 /// Device Path information
00038 ///
00039 #define DEVICE_PATH_PROTOCOL  EFI_DEVICE_PATH_PROTOCOL_GUID
00040 
00041 #pragma pack(1)
00042 
00043 /**
00044   This protocol can be used on any device handle to obtain generic path/location
00045   information concerning the physical device or logical device. If the handle does
00046   not logically map to a physical device, the handle may not necessarily support
00047   the device path protocol. The device path describes the location of the device
00048   the handle is for. The size of the Device Path can be determined from the structures
00049   that make up the Device Path.
00050 **/
00051 typedef struct {
00052   UINT8 Type;       ///< 0x01 Hardware Device Path
00053                     ///< 0x02 ACPI Device Path
00054                     ///< 0x03 Messaging Device Path
00055                     ///< 0x04 Media Device Path
00056                     ///< 0x05 BIOS Boot Specification Device Path
00057                     ///< 0x7F End of Hardware Device Path
00058 
00059   UINT8 SubType;    ///< Varies by Type
00060                     ///< 0xFF End Entire Device Path, or
00061                     ///< 0x01 End This Instance of a Device Path and start a new
00062                     ///< Device Path
00063 
00064   UINT8 Length[2];  ///< Specific Device Path data. Type and Sub-Type define
00065                     ///< type of data. Size of data is included in Length.
00066 
00067 } EFI_DEVICE_PATH_PROTOCOL;
00068 
00069 ///
00070 /// For backward-compatible with EFI1.1.
00071 ///
00072 typedef EFI_DEVICE_PATH_PROTOCOL  EFI_DEVICE_PATH;
00073 
00074 ///
00075 /// Hardware Device Paths
00076 ///
00077 #define HARDWARE_DEVICE_PATH      0x01
00078 
00079 #define HW_PCI_DP                 0x01
00080 typedef struct {
00081   EFI_DEVICE_PATH_PROTOCOL        Header;
00082   UINT8                           Function;
00083   UINT8                           Device;
00084 } PCI_DEVICE_PATH;
00085 
00086 #define HW_PCCARD_DP              0x02
00087 typedef struct {
00088   EFI_DEVICE_PATH_PROTOCOL        Header;
00089   UINT8                           FunctionNumber;
00090 } PCCARD_DEVICE_PATH;
00091 
00092 #define HW_MEMMAP_DP              0x03
00093 typedef struct {
00094   EFI_DEVICE_PATH_PROTOCOL        Header;
00095   UINT32                          MemoryType;
00096   EFI_PHYSICAL_ADDRESS            StartingAddress;
00097   EFI_PHYSICAL_ADDRESS            EndingAddress;
00098 } MEMMAP_DEVICE_PATH;
00099 
00100 #define HW_VENDOR_DP              0x04
00101 typedef struct {
00102   EFI_DEVICE_PATH_PROTOCOL        Header;
00103   EFI_GUID                        Guid;
00104 } VENDOR_DEVICE_PATH;
00105 
00106 #define HW_CONTROLLER_DP          0x05
00107 typedef struct {
00108   EFI_DEVICE_PATH_PROTOCOL        Header;
00109   UINT32                          ControllerNumber;
00110 } CONTROLLER_DEVICE_PATH;
00111 
00112 ///
00113 /// ACPI Device Paths
00114 ///
00115 #define ACPI_DEVICE_PATH          0x02
00116 
00117 #define ACPI_DP                   0x01
00118 typedef struct {
00119   EFI_DEVICE_PATH_PROTOCOL        Header;
00120   UINT32                          HID;
00121   UINT32                          UID;
00122 } ACPI_HID_DEVICE_PATH;
00123 
00124 #define ACPI_EXTENDED_DP          0x02
00125 typedef struct {
00126   EFI_DEVICE_PATH_PROTOCOL        Header;
00127   UINT32                          HID;
00128   UINT32                          UID;
00129   UINT32                          CID;
00130   ///
00131   /// Optional variable length _HIDSTR
00132   /// Optional variable length _UIDSTR
00133   /// Optional variable length _CIDSTR
00134   ///
00135 } ACPI_EXTENDED_HID_DEVICE_PATH;
00136 
00137 //
00138 //  EISA ID Macro
00139 //  EISA ID Definition 32-bits
00140 //   bits[15:0] - three character compressed ASCII EISA ID.
00141 //   bits[31:16] - binary number
00142 //    Compressed ASCII is 5 bits per character 0b00001 = 'A' 0b11010 = 'Z'
00143 //
00144 #define PNP_EISA_ID_CONST         0x41d0
00145 #define EISA_ID(_Name, _Num)      ((UINT32)((_Name) | (_Num) << 16))
00146 #define EISA_PNP_ID(_PNPId)       (EISA_ID(PNP_EISA_ID_CONST, (_PNPId)))
00147 #define EFI_PNP_ID(_PNPId)        (EISA_ID(PNP_EISA_ID_CONST, (_PNPId)))
00148 
00149 #define PNP_EISA_ID_MASK          0xffff
00150 #define EISA_ID_TO_NUM(_Id)       ((_Id) >> 16)
00151 
00152 
00153 #define ACPI_ADR_DP               0x03
00154 typedef struct {
00155   EFI_DEVICE_PATH_PROTOCOL        Header;
00156   UINT32                          ADR;
00157 } ACPI_ADR_DEVICE_PATH;
00158 
00159 #define ACPI_ADR_DISPLAY_TYPE_OTHER             0
00160 #define ACPI_ADR_DISPLAY_TYPE_VGA               1
00161 #define ACPI_ADR_DISPLAY_TYPE_TV                2
00162 #define ACPI_ADR_DISPLAY_TYPE_EXTERNAL_DIGITAL  3
00163 #define ACPI_ADR_DISPLAY_TYPE_INTERNAL_DIGITAL  4
00164 
00165 #define ACPI_DISPLAY_ADR(_DeviceIdScheme, _HeadId, _NonVgaOutput, _BiosCanDetect, _VendorInfo, _Type, _Port, _Index) \
00166           ((UINT32)( (((_DeviceIdScheme) & 0x1) << 31) |  \
00167                       (((_HeadId)         & 0x7) << 18) |  \
00168                       (((_NonVgaOutput)   & 0x1) << 17) |  \
00169                       (((_BiosCanDetect)  & 0x1) << 16) |  \
00170                       (((_VendorInfo)     & 0xf) << 12) |  \
00171                       (((_Type)           & 0xf) << 8)  |  \
00172                       (((_Port)           & 0xf) << 4)  |  \
00173                        ((_Index)          & 0xf) ))
00174 
00175 ///
00176 /// Messaging Device Paths
00177 ///
00178 #define MESSAGING_DEVICE_PATH     0x03
00179 
00180 #define MSG_ATAPI_DP              0x01
00181 typedef struct {
00182   EFI_DEVICE_PATH_PROTOCOL        Header;
00183   UINT8                           PrimarySecondary;
00184   UINT8                           SlaveMaster;
00185   UINT16                          Lun;
00186 } ATAPI_DEVICE_PATH;
00187 
00188 #define MSG_SCSI_DP               0x02
00189 typedef struct {
00190   EFI_DEVICE_PATH_PROTOCOL        Header;
00191   UINT16                          Pun;
00192   UINT16                          Lun;
00193 } SCSI_DEVICE_PATH;
00194 
00195 #define MSG_FIBRECHANNEL_DP       0x03
00196 typedef struct {
00197   EFI_DEVICE_PATH_PROTOCOL        Header;
00198   UINT32                          Reserved;
00199   UINT64                          WWN;
00200   UINT64                          Lun;
00201 } FIBRECHANNEL_DEVICE_PATH;
00202 
00203 #define MSG_1394_DP               0x04
00204 typedef struct {
00205   EFI_DEVICE_PATH_PROTOCOL        Header;
00206   UINT32                          Reserved;
00207   UINT64                          Guid;
00208 } F1394_DEVICE_PATH;
00209 
00210 #define MSG_USB_DP                0x05
00211 typedef struct {
00212     EFI_DEVICE_PATH_PROTOCOL      Header;
00213     UINT8                         ParentPortNumber;
00214     UINT8                         InterfaceNumber;
00215 } USB_DEVICE_PATH;
00216 
00217 #define MSG_USB_CLASS_DP          0x0f
00218 typedef struct {
00219     EFI_DEVICE_PATH_PROTOCOL      Header;
00220     UINT16                        VendorId;
00221     UINT16                        ProductId;
00222     UINT8                         DeviceClass;
00223     UINT8                         DeviceSubClass;
00224     UINT8                         DeviceProtocol;
00225 } USB_CLASS_DEVICE_PATH;
00226 
00227 #define MSG_USB_WWID_DP           0x10
00228 typedef struct {
00229     EFI_DEVICE_PATH_PROTOCOL      Header;
00230     UINT16                        InterfaceNumber;
00231     UINT16                        VendorId;
00232     UINT16                        ProductId;
00233     // CHAR16                     SerialNumber[...];
00234 } USB_WWID_DEVICE_PATH;
00235 
00236 
00237 #define MSG_DEVICE_LOGICAL_UNIT_DP  0x11
00238 typedef struct {
00239     EFI_DEVICE_PATH_PROTOCOL      Header;
00240     UINT8                         Lun;
00241 } DEVICE_LOGICAL_UNIT_DEVICE_PATH;
00242 
00243 #define MSG_SATA_DP               0x12
00244 typedef struct {
00245   EFI_DEVICE_PATH_PROTOCOL        Header;
00246   UINT16                          HBAPortNumber;
00247   UINT16                          PortMultiplierPortNumber;
00248   UINT16                          Lun;
00249 } SATA_DEVICE_PATH;
00250 
00251 #define MSG_I2O_DP                0x06
00252 typedef struct {
00253   EFI_DEVICE_PATH_PROTOCOL        Header;
00254   UINT32                          Tid;
00255 } I2O_DEVICE_PATH;
00256 
00257 #define MSG_MAC_ADDR_DP           0x0b
00258 typedef struct {
00259   EFI_DEVICE_PATH_PROTOCOL        Header;
00260   EFI_MAC_ADDRESS                 MacAddress;
00261   UINT8                           IfType;
00262 } MAC_ADDR_DEVICE_PATH;
00263 
00264 #define MSG_IPv4_DP               0x0c
00265 typedef struct {
00266   EFI_DEVICE_PATH_PROTOCOL        Header;
00267   EFI_IPv4_ADDRESS                LocalIpAddress;
00268   EFI_IPv4_ADDRESS                RemoteIpAddress;
00269   UINT16                          LocalPort;
00270   UINT16                          RemotePort;
00271   UINT16                          Protocol;
00272   BOOLEAN                         StaticIpAddress;
00273 } IPv4_DEVICE_PATH;
00274 
00275 #define MSG_IPv6_DP               0x0d
00276 typedef struct {
00277   EFI_DEVICE_PATH_PROTOCOL        Header;
00278   EFI_IPv6_ADDRESS                LocalIpAddress;
00279   EFI_IPv6_ADDRESS                RemoteIpAddress;
00280   UINT16                          LocalPort;
00281   UINT16                          RemotePort;
00282   UINT16                          Protocol;
00283   BOOLEAN                         StaticIpAddress;
00284 } IPv6_DEVICE_PATH;
00285 
00286 #define MSG_INFINIBAND_DP         0x09
00287 typedef struct {
00288   EFI_DEVICE_PATH_PROTOCOL        Header;
00289   UINT32                          ResourceFlags;
00290   UINT8                           PortGid[16];
00291   UINT64                          ServiceId;
00292   UINT64                          TargetPortId;
00293   UINT64                          DeviceId;
00294 } INFINIBAND_DEVICE_PATH;
00295 
00296 #define INFINIBAND_RESOURCE_FLAG_IOC_SERVICE                0x01
00297 #define INFINIBAND_RESOURCE_FLAG_EXTENDED_BOOT_ENVIRONMENT  0x02
00298 #define INFINIBAND_RESOURCE_FLAG_CONSOLE_PROTOCOL           0x04
00299 #define INFINIBAND_RESOURCE_FLAG_STORAGE_PROTOCOL           0x08
00300 #define INFINIBAND_RESOURCE_FLAG_NETWORK_PROTOCOL           0x10
00301 
00302 #define MSG_UART_DP               0x0e
00303 typedef struct {
00304   EFI_DEVICE_PATH_PROTOCOL        Header;
00305   UINT32                          Reserved;
00306   UINT64                          BaudRate;
00307   UINT8                           DataBits;
00308   UINT8                           Parity;
00309   UINT8                           StopBits;
00310 } UART_DEVICE_PATH;
00311 
00312 //
00313 // Use VENDOR_DEVICE_PATH struct
00314 //
00315 #define MSG_VENDOR_DP             0x0a
00316 typedef VENDOR_DEVICE_PATH        VENDOR_DEFINED_DEVICE_PATH;
00317 
00318 #define DEVICE_PATH_MESSAGING_PC_ANSI     EFI_PC_ANSI_GUID
00319 #define DEVICE_PATH_MESSAGING_VT_100      EFI_VT_100_GUID
00320 #define DEVICE_PATH_MESSAGING_VT_100_PLUS EFI_VT_100_PLUS_GUID
00321 #define DEVICE_PATH_MESSAGING_VT_UTF8     EFI_VT_UTF8_GUID
00322 
00323 #define DEVICE_PATH_MESSAGING_UART_FLOW_CONTROL   EFI_UART_DEVICE_PATH_GUID
00324 
00325 typedef struct {
00326   EFI_DEVICE_PATH_PROTOCOL        Header;
00327   EFI_GUID                        Guid;
00328   UINT32                          FlowControlMap;
00329 } UART_FLOW_CONTROL_DEVICE_PATH;
00330 
00331 #define DEVICE_PATH_MESSAGING_SAS                 EFI_SAS_DEVICE_PATH_GUID
00332 
00333 typedef struct {
00334   EFI_DEVICE_PATH_PROTOCOL        Header;
00335   EFI_GUID                        Guid;
00336   UINT32                          Reserved;
00337   UINT64                          SasAddress;
00338   UINT64                          Lun;
00339   UINT16                          DeviceTopology;
00340   UINT16                          RelativeTargetPort;
00341 } SAS_DEVICE_PATH;
00342 
00343 #define MSG_ISCSI_DP              0x13
00344 typedef struct {
00345   EFI_DEVICE_PATH_PROTOCOL        Header;
00346   UINT16                          NetworkProtocol;
00347   UINT16                          LoginOption;
00348   UINT64                          Lun;
00349   UINT16                          TargetPortalGroupTag;
00350   // CHAR8                        iSCSI Target Name
00351 } ISCSI_DEVICE_PATH;
00352 
00353 #define ISCSI_LOGIN_OPTION_NO_HEADER_DIGEST             0x0000
00354 #define ISCSI_LOGIN_OPTION_HEADER_DIGEST_USING_CRC32C   0x0002
00355 #define ISCSI_LOGIN_OPTION_NO_DATA_DIGEST               0x0000
00356 #define ISCSI_LOGIN_OPTION_DATA_DIGEST_USING_CRC32C     0x0008
00357 #define ISCSI_LOGIN_OPTION_AUTHMETHOD_CHAP              0x0000
00358 #define ISCSI_LOGIN_OPTION_AUTHMETHOD_NON               0x1000
00359 #define ISCSI_LOGIN_OPTION_CHAP_BI                      0x0000
00360 #define ISCSI_LOGIN_OPTION_CHAP_UNI                     0x2000
00361 
00362 //
00363 // Media Device Path
00364 //
00365 #define MEDIA_DEVICE_PATH         0x04
00366 
00367 #define MEDIA_HARDDRIVE_DP        0x01
00368 typedef struct {
00369   EFI_DEVICE_PATH_PROTOCOL        Header;
00370   UINT32                          PartitionNumber;
00371   UINT64                          PartitionStart;
00372   UINT64                          PartitionSize;
00373   UINT8                           Signature[16];
00374   UINT8                           MBRType;
00375   UINT8                           SignatureType;
00376 } HARDDRIVE_DEVICE_PATH;
00377 
00378 #define MBR_TYPE_PCAT             0x01
00379 #define MBR_TYPE_EFI_PARTITION_TABLE_HEADER 0x02
00380 
00381 #define SIGNATURE_TYPE_MBR        0x01
00382 #define SIGNATURE_TYPE_GUID       0x02
00383 
00384 #define MEDIA_CDROM_DP            0x02
00385 typedef struct {
00386   EFI_DEVICE_PATH_PROTOCOL        Header;
00387   UINT32                          BootEntry;
00388   UINT64                          PartitionStart;
00389   UINT64                          PartitionSize;
00390 } CDROM_DEVICE_PATH;
00391 
00392 //
00393 // Use VENDOR_DEVICE_PATH struct
00394 //
00395 #define MEDIA_VENDOR_DP           0x03
00396 
00397 #define MEDIA_FILEPATH_DP         0x04
00398 typedef struct {
00399   EFI_DEVICE_PATH_PROTOCOL        Header;
00400   CHAR16                          PathName[1];
00401 } FILEPATH_DEVICE_PATH;
00402 
00403 #define SIZE_OF_FILEPATH_DEVICE_PATH  EFI_FIELD_OFFSET(FILEPATH_DEVICE_PATH,PathName)
00404 
00405 #define MEDIA_PROTOCOL_DP         0x05
00406 typedef struct {
00407   EFI_DEVICE_PATH_PROTOCOL        Header;
00408   EFI_GUID                        Protocol;
00409 } MEDIA_PROTOCOL_DEVICE_PATH;
00410 
00411 
00412 #define MEDIA_PIWG_FW_VOL_DP      0x7
00413 typedef struct {
00414   EFI_DEVICE_PATH_PROTOCOL        Header;
00415   EFI_GUID                        FvName;
00416 } MEDIA_FW_VOL_DEVICE_PATH;
00417 
00418 
00419 #define MEDIA_PIWG_FW_FILE_DP     0x6
00420 typedef struct {
00421   EFI_DEVICE_PATH_PROTOCOL        Header;
00422   EFI_GUID                        FvFileName;
00423 } MEDIA_FW_VOL_FILEPATH_DEVICE_PATH;
00424 
00425 //
00426 // BBS Device Path
00427 //
00428 #define BBS_DEVICE_PATH           0x05
00429 #define BBS_BBS_DP                0x01
00430 typedef struct {
00431   EFI_DEVICE_PATH_PROTOCOL        Header;
00432   UINT16                          DeviceType;
00433   UINT16                          StatusFlag;
00434   CHAR8                           String[1];
00435 } BBS_BBS_DEVICE_PATH;
00436 
00437 //
00438 // DeviceType definitions - from BBS specification
00439 //
00440 #define BBS_TYPE_FLOPPY           0x01
00441 #define BBS_TYPE_HARDDRIVE        0x02
00442 #define BBS_TYPE_CDROM            0x03
00443 #define BBS_TYPE_PCMCIA           0x04
00444 #define BBS_TYPE_USB              0x05
00445 #define BBS_TYPE_EMBEDDED_NETWORK 0x06
00446 #define BBS_TYPE_BEV              0x80
00447 #define BBS_TYPE_UNKNOWN          0xFF
00448 
00449 
00450 ///
00451 /// Union of all possible Device Paths and pointers to Device Paths
00452 ///
00453 
00454 typedef union {
00455   EFI_DEVICE_PATH_PROTOCOL             DevPath;
00456   PCI_DEVICE_PATH                      Pci;
00457   PCCARD_DEVICE_PATH                   PcCard;
00458   MEMMAP_DEVICE_PATH                   MemMap;
00459   VENDOR_DEVICE_PATH                   Vendor;
00460 
00461   CONTROLLER_DEVICE_PATH               Controller;
00462   ACPI_HID_DEVICE_PATH                 Acpi;
00463 
00464   ATAPI_DEVICE_PATH                    Atapi;
00465   SCSI_DEVICE_PATH                     Scsi;
00466   ISCSI_DEVICE_PATH                    Iscsi;
00467   FIBRECHANNEL_DEVICE_PATH             FibreChannel;
00468 
00469   F1394_DEVICE_PATH                    F1394;
00470   USB_DEVICE_PATH                      Usb;
00471   SATA_DEVICE_PATH                     Sata;
00472   USB_CLASS_DEVICE_PATH                UsbClass;
00473   I2O_DEVICE_PATH                      I2O;
00474   MAC_ADDR_DEVICE_PATH                 MacAddr;
00475   IPv4_DEVICE_PATH                     Ipv4;
00476   IPv6_DEVICE_PATH                     Ipv6;
00477   INFINIBAND_DEVICE_PATH               InfiniBand;
00478   UART_DEVICE_PATH                     Uart;
00479 
00480   HARDDRIVE_DEVICE_PATH                HardDrive;
00481   CDROM_DEVICE_PATH                    CD;
00482 
00483   FILEPATH_DEVICE_PATH                 FilePath;
00484   MEDIA_PROTOCOL_DEVICE_PATH           MediaProtocol;
00485 
00486   BBS_BBS_DEVICE_PATH                  Bbs;
00487 } EFI_DEV_PATH;
00488 
00489 
00490 
00491 typedef union {
00492   EFI_DEVICE_PATH_PROTOCOL             *DevPath;
00493   PCI_DEVICE_PATH                      *Pci;
00494   PCCARD_DEVICE_PATH                   *PcCard;
00495   MEMMAP_DEVICE_PATH                   *MemMap;
00496   VENDOR_DEVICE_PATH                   *Vendor;
00497 
00498   CONTROLLER_DEVICE_PATH               *Controller;
00499   ACPI_HID_DEVICE_PATH                 *Acpi;
00500   ACPI_EXTENDED_HID_DEVICE_PATH        *ExtendedAcpi;
00501 
00502   ATAPI_DEVICE_PATH                    *Atapi;
00503   SCSI_DEVICE_PATH                     *Scsi;
00504   FIBRECHANNEL_DEVICE_PATH             *FibreChannel;
00505 
00506   F1394_DEVICE_PATH                    *F1394;
00507   USB_DEVICE_PATH                      *Usb;
00508   SATA_DEVICE_PATH                     *Sata;
00509   USB_CLASS_DEVICE_PATH                *UsbClass;
00510   I2O_DEVICE_PATH                      *I2O;
00511   MAC_ADDR_DEVICE_PATH                 *MacAddr;
00512   IPv4_DEVICE_PATH                     *Ipv4;
00513   IPv6_DEVICE_PATH                     *Ipv6;
00514   INFINIBAND_DEVICE_PATH               *InfiniBand;
00515   UART_DEVICE_PATH                     *Uart;
00516 
00517   HARDDRIVE_DEVICE_PATH                *HardDrive;
00518   CDROM_DEVICE_PATH                    *CD;
00519 
00520   FILEPATH_DEVICE_PATH                 *FilePath;
00521   MEDIA_PROTOCOL_DEVICE_PATH           *MediaProtocol;
00522 
00523   BBS_BBS_DEVICE_PATH                  *Bbs;
00524   UINT8                                *Raw;
00525 } EFI_DEV_PATH_PTR;
00526 
00527 #pragma pack()
00528 
00529 #define END_DEVICE_PATH_TYPE                 0x7f
00530 #define END_ENTIRE_DEVICE_PATH_SUBTYPE       0xFF
00531 #define END_INSTANCE_DEVICE_PATH_SUBTYPE     0x01
00532 
00533 extern EFI_GUID gEfiDevicePathProtocolGuid;
00534 
00535 #endif

Generated on Tue Apr 6 20:01:07 2010 for gPXE by  doxygen 1.5.7.1