📄 aironet4500.h
字号:
struct awc_AP{ u16 ridLen; u16 TIM_Addr; u16 Airo_Addr;};struct awc_Statistics_32 { u32 RidLen; u32 RxOverrunErr; u32 RxPlcpCrcErr; u32 RxPlcpFormat; u32 RxPlcpLength; u32 RxMacCrcErr; u32 RxMacCrcOk; u32 RxWepErr; u32 RxWepOk; u32 RetryLong; u32 RetryShort; u32 MaxRetries; u32 NoAck; u32 NoCts; u32 RxAck; u32 RxCts; u32 TxAck; u32 TxRts; u32 TxCts; u32 TxMc; u32 TxBc; u32 TxUcFrags; u32 TxUcPackets; u32 TxBeacon; u32 RxBeacon; u32 TxSinColl; u32 TxMulColl; u32 DefersNo; u32 DefersProt; u32 DefersEngy; u32 DupFram; u32 RxFragDisc; u32 TxAged; u32 RxAged; u32 LostSync_Max; u32 LostSync_Mis; u32 LostSync_Arl; u32 LostSync_Dea; u32 LostSync_Disa; u32 LostSync_Tsf; u32 HostTxMc; u32 HostTxBc; u32 HostTxUc; u32 HostTxFail; u32 HostRxMc; u32 HostRxBc; u32 HostRxUc; u32 HostRxDiscar; u32 HmacTxMc; u32 HmacTxBc; u32 HmacTxUc; u32 HmacTxFail; u32 HmacRxMc; u32 HmacRxBc; u32 HmacRxUc; u32 HmacRxDisca; u32 HmacRxAcce; u32 SsidMismatch; u32 ApMismatch; u32 RatesMismatc; u32 AuthReject; u32 AuthTimeout; u32 AssocReject; u32 AssocTimeout; u32 NewReason; u32 AuthFail_1; u32 AuthFail_2; u32 AuthFail_3; u32 AuthFail_4; u32 AuthFail_5; u32 AuthFail_6; u32 AuthFail_7; u32 AuthFail_8; u32 AuthFail_9; u32 AuthFail_10; u32 AuthFail_11; u32 AuthFail_12; u32 AuthFail_13; u32 AuthFail_14; u32 AuthFail_15; u32 AuthFail_16; u32 AuthFail_17; u32 AuthFail_18; u32 AuthFail_19; u32 RxMan; u32 TxMan; u32 RxRefresh; u32 TxRefresh; u32 RxPoll; u32 TxPoll; u32 HostRetries; u32 LostSync_HostReq; u32 HostTxBytes; u32 HostRxBytes; u32 ElapsedUsec; u32 ElapsedSec; u32 LostSyncBett;};struct awc_Statistics_16 { u16 RidLen; u16 RxOverrunErr; u16 RxPlcpCrcErr; u16 RxPlcpFormat; u16 RxPlcpLength; u16 RxMacCrcErr; u16 RxMacCrcOk; u16 RxWepErr; u16 RxWepOk; u16 RetryLong; u16 RetryShort; u16 MaxRetries; u16 NoAck; u16 NoCts; u16 RxAck; u16 RxCts; u16 TxAck; u16 TxRts; u16 TxCts; u16 TxMc; u16 TxBc; u16 TxUcFrags; u16 TxUcPackets; u16 TxBeacon; u16 RxBeacon; u16 TxSinColl; u16 TxMulColl; u16 DefersNo; u16 DefersProt; u16 DefersEngy; u16 DupFram; u16 RxFragDisc; u16 TxAged; u16 RxAged; u16 LostSync_Max; u16 LostSync_Mis; u16 LostSync_Arl; u16 LostSync_Dea; u16 LostSync_Disa; u16 LostSync_Tsf; u16 HostTxMc; u16 HostTxBc; u16 HostTxUc; u16 HostTxFail; u16 HostRxMc; u16 HostRxBc; u16 HostRxUc; u16 HostRxDiscar; u16 HmacTxMc; u16 HmacTxBc; u16 HmacTxUc; u16 HmacTxFail; u16 HmacRxMc; u16 HmacRxBc; u16 HmacRxUc; u16 HmacRxDisca; u16 HmacRxAcce; u16 SsidMismatch; u16 ApMismatch; u16 RatesMismatc; u16 AuthReject; u16 AuthTimeout; u16 AssocReject; u16 AssocTimeout; u16 NewReason; u16 AuthFail_1; u16 AuthFail_2; u16 AuthFail_3; u16 AuthFail_4; u16 AuthFail_5; u16 AuthFail_6; u16 AuthFail_7; u16 AuthFail_8; u16 AuthFail_9; u16 AuthFail_10; u16 AuthFail_11; u16 AuthFail_12; u16 AuthFail_13; u16 AuthFail_14; u16 AuthFail_15; u16 AuthFail_16; u16 AuthFail_17; u16 AuthFail_18; u16 AuthFail_19; u16 RxMan; u16 TxMan; u16 RxRefresh; u16 TxRefresh; u16 RxPoll; u16 TxPoll; u16 HostRetries; u16 LostSync_HostReq; u16 HostTxBytes; u16 HostRxBytes; u16 ElapsedUsec; u16 ElapsedSec; u16 LostSyncBett;};#define AWC_TXCTL_TXOK (1<<1) /* report if tx is ok */#define AWC_TXCTL_TXEX (1<<2) /* report if tx fails */#define AWC_TXCTL_802_3 (0<<3) /* 802.3 packet */#define AWC_TXCTL_802_11 (1<<3) /* 802.11 mac packet */#define AWC_TXCTL_ETHERNET (0<<4) /* payload has ethertype */#define AWC_TXCTL_LLC (1<<4) /* payload is llc */#define AWC_TXCTL_RELEASE (0<<5) /* release after completion */#define AWC_TXCTL_NORELEASE (1<<5) /* on completion returns to host *//************************* LINK STATUS STUFF *******************/#define awc_link_status_loss_of_sync_missed_beacons 0x8000#define awc_link_status_loss_of_sync_max_retries 0x8001#define awc_link_status_loss_of_sync_ARL_exceed 0x8002#define awc_link_status_loss_of_sync_host_request 0x8003#define awc_link_status_loss_of_sync_TSF_sync 0x8004#define awc_link_status_deauthentication 0x8100#define awc_link_status_disassociation 0x8200#define awc_link_status_association_failed 0x8400#define awc_link_status_authentication_failed 0x0300#define awc_link_status_associated 0x0400struct awc_strings { int par; unsigned int mask; const char * string;};#define awc_link_status_strings {\{awc_link_status_loss_of_sync_missed_beacons, 0xFFFF,"Loss of sync -- missed beacons"},\{awc_link_status_loss_of_sync_max_retries, 0xFFFF,"Loss of sync -- max retries"},\{awc_link_status_loss_of_sync_ARL_exceed, 0xFFFF,"Loss of sync -- average retry level (ARL) exceeded"},\{awc_link_status_loss_of_sync_host_request, 0xFFFF,"Loss of sync -- host request"},\{awc_link_status_loss_of_sync_TSF_sync, 0xFFFF,"Loss of sync -- TSF synchronization"},\{awc_link_status_deauthentication, 0xFF00,"Deauthentication "},\{awc_link_status_disassociation, 0xFF00,"Disassocation "},\{awc_link_status_association_failed , 0xFF00,"Association failed "},\{awc_link_status_authentication_failed, 0xFF00,"Authentication failure"},\{awc_link_status_associated, 0xFFFF,"Associated "},\{0,0,NULL}\} /****************************** COMMANDS and DEFAULTS and STATUSES ***********//****************************** COMMANDS */// Command definitions#define awc4500wout(base, com, p0,p1,p2) {\ awc_write(base,awc_Param0_register, p0);\ awc_write(base,awc_Param1_register, p1);\ awc_write(base,awc_Param2_register, p2);\ WAIT61x3;\ awc_write(base,awc_Command_register, com);\ WAIT61x3;\}#define awc_wout(cmd, com, p0,p1,p2) {\ awc_write(base,awc_Param0_register, p0);\ awc_write(base,awc_Param1_register, p1);\ awc_write(base,awc_Param2_register, p2);\ WAIT61x3;\ awc_write(base,awc_Command_register, com);\ WAIT61x3;\}#define awc_command_NOP(cmd) awc_wout( cmd,0x0000,0,0,0) // NOP#define awc_command_Enable_All(cmd) awc_wout( cmd,0x0001,0,0,0) // Enable#define awc_command_Enable_MAC(cmd) awc_wout( cmd,0x0101,0,0,0) // Enable Mac#define awc_command_Enable_Rx(cmd) awc_wout( cmd,0x0201,0,0,0) // Enable Rx#define awc_command_Disable_MAC(cmd) awc_wout( cmd,0x0002,0,0,0) // Disable#define awc_command_Sync_Loss(cmd) awc_wout( cmd,0x0003,0,0,0) // Force a Loss of Sync#define awc_command_Soft_Reset(cmd) awc_wout( cmd,0x0004,0,0,0) // Firmware Restart (soft reset)#define awc_command_Host_Sleep(cmd) awc_wout( cmd,0x0005,0,0,0) // Host Sleep (must be issued as 0x0085)#define awc_command_Magic_Packet(cmd) awc_wout( cmd,0x0006,0,0,0) // Magic Packet#define awc_command_Read_Configuration(cmd) awc_wout( cmd,0x0008,0,0,0) // Read the Configuration from nonvolatile storage#define awc_command_Allocate_TX_Buff(cmd,size) awc_wout( cmd,0x000A,size,0,0) // Allocate Transmit Buffer#define awc_command_TX(cmd,FID) awc_wout( cmd,0x000B,FID ,0,0) // Transmit#define awc_command_Deallocate(cmd,FID) awc_wout( cmd,0x000C,FID ,0,0) // Deallocate#define awc_command_NOP2(cmd) awc_wout( cmd,0x0010,0,0,0) // NOP (same as 0x0000)#define awc_command_Read_RID(cmd,RID) awc_wout( cmd,0x0021,RID ,0,0) // Read RID#define awc_command_Write_RID(cmd,RID) awc_wout( cmd,0x0121,RID ,0,0) // Write RID#define awc_command_Allocate_Buff(cmd,size) awc_wout( cmd,0x0028,size,0,0) // Allocate Buffer#define awc_command_PSP_Nodes(cmd) awc_wout( cmd,0x0030,0,0,0) // PSP nodes (AP only)#define awc_command_Set_Phy_register(cmd,phy_register,clear_bits, set_bits)\ awc_wout( cmd,0x003E,phy_register,clear_bits, set_bits) // Set PHY register#define awc_command_TX_Test(cmd,command, frequency, pattern) awc_wout( cmd,0x003F,command, frequency, pattern) // Transmitter Test#define awc_command_RX_Test(cmd) awc_wout( cmd,0x013F,0,0,0) // RX Test#define awc_command_Sleep(cmd) awc_wout( cmd,0x0085,0,0,0) // Go to Sleep (No Ack bit is mandatory)#define awc_command_Save_Configuration(cmd) awc_wout( cmd,0x0108,0,0,0) // Save the configuration to nonvolatile#define AWC_COMMAND_NOOP_BULL 0x000#define AWC_COMMAND_ENABLE 0x001#define AWC_COMMAND_ENABLE_MAC 0x101#define AWC_COMMAND_ENABLE_RX 0x201#define AWC_COMMAND_DISABLE 0x002#define AWC_COMMAND_LOSE_SYNC 0x003#define AWC_COMMAND_SOFT_RESET 0x004#define AWC_COMMAND_HOST_SLEEP 0x085#define AWC_COMMAND_MAGIC_PACKET 0x006#define AWC_COMMAND_READ_CONF 0x008#define AWC_COMMAND_SAVE_CONF 0x108#define AWC_COMMAND_TX_ALLOC 0x00A#define AWC_COMMAND_TX 0x00B#define AWC_COMMAND_DEALLOC 0x00C#define AWC_COMMAND_NOOP 0x010#define AWC_COMMAND_READ_RID 0x021#define AWC_COMMAND_WRITE_RID 0x121#define AWC_COMMAND_ALLOC 0x028#define AWC_COMMAND_PSP_NODES 0x030#define AWC_COMMAND_SET_PHY 0x03E#define AWC_COMMAND_TX_TEST 0x03F#define AWC_COMMAND_SLEEP 0x085#define awc_command_name_strings {\ {0x0000, 0x00FF,"awc_command_NOP " },\ {0x0001, 0x00FF,"awc_command_Enable_All " },\ {0x0101, 0x01FF,"awc_command_Enable_MAC " },\ {0x0201, 0x01FF,"awc_command_Enable_Rx " },\ {0x0002, 0x00FF,"awc_command_Disable_MAC " },\ {0x0003, 0x00FF,"awc_command_Sync_Loss " },\ {0x0004, 0x00FF,"awc_command_Soft_Reset " },\ {0x0005, 0x00FF,"awc_command_Host_Sleep " },\ {0x0006, 0x00FF,"awc_command_Magic_Packet " },\ {0x0008, 0x00FF,"awc_command_Read_Configuration " },\ {0x000A, 0x00FF,"awc_command_Allocate_TX_Buff " },\ {0x000B, 0x00FF,"awc_command_TX " },\ {0x000C, 0x00FF,"awc_command_Deallocate " },\ {0x0010, 0x00FF,"awc_command_NOP2 " },\ {0x0021, 0x00FF,"awc_command_Read_RID " },\ {0x0121, 0x01FF,"awc_command_Write_RID " },\ {0x0028, 0x00FF,"awc_command_Allocate_Buff " },\ {0x0030, 0x00FF,"awc_command_PSP_Nodes " },\ {0x003E, 0x00FF,"awc_command_Set_Phy_register " },\ {0x003F, 0x00FF,"awc_command_TX_Test " },\ {0x013F, 0x01FF,"awc_command_RX_Test " },\ {0x0085, 0x00FF,"awc_command_Sleep " },\ {0x0108, 0x01FF,"awc_command_Save_Configuration " },\ {0x0000, 0x00FF, NULL}\};/***************************** STATUSES */#define awc_reply_success 0x0000#define awc_reply_error_strings {\ { 0x0000, 0x00FF," Success"},\ { 0x0001, 0x00FF," Illegal command."},\ { 0x0002, 0x00FF," Illegal format."},\ { 0x0003, 0x00FF," Invalid FID."},\ { 0x0004, 0x00FF," Invalid RID."},\ { 0x0005, 0x00FF," Too Large"},\ { 0x0006, 0x00FF," MAC is not disabled."},\ { 0x0007, 0x00FF," Alloc is still busy processing previous alloc"},\ { 0x0008, 0x00FF," Invalid Mode Field"},\ { 0x0009, 0x00FF," Tx is not allowed in monitor mode"},\ { 0x000A, 0x00FF," Loop test or memory test error"},\ { 0x000B, 0x00FF," Cannot read this RID."},\ { 0x000C, 0x00FF," Cannot write to this RID."},\ { 0x000D, 0x00FF," Tag not found."},\ { 0x0080, 0x00FF," Config mode is invalid."},\ { 0x0081, 0x00FF," Config hop interval is invalid."},\ { 0x0082, 0x00FF," Config beacon interval is invalid."},\ { 0x0083, 0x00FF," Config receive mode is invalid."},\ { 0x0084, 0x00FF," Config MAC address is invalid."},\ { 0x0085, 0x00FF," Config rates are invalid."},\ { 0x0086, 0x00FF," Config ordering field is invalid."},\ { 0x0087, 0x00FF," Config scan mode is invalid."},\ { 0x0088, 0x00FF," Config authentication type is invalid."},\ { 0x0089, 0x00FF," Config power save mode is invalid."},\ { 0x008A, 0x00FF," Config radio type is invalid."},\ { 0x008B, 0x00FF," Config diversity is invalid."},\ { 0x008C, 0x00FF," Config SSID list is invalid."},\ { 0x008D, 0x00FF," Config specified AP list is invalid."},\ { 0x0000, 0x00FF, NULL}\};#define awc_reply_command_failed( status) ((status & 0x7F00) == 0x7F)/************************* PHY and TEST commands ****************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -