diff --git a/ipmitool/src/plugins/lan/asf.h b/ipmitool/src/plugins/lan/asf.h index e946f5b..ab36d6f 100644 --- a/ipmitool/src/plugins/lan/asf.h +++ b/ipmitool/src/plugins/lan/asf.h @@ -56,13 +56,19 @@ static const struct valstr asf_type_vals[] __attribute__((unused)) = { }; /* ASF message header */ +#ifdef HAVE_PRAGMA_PACK +#pragma pack(1) +#endif struct asf_hdr { uint32_t iana; uint8_t type; uint8_t tag; uint8_t __reserved; uint8_t len; -} __attribute__((packed)); +} ATTRIBUTE_PACKING; +#ifdef HAVE_PRAGMA_PACK +#pragma pack(0) +#endif int handle_asf(struct ipmi_intf * intf, uint8_t * data, int data_len); diff --git a/ipmitool/src/plugins/lan/rmcp.h b/ipmitool/src/plugins/lan/rmcp.h index 260bcc7..b979d92 100644 --- a/ipmitool/src/plugins/lan/rmcp.h +++ b/ipmitool/src/plugins/lan/rmcp.h @@ -64,14 +64,23 @@ static const struct valstr rmcp_class_vals[] __attribute__((unused)) = { { 0, NULL } }; +#ifdef HAVE_PRAGMA_PACK +#pragma pack(1) +#endif /* RMCP message header */ struct rmcp_hdr { uint8_t ver; uint8_t __reserved; uint8_t seq; uint8_t class; -} __attribute__((packed)); +} ATTRIBUTE_PACKING; +#ifdef HAVE_PRAGMA_PACK +#pragma pack(0) +#endif +#ifdef HAVE_PRAGMA_PACK +#pragma pack(1) +#endif struct rmcp_pong { struct rmcp_hdr rmcp; struct asf_hdr asf; @@ -80,7 +89,10 @@ struct rmcp_pong { uint8_t sup_entities; uint8_t sup_interact; uint8_t reserved[6]; -} __attribute__((packed)); +} ATTRIBUTE_PACKING; +#ifdef HAVE_PRAGMA_PACK +#pragma pack(0) +#endif int handle_rmcp(struct ipmi_intf * intf, uint8_t * data, int data_len); diff --git a/ipmitool/src/plugins/lanplus/asf.h b/ipmitool/src/plugins/lanplus/asf.h index 8e0a14b..7a30418 100644 --- a/ipmitool/src/plugins/lanplus/asf.h +++ b/ipmitool/src/plugins/lanplus/asf.h @@ -56,13 +56,19 @@ static const struct valstr asf_type_vals[] __attribute__((unused)) = { }; /* ASF message header */ +#ifdef HAVE_PRAGMA_PACK +#pragma pack(1) +#endif struct asf_hdr { uint32_t iana; uint8_t type; uint8_t tag; uint8_t __reserved; uint8_t len; -} __attribute__((packed)); +} ATTRIBUTE_PACKING; +#ifdef HAVE_PRAGMA_PACK +#pragma pack(0) +#endif int handle_asf(struct ipmi_intf * intf, uint8_t * data, int data_len); diff --git a/ipmitool/src/plugins/lanplus/rmcp.h b/ipmitool/src/plugins/lanplus/rmcp.h index 898a2b5..51dc44d 100644 --- a/ipmitool/src/plugins/lanplus/rmcp.h +++ b/ipmitool/src/plugins/lanplus/rmcp.h @@ -64,12 +64,18 @@ static const struct valstr rmcp_class_vals[] __attribute__((unused)) = { }; /* RMCP message header */ +#ifdef HAVE_PRAGMA_PACK +#pragma pack(1) +#endif struct rmcp_hdr { uint8_t ver; uint8_t __reserved; uint8_t seq; uint8_t class; -} __attribute__((packed)); +} ATTRIBUTE_PACKING; +#ifdef HAVE_PRAGMA_PACK +#pragma pack(0) +#endif int handle_rmcp(struct ipmi_intf * intf, uint8_t * data, int data_len);