pad data structures to enable integration of future features w/o abi breakage

This commit is contained in:
Sam Leffler 2009-06-01 16:36:28 +00:00
parent 07db17ce56
commit a43cee7009
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=193239
6 changed files with 19 additions and 2 deletions

View File

@ -58,6 +58,7 @@ struct ieee80211_tx_ampdu {
int txa_nextrequest;/* soonest to make next request */
struct callout txa_timer;
void *txa_private; /* driver-private storage */
uint64_t txa_pad[4];
};
/* return non-zero if AMPDU tx for the TID is running */
@ -141,6 +142,7 @@ struct ieee80211_rx_ampdu {
int rxa_age; /* age of oldest frame in window */
int rxa_nframes; /* frames since ADDBA */
struct mbuf *rxa_m[IEEE80211_AGGR_BAWMAX];
uint64_t rxa_pad[4];
};
void ieee80211_ht_attach(struct ieee80211com *);

View File

@ -64,6 +64,7 @@ struct ieee80211_nodestats {
uint32_t ns_tx_data; /* tx data frames */
uint32_t ns_tx_mgmt; /* tx management frames */
uint32_t ns_tx_ctrl; /* tx control frames */
uint32_t ns_tx_ucast; /* tx unicast frames */
uint32_t ns_tx_mcast; /* tx multi/broadcast frames */
uint64_t ns_tx_bytes; /* tx data count (bytes) */
@ -83,6 +84,7 @@ struct ieee80211_nodestats {
uint32_t ns_tx_deauth_code; /* last deauth reason */
uint32_t ns_tx_disassoc; /* disassociations */
uint32_t ns_tx_disassoc_code; /* last disassociation reason */
uint32_t ns_spare[8];
};
/*
@ -101,7 +103,7 @@ struct ieee80211_stats {
uint32_t is_rx_wepfail; /* rx wep processing failed */
uint32_t is_rx_decap; /* rx decapsulation failed */
uint32_t is_rx_mgtdiscard; /* rx discard mgt frames */
uint32_t is_rx_ctl; /* rx discard ctrl frames */
uint32_t is_rx_ctl; /* rx ctrl frames */
uint32_t is_rx_beacon; /* rx beacon frames */
uint32_t is_rx_rstoobig; /* rx rate set truncated */
uint32_t is_rx_elem_missing; /* rx required element missing*/
@ -218,7 +220,10 @@ struct ieee80211_stats {
uint32_t is_beacon_miss; /* beacon miss notification */
uint32_t is_rx_badstate; /* rx discard state != RUN */
uint32_t is_ff_flush; /* ff's flush'd from stageq */
uint32_t is_spare[11];
uint32_t is_tx_ctl; /* tx ctrl frames */
uint32_t is_ampdu_rexmt; /* A-MPDU frames rexmt ok */
uint32_t is_ampdu_rexmt_fail; /* A-MPDU frames rexmt fail */
uint32_t is_spare[16];
};
/*

View File

@ -81,6 +81,7 @@ struct ieee80211_ies {
uint8_t *htcap_ie; /* captured HTCAP ie */
uint8_t *htinfo_ie; /* captured HTINFO ie */
uint8_t *tdma_ie; /* captured TDMA ie */
uint8_t *spare[4];
/* NB: these must be the last members of this structure */
uint8_t *data; /* frame data > 802.11 header */
int len; /* data size in bytes */
@ -192,6 +193,7 @@ struct ieee80211_node {
struct ieee80211vap *ni_wdsvap; /* associated WDS vap */
/* XXX move to vap? */
struct ifqueue ni_wdsq; /* wds pending queue */
uint64_t ni_spare[4];
};
MALLOC_DECLARE(M_80211_NODE);
MALLOC_DECLARE(M_80211_NODE_IE);

View File

@ -305,6 +305,7 @@ struct ieee80211_beacon_offsets {
uint16_t bo_appie_len; /* AppIE length in bytes */
uint16_t bo_csa_trailer_len;;
uint8_t *bo_csa; /* start of CSA element */
uint8_t *bo_spare[4];
};
struct mbuf *ieee80211_beacon_alloc(struct ieee80211_node *,
struct ieee80211_beacon_offsets *);

View File

@ -211,6 +211,7 @@ struct ieee80211_scanparams {
uint8_t *htinfo;
uint8_t *ath;
uint8_t *tdma;
uint8_t *spare[4];
};
/*
@ -281,6 +282,10 @@ struct ieee80211_scanner {
/* iterate over entries in the scan cache */
void (*scan_iterate)(struct ieee80211_scan_state *,
ieee80211_scan_iter_func *, void *);
void (*scan_spare0)(void);
void (*scan_spare1)(void);
void (*scan_spare2)(void);
void (*scan_spare4)(void);
};
void ieee80211_scanner_register(enum ieee80211_opmode,
const struct ieee80211_scanner *);

View File

@ -307,6 +307,7 @@ struct ieee80211com {
int batimeout, int baseqctl);
void (*ic_ampdu_rx_stop)(struct ieee80211_node *,
struct ieee80211_rx_ampdu *);
uint64_t ic_spare[8];
};
struct ieee80211_aclator;
@ -456,6 +457,7 @@ struct ieee80211vap {
/* 802.3 output method for raw frame xmit */
int (*iv_output)(struct ifnet *, struct mbuf *,
struct sockaddr *, struct route *);
uint64_t iv_spare[8];
};
MALLOC_DECLARE(M_80211_VAP);