aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2021-06-03 23:53:21 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2021-06-03 23:53:21 +0200
commit4bbfdff02214ba2c9185d1d4b5df0554b70b3a19 (patch)
treef6baa97e841f9747138a10f93fabfd3f68aeb728 /src
parenta4a65093d1eab6f2f14c0d4657a364d8610f3ead (diff)
downloadslirp-4bbfdff02214ba2c9185d1d4b5df0554b70b3a19.zip
slirp-4bbfdff02214ba2c9185d1d4b5df0554b70b3a19.tar.gz
slirp-4bbfdff02214ba2c9185d1d4b5df0554b70b3a19.tar.bz2
ncsi: Mark ncsi headers with SLIRP_PACKED
Fixes #43
Diffstat (limited to 'src')
-rw-r--r--src/ncsi-pkt.h58
1 files changed, 29 insertions, 29 deletions
diff --git a/src/ncsi-pkt.h b/src/ncsi-pkt.h
index 7795ad8..39cf844 100644
--- a/src/ncsi-pkt.h
+++ b/src/ncsi-pkt.h
@@ -49,36 +49,36 @@ struct ncsi_pkt_hdr {
unsigned char channel; /* Network controller ID */
__be16 length; /* Payload length */
__be32 reserved1[2]; /* Reserved */
-};
+} SLIRP_PACKED;
struct ncsi_cmd_pkt_hdr {
struct ncsi_pkt_hdr common; /* Common NCSI packet header */
-};
+} SLIRP_PACKED;
struct ncsi_rsp_pkt_hdr {
struct ncsi_pkt_hdr common; /* Common NCSI packet header */
__be16 code; /* Response code */
__be16 reason; /* Response reason */
-};
+} SLIRP_PACKED;
struct ncsi_aen_pkt_hdr {
struct ncsi_pkt_hdr common; /* Common NCSI packet header */
unsigned char reserved2[3]; /* Reserved */
unsigned char type; /* AEN packet type */
-};
+} SLIRP_PACKED;
/* NCSI common command packet */
struct ncsi_cmd_pkt {
struct ncsi_cmd_pkt_hdr cmd; /* Command header */
__be32 checksum; /* Checksum */
unsigned char pad[26];
-};
+} SLIRP_PACKED;
struct ncsi_rsp_pkt {
struct ncsi_rsp_pkt_hdr rsp; /* Response header */
__be32 checksum; /* Checksum */
unsigned char pad[22];
-};
+} SLIRP_PACKED;
/* Select Package */
struct ncsi_cmd_sp_pkt {
@@ -87,7 +87,7 @@ struct ncsi_cmd_sp_pkt {
unsigned char hw_arbitration; /* HW arbitration */
__be32 checksum; /* Checksum */
unsigned char pad[22];
-};
+} SLIRP_PACKED;
/* Disable Channel */
struct ncsi_cmd_dc_pkt {
@@ -96,7 +96,7 @@ struct ncsi_cmd_dc_pkt {
unsigned char ald; /* Allow link down */
__be32 checksum; /* Checksum */
unsigned char pad[22];
-};
+} SLIRP_PACKED;
/* Reset Channel */
struct ncsi_cmd_rc_pkt {
@@ -104,7 +104,7 @@ struct ncsi_cmd_rc_pkt {
__be32 reserved; /* Reserved */
__be32 checksum; /* Checksum */
unsigned char pad[22];
-};
+} SLIRP_PACKED;
/* AEN Enable */
struct ncsi_cmd_ae_pkt {
@@ -114,7 +114,7 @@ struct ncsi_cmd_ae_pkt {
__be32 mode; /* AEN working mode */
__be32 checksum; /* Checksum */
unsigned char pad[18];
-};
+} SLIRP_PACKED;
/* Set Link */
struct ncsi_cmd_sl_pkt {
@@ -123,7 +123,7 @@ struct ncsi_cmd_sl_pkt {
__be32 oem_mode; /* OEM link mode */
__be32 checksum; /* Checksum */
unsigned char pad[18];
-};
+} SLIRP_PACKED;
/* Set VLAN Filter */
struct ncsi_cmd_svf_pkt {
@@ -135,7 +135,7 @@ struct ncsi_cmd_svf_pkt {
unsigned char enable; /* Enable or disable */
__be32 checksum; /* Checksum */
unsigned char pad[14];
-};
+} SLIRP_PACKED;
/* Enable VLAN */
struct ncsi_cmd_ev_pkt {
@@ -144,7 +144,7 @@ struct ncsi_cmd_ev_pkt {
unsigned char mode; /* VLAN filter mode */
__be32 checksum; /* Checksum */
unsigned char pad[22];
-};
+} SLIRP_PACKED;
/* Set MAC Address */
struct ncsi_cmd_sma_pkt {
@@ -154,7 +154,7 @@ struct ncsi_cmd_sma_pkt {
unsigned char at_e; /* Addr type and operation */
__be32 checksum; /* Checksum */
unsigned char pad[18];
-};
+} SLIRP_PACKED;
/* Enable Broadcast Filter */
struct ncsi_cmd_ebf_pkt {
@@ -162,7 +162,7 @@ struct ncsi_cmd_ebf_pkt {
__be32 mode; /* Filter mode */
__be32 checksum; /* Checksum */
unsigned char pad[22];
-};
+} SLIRP_PACKED;
/* Enable Global Multicast Filter */
struct ncsi_cmd_egmf_pkt {
@@ -170,7 +170,7 @@ struct ncsi_cmd_egmf_pkt {
__be32 mode; /* Global MC mode */
__be32 checksum; /* Checksum */
unsigned char pad[22];
-};
+} SLIRP_PACKED;
/* Set NCSI Flow Control */
struct ncsi_cmd_snfc_pkt {
@@ -179,7 +179,7 @@ struct ncsi_cmd_snfc_pkt {
unsigned char mode; /* Flow control mode */
__be32 checksum; /* Checksum */
unsigned char pad[22];
-};
+} SLIRP_PACKED;
/* Get Link Status */
struct ncsi_rsp_gls_pkt {
@@ -189,7 +189,7 @@ struct ncsi_rsp_gls_pkt {
__be32 oem_status; /* OEM link status */
__be32 checksum;
unsigned char pad[10];
-};
+} SLIRP_PACKED;
/* Get Version ID */
struct ncsi_rsp_gvi_pkt {
@@ -202,7 +202,7 @@ struct ncsi_rsp_gvi_pkt {
__be16 pci_ids[4]; /* PCI IDs */
__be32 mf_id; /* Manufacture ID */
__be32 checksum;
-};
+} SLIRP_PACKED;
/* Get Capabilities */
struct ncsi_rsp_gc_pkt {
@@ -220,7 +220,7 @@ struct ncsi_rsp_gc_pkt {
unsigned char vlan_mode; /* VLAN mode */
unsigned char channel_cnt; /* Channel count */
__be32 checksum; /* Checksum */
-};
+} SLIRP_PACKED;
/* Get Parameters */
struct ncsi_rsp_gp_pkt {
@@ -241,7 +241,7 @@ struct ncsi_rsp_gp_pkt {
unsigned char mac[6]; /* Supported MAC addr */
__be16 vlan; /* Supported VLAN tags */
__be32 checksum; /* Checksum */
-};
+} SLIRP_PACKED;
/* Get Controller Packet Statistics */
struct ncsi_rsp_gcps_pkt {
@@ -288,7 +288,7 @@ struct ncsi_rsp_gcps_pkt {
__be32 rx_runt_pkts; /* Rx error runt packets */
__be32 rx_jabber_pkts; /* Rx error jabber packets */
__be32 checksum; /* Checksum */
-};
+} SLIRP_PACKED;
/* Get NCSI Statistics */
struct ncsi_rsp_gns_pkt {
@@ -301,7 +301,7 @@ struct ncsi_rsp_gns_pkt {
__be32 tx_pkts; /* Tx NCSI packets */
__be32 tx_aen_pkts; /* Tx AEN packets */
__be32 checksum; /* Checksum */
-};
+} SLIRP_PACKED;
/* Get NCSI Pass-through Statistics */
struct ncsi_rsp_gnpts_pkt {
@@ -316,21 +316,21 @@ struct ncsi_rsp_gnpts_pkt {
__be32 rx_us_err; /* Rx undersize errors */
__be32 rx_os_err; /* Rx oversize errors */
__be32 checksum; /* Checksum */
-};
+} SLIRP_PACKED;
/* Get package status */
struct ncsi_rsp_gps_pkt {
struct ncsi_rsp_pkt_hdr rsp; /* Response header */
__be32 status; /* Hardware arbitration status */
__be32 checksum;
-};
+} SLIRP_PACKED;
/* Get package UUID */
struct ncsi_rsp_gpuuid_pkt {
struct ncsi_rsp_pkt_hdr rsp; /* Response header */
unsigned char uuid[16]; /* UUID */
__be32 checksum;
-};
+} SLIRP_PACKED;
/* AEN: Link State Change */
struct ncsi_aen_lsc_pkt {
@@ -339,14 +339,14 @@ struct ncsi_aen_lsc_pkt {
__be32 oem_status; /* OEM link status */
__be32 checksum; /* Checksum */
unsigned char pad[14];
-};
+} SLIRP_PACKED;
/* AEN: Configuration Required */
struct ncsi_aen_cr_pkt {
struct ncsi_aen_pkt_hdr aen; /* AEN header */
__be32 checksum; /* Checksum */
unsigned char pad[22];
-};
+} SLIRP_PACKED;
/* AEN: Host Network Controller Driver Status Change */
struct ncsi_aen_hncdsc_pkt {
@@ -354,7 +354,7 @@ struct ncsi_aen_hncdsc_pkt {
__be32 status; /* Status */
__be32 checksum; /* Checksum */
unsigned char pad[18];
-};
+} SLIRP_PACKED;
/* NCSI packet revision */
#define NCSI_PKT_REVISION 0x01