
Hi Adriano
On Fri, 8 Nov 2024 at 15:39, Adriano Cordova adrianox@gmail.com wrote:
Add definition for DEVICE_PATH_SUB_TYPE_MSG_IPV4 device path subtype.
Signed-off-by: Adriano Cordova adrianox@gmail.com
include/efi_api.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)
diff --git a/include/efi_api.h b/include/efi_api.h index f07d074f93..c76519a20a 100644 --- a/include/efi_api.h +++ b/include/efi_api.h @@ -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];
+} __attribute__((aligned(4)));
Is the alignment required by the spec?
+struct efi_device_path_ipv4 {
struct efi_device_path dp;
struct efi_ipv4_address local_ip_address;
struct efi_ipv4_address remote_ip_address;
These are aligned members in a packed struct which might cause alignment warnings. Commit 7dfab398558 explains why.
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
2.43.0
Thanks /Ilias