struct zd_ctrlset {
u8 modulation;
__le16 tx_length;
u8 control; /* stores only the difference to tx_length on ZD1211B */
__le16 packet_length;
__le16 current_length;
u8 service;
__le16 next_frame_length;
} __packed;
#define ZD_CS_RESERVED_SIZE 25
/* The field modulation of struct zd_ctrlset controls the bit rate, the use *ofshortorlongpreamblesin802.11b(CCKmode)ortheuseof802.11aor *802.11ginOFDMmode. * *Thetermzd-rateisusedforthecombinationofthemodulationtypeflag *andthe"pure"ratevalue.
*/ #define ZD_PURE_RATE_MASK 0x0f #define ZD_MODULATION_TYPE_MASK 0x10 #define ZD_RATE_MASK (ZD_PURE_RATE_MASK|ZD_MODULATION_TYPE_MASK) #define ZD_PURE_RATE(modulation) ((modulation) & ZD_PURE_RATE_MASK) #define ZD_MODULATION_TYPE(modulation) ((modulation) & ZD_MODULATION_TYPE_MASK) #define ZD_RATE(modulation) ((modulation) & ZD_RATE_MASK)
/* The two possible modulation types. Notify that 802.11b doesn't use the CCK *codeingforthe1and2MBit/srate.Westaywiththetermheretoremain *consistentwithusesthetermatotherplaces.
*/ #define ZD_CCK 0x00 #define ZD_OFDM 0x10
/* The bit 5 of the zd_ctrlset modulation field controls the preamble in CCK *modeorthe802.11a/802.11gselectioninOFDMmode.
*/ #define ZD_CCK_PREA_LONG 0x00 #define ZD_CCK_PREA_SHORT 0x20 #define ZD_OFDM_MODE_11G 0x00 #define ZD_OFDM_MODE_11A 0x20
/* zd_ctrlset control field */ #define ZD_CS_NEED_RANDOM_BACKOFF 0x01 #define ZD_CS_NO_ACK 0x02
struct tx_retry_rate { int count; /* number of valid element in rate[] array */ int rate[10]; /* retry rates, described by an index in zd_rates[] */
};
struct tx_status {
u8 type; /* must always be 0x01 : USB_INT_TYPE */
u8 id; /* must always be 0xa0 : USB_INT_ID_RETRY_FAILED */
u8 rate;
u8 pad;
u8 mac[ETH_ALEN];
u8 retry;
u8 failure;
} __packed;
/* The following defines give the encoding of the 4-bit rate field in the *OFDM(802.11a/802.11g)PLCPheader.Notifythatthesevaluesareusedto *definethezd-ratevaluesforOFDM. * *Seethestructzd_ctrlsetdefinitioninzd_mac.h.
*/ #define ZD_OFDM_PLCP_RATE_6M 0xb #define ZD_OFDM_PLCP_RATE_9M 0xf #define ZD_OFDM_PLCP_RATE_12M 0xa #define ZD_OFDM_PLCP_RATE_18M 0xe #define ZD_OFDM_PLCP_RATE_24M 0x9 #define ZD_OFDM_PLCP_RATE_36M 0xd #define ZD_OFDM_PLCP_RATE_48M 0x8 #define ZD_OFDM_PLCP_RATE_54M 0xc
/* These defines give the encodings of the signal field in the 802.11b PLCP *header.Thesignalfieldgivesthebitrateofthefollowingpacket.Even *iftechnicallywrongweuseCCKherealsoforthe1MBit/sand2MBit/s *ratetostayconsistentwithZydasandouruseoftheterm. * *Notifythatthesevaluesare*not*usedinthezd-rates.
*/ #define ZD_CCK_PLCP_SIGNAL_1M 0x0a #define ZD_CCK_PLCP_SIGNAL_2M 0x14 #define ZD_CCK_PLCP_SIGNAL_5M5 0x37 #define ZD_CCK_PLCP_SIGNAL_11M 0x6e
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.