9#ifndef _UEFI_DEVICE_PATH_LIB_H_
10#define _UEFI_DEVICE_PATH_LIB_H_
27#define IS_COMMA(a) ((a) == L',')
28#define IS_HYPHEN(a) ((a) == L'-')
29#define IS_DOT(a) ((a) == L'.')
30#define IS_LEFT_PARENTH(a) ((a) == L'(')
31#define IS_RIGHT_PARENTH(a) ((a) == L')')
32#define IS_SLASH(a) ((a) == L'/')
33#define IS_NULL(a) ((a) == L'\0')
46(*DEVICE_PATH_FROM_TEXT) (
52(*DEVICE_PATH_TO_TEXT) (
55 IN BOOLEAN DisplayOnly,
56 IN BOOLEAN AllowShortcuts
62 DEVICE_PATH_TO_TEXT Function;
71 CHAR16 *DevicePathNodeText;
72 DEVICE_PATH_FROM_TEXT Function;
78 BOOLEAN SubClassExist;
82#define USB_CLASS_AUDIO 1
83#define USB_CLASS_CDCCONTROL 2
84#define USB_CLASS_HID 3
85#define USB_CLASS_IMAGE 6
86#define USB_CLASS_PRINTER 7
87#define USB_CLASS_MASS_STORAGE 8
88#define USB_CLASS_HUB 9
89#define USB_CLASS_CDCDATA 10
90#define USB_CLASS_SMART_CARD 11
91#define USB_CLASS_VIDEO 14
92#define USB_CLASS_DIAGNOSTIC 220
93#define USB_CLASS_WIRELESS 224
95#define USB_CLASS_RESERVE 254
96#define USB_SUBCLASS_FW_UPDATE 1
97#define USB_SUBCLASS_IRDA_BRIDGE 2
98#define USB_SUBCLASS_TEST 3
100#define RFC_1700_UDP_PROTOCOL 17
101#define RFC_1700_TCP_PROTOCOL 6
108 UINT8 VendorDefinedData[1];
114 UINT8 VendorDefinedData[1];
120 UINT8 VendorDefinedData[1];
128 CHAR8 HidUidCidStr[3];
133 UINT16 NetworkProtocol;
136 UINT16 TargetPortalGroupTag;
143 UINT8 VendorDefinedData[1];
343 IN UINT8 NodeSubType,
387 IN BOOLEAN DisplayOnly,
388 IN BOOLEAN AllowShortcuts
410 IN BOOLEAN DisplayOnly,
411 IN BOOLEAN AllowShortcuts
428 IN CONST CHAR16 *TextDeviceNode
446 IN CONST CHAR16 *TextDevicePath
EFI_DEVICE_PATH_PROTOCOL *EFIAPI UefiDevicePathLibAppendDevicePath(IN CONST EFI_DEVICE_PATH_PROTOCOL *FirstDevicePath OPTIONAL, IN CONST EFI_DEVICE_PATH_PROTOCOL *SecondDevicePath OPTIONAL)
UINTN EFIAPI UefiDevicePathLibGetDevicePathSize(IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath)
EFI_DEVICE_PATH_PROTOCOL *EFIAPI UefiDevicePathLibAppendDevicePathNode(IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath OPTIONAL, IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePathNode OPTIONAL)
CHAR16 *EFIAPI UefiDevicePathLibConvertDeviceNodeToText(IN CONST EFI_DEVICE_PATH_PROTOCOL *DeviceNode, IN BOOLEAN DisplayOnly, IN BOOLEAN AllowShortcuts)
EFI_DEVICE_PATH_PROTOCOL *EFIAPI UefiDevicePathLibConvertTextToDeviceNode(IN CONST CHAR16 *TextDeviceNode)
CHAR16 *EFIAPI UefiDevicePathLibConvertDevicePathToText(IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath, IN BOOLEAN DisplayOnly, IN BOOLEAN AllowShortcuts)
EFI_DEVICE_PATH_PROTOCOL *EFIAPI UefiDevicePathLibConvertTextToDevicePath(IN CONST CHAR16 *TextDevicePath)
EFI_DEVICE_PATH_PROTOCOL *EFIAPI UefiDevicePathLibAppendDevicePathInstance(IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath OPTIONAL, IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePathInstance OPTIONAL)
EFI_DEVICE_PATH_PROTOCOL *EFIAPI UefiDevicePathLibDuplicateDevicePath(IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath)
BOOLEAN EFIAPI UefiDevicePathLibIsDevicePathMultiInstance(IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath)
EFI_DEVICE_PATH_PROTOCOL *EFIAPI UefiDevicePathLibGetNextDevicePathInstance(IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath, OUT UINTN *Size)
EFI_DEVICE_PATH_PROTOCOL *EFIAPI UefiDevicePathLibCreateDeviceNode(IN UINT8 NodeType, IN UINT8 NodeSubType, IN UINT16 NodeLength)