--- /dev/null
+/** @file\r
+ This library defines the UEFI device path data of network device for REST\r
+ service to decide which should be used as the Redfish host interface.\r
+\r
+ Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>\r
+ (C) Copyright 2020 Hewlett Packard Enterprise Development LP<BR>\r
+\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+**/\r
+\r
+#ifndef REST_EX_SERVICE_DEVICE_PATH_H_\r
+#define REST_EX_SERVICE_DEVICE_PATH_H_\r
+\r
+#include <Protocol/DevicePath.h>\r
+\r
+typedef enum {\r
+ DEVICE_PATH_MATCH_MAC_NODE = 1,\r
+ DEVICE_PATH_MATCH_PCI_NODE = 2,\r
+ DEVICE_PATH_MATCH_MODE_MAX\r
+} DEVICE_PATH_MATCH_MODE;\r
+\r
+typedef struct {\r
+ UINT32 DevicePathMatchMode;\r
+ UINT32 DevicePathNum;\r
+ //\r
+ // Example:\r
+ // {DEVICE_PATH("PciRoot(0)/Pci(0,0)/MAC(005056C00002,0x1)")}\r
+ // DevicePath will be parsed as below:\r
+ // {0x02,0x01,0x0c,0x00,0xd0,0x41,0x03,0x0a,0x00,0x00,0x00,0x00,\r
+ // 0x01,0x01,0x06,0x00,0x00,0x00,\r
+ // 0x03,0x0b,0x25,0x00,0x00,0x50,0x56,0xc0,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,\r
+ // 0x7f,0xff,0x04,0x00}\r
+ //\r
+ EFI_DEVICE_PATH_PROTOCOL DevicePath[];\r
+} REST_EX_SERVICE_DEVICE_PATH_DATA;\r
+\r
+#endif\r