efi_loader: device_path: add definition of DEVICE_PATH_SUB_TYPE_MSG_IPV4
authorAdriano Cordova <adrianox@gmail.com>
Wed, 4 Dec 2024 03:05:17 +0000 (00:05 -0300)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Wed, 4 Dec 2024 11:24:37 +0000 (12:24 +0100)
Add definition for DEVICE_PATH_SUB_TYPE_MSG_IPV4 device path
subtype.

Signed-off-by: Adriano Cordova <adrianox@gmail.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
include/efi_api.h

index f07d074..99ee749 100644 (file)
@@ -616,6 +616,7 @@ struct efi_device_path_acpi_path {
 #  define DEVICE_PATH_SUB_TYPE_MSG_SCSI                0x02
 #  define DEVICE_PATH_SUB_TYPE_MSG_USB         0x05
 #  define DEVICE_PATH_SUB_TYPE_MSG_MAC_ADDR    0x0b
+#  define DEVICE_PATH_SUB_TYPE_MSG_IPV4                0x0c
 #  define DEVICE_PATH_SUB_TYPE_MSG_UART                0x0e
 #  define DEVICE_PATH_SUB_TYPE_MSG_USB_CLASS   0x0f
 #  define DEVICE_PATH_SUB_TYPE_MSG_USB_WWI     0x10
@@ -691,6 +692,22 @@ struct efi_device_path_uri {
        u8 uri[];
 } __packed;
 
+struct efi_ipv4_address {
+       u8 ip_addr[4];
+};
+
+struct efi_device_path_ipv4 {
+       struct efi_device_path dp;
+       struct efi_ipv4_address local_ip_address;
+       struct efi_ipv4_address remote_ip_address;
+       u16 local_port;
+       u16 remote_port;
+       u16 protocol;
+       u8 static_ip_address;
+       struct efi_ipv4_address gateway_ip_address;
+       struct efi_ipv4_address subnet_mask;
+} __packed;
+
 #define DEVICE_PATH_TYPE_MEDIA_DEVICE          0x04
 #  define DEVICE_PATH_SUB_TYPE_HARD_DRIVE_PATH 0x01
 #  define DEVICE_PATH_SUB_TYPE_CDROM_PATH      0x02