WLAN services: Difference between revisions

No edit summary
Line 6: Line 6:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || [[#OpenMode]]
| 0 || [[#OpenMode|OpenMode]]
|-
|-
| 1 || [[#CloseMode]]
| 1 || [[#CloseMode|CloseMode]]
|-
|-
| 2 || [[#GetMacAddress]]
| 2 || [[#GetMacAddress|GetMacAddress]]
|-
|-
| 3 || [[#StartScan]]
| 3 || [[#StartScan|StartScan]]
|-
|-
| 4 || [[#StopScan]]
| 4 || [[#StopScan|StopScan]]
|-
|-
| 5 || [[#Connect]]
| 5 || [[#Connect|Connect]]
|-
|-
| 6 || [[#CancelConnect]]
| 6 || [[#CancelConnect|CancelConnect]]
|-
|-
| 7 || [[#Disconnect]]
| 7 || [[#Disconnect|Disconnect]]
|-
|-
| 8 || [[#GetSystemEvent]]
| 8 || [[#GetSystemEvent|GetSystemEvent]]
|-
|-
| 9 || [[#GetConnectionStatus]]
| 9 || [[#GetConnectionStatus|GetConnectionStatus]]
|-
|-
| 10 || [[#GetState]]
| 10 || [[#GetState|GetState]]
|-
|-
| 11 || [[#GetScanResult]]
| 11 || [[#GetScanResult|GetScanResult]]
|-
|-
| 12 || [[#GetRssi]]
| 12 || [[#GetRssi|GetRssi]]
|-
|-
| 13 || [[#ChangeRxAntenna]]
| 13 || [[#ChangeRxAntenna|ChangeRxAntenna]]
|-
|-
| 14 || [[#GetFwVersion]]
| 14 || [[#GetFwVersion|GetFwVersion]]
|-
|-
| 15 || [[#RequestSleep]]
| 15 || [[#RequestSleep|RequestSleep]]
|-
|-
| 16 || [[#RequestWakeUp]]
| 16 || [[#RequestWakeUp|RequestWakeUp]]
|-
|-
| 17 || [[#ConnectWithWps]]
| 17 || [[#ConnectWithWps|ConnectWithWps]]
|-
|-
| 18 || [3.0.0+]
| 18 || [3.0.0+]
Line 62: Line 62:
| 27 || [4.0.0+]
| 27 || [4.0.0+]
|-
|-
| 28 || [5.0.0+] [[#InitializeWlan]]
| 28 || [5.0.0+] [[#InitializeWlan|InitializeWlan]]
|-
|-
| 29 || [7.0.0+] [[#FinalizeWlan]]
| 29 || [7.0.0+] [[#FinalizeWlan|FinalizeWlan]]
|-
|-
| 30 || [8.0.0+] [[#SetWowlDelayedWakeTime]]
| 30 || [8.0.0+] [[#SetWowlDelayedWakeTime|SetWowlDelayedWakeTime]]
|-
|-
| 31 || [11.0.0+]
| 31 || [11.0.0+]
Line 82: Line 82:
| 37 || [11.0.0+]
| 37 || [11.0.0+]
|-
|-
| 38 || [13.0.0+] [[#SetDfrts]]
| 38 || [13.0.0+] [[#SetDfrts|SetDfrts]]
|}
|}


Line 446: Line 446:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || OpenMasterMode
| 0 || [9.0.0+] [[#OpenMode_2|OpenMode]] ([1.0.0-8.1.0] [[#OpenMasterMode|OpenMasterMode]])
|-
|-
| 1 || CloseMasterMode
| 1 || [9.0.0+] [[#CloseMode_2|CloseMode]] ([1.0.0-8.1.0] [[#CloseMasterMode|CloseMasterMode]])
|-
|-
| 2 || OpenClientMode
| 2 || [9.0.0+] [[#GetMacAddress_2|GetMacAddress]] ([1.0.0-8.1.0] [[#OpenClientMode|OpenClientMode]])
|-
|-
| 3 || CloseClientMode
| 3 || [9.0.0+] [[#CreateBss|CreateBss]] ([1.0.0-8.1.0] [[#CloseClientMode|CloseClientMode]])
|-
|-
| 4 || OpenSpectatorMode
| 4 || [9.0.0+] [[#DestroyBss|DestroyBss]] ([1.0.0-8.1.0] [[#OpenSpectatorMode|OpenSpectatorMode]])
|-
|-
| 5 || CloseSpectatorMode
| 5 || [9.0.0+] [[#StartScan_2|StartScan]] ([1.0.0-8.1.0] [[#CloseSpectatorMode|CloseSpectatorMode]])
|-
|-
| 6 || GetMacAddress
| 6 || [9.0.0+] [[#StopScan_2|StopScan]] ([1.0.0-8.1.0] [[#GetMacAddress_2|GetMacAddress]])
|-
|-
| 7 || CreateBss
| 7 || [9.0.0+] [[#Connect_2|Connect]] ([1.0.0-8.1.0] [[#CreateBss|CreateBss]])
|-
|-
| 8 || DestroyBss
| 8 || [9.0.0+] [[#CancelConnect_2|CancelConnect]] ([1.0.0-8.1.0] [[#DestroyBss|DestroyBss]])
|-
|-
| 9 || StartScan
| 9 || [9.0.0+] [[#Join|Join]] ([1.0.0-8.1.0] [[#StartScan_2|StartScan]])
|-
|-
| 10 || StopScan
| 10 || [9.0.0+] [[#CancelJoin|CancelJoin]] ([1.0.0-8.1.0] [[#StopScan_2|StopScan]])
|-
|-
| 11 || Connect
| 11 || [9.0.0+] [[#Disconnect_2|Disconnect]] ([1.0.0-8.1.0] [[#Connect_2|Connect]])
|-
|-
| 12 || CancelConnect
| 12 || [9.0.0+] [[#SetBeaconLostCount|SetBeaconLostCount]] ([1.0.0-8.1.0] [[#CancelConnect_2|CancelConnect]])
|-
|-
| 13 || Join
| 13 || [9.0.0+] [[#GetSystemEvent_2|GetSystemEvent]] ([1.0.0-8.1.0] [[#Join|Join]])
|-
|-
| 14 || CancelJoin
| 14 || [9.0.0+] [[#GetConnectionStatus_2|GetConnectionStatus]] ([1.0.0-8.1.0] [[#CancelJoin|CancelJoin]])
|-
|-
| 15 || Disconnect
| 15 || [9.0.0+] [[#GetClientStatus|GetClientStatus]] ([1.0.0-8.1.0] [[#Disconnect_2|Disconnect]])
|-
|-
| 16 || SetBeaconLostCount
| 16 || [9.0.0+] [[#GetBssIndicationEvent|GetBssIndicationEvent]] ([1.0.0-8.1.0] [[#SetBeaconLostCount|SetBeaconLostCount]])
|-
|-
| 17 || GetSystemEvent
| 17 || [9.0.0+] [[#GetBssIndicationInfo|GetBssIndicationInfo]] ([1.0.0-8.1.0] [[#GetSystemEvent_2|GetSystemEvent]])
|-
|-
| 18 || GetConnectionStatus
| 18 || [9.0.0+] [[#GetState_2|GetState]] ([1.0.0-8.1.0] [[#GetConnectionStatus_2|GetConnectionStatus]])
|-
|-
| 19 || GetClientStatus
| 19 || [9.0.0+] [[#GetAllowedChannels|GetAllowedChannels]] ([1.0.0-8.1.0] [[#GetClientStatus|GetClientStatus]])
|-
|-
| 20 || GetBssIndicationEvent
| 20 || [9.0.0+] [[#AddIe|AddIe]] ([1.0.0-8.1.0] [[#GetBssIndicationEvent|GetBssIndicationEvent]])
|-
|-
| 21 || GetBssIndicationInfo
| 21 || [9.0.0+] [[#DeleteIe|DeleteIe]] ([1.0.0-8.1.0] [[#GetBssIndicationInfo|GetBssIndicationInfo]])
|-
|-
| 22 || GetState
| 22 || [9.0.0+] [[#PutFrameRaw|PutFrameRaw]] ([1.0.0-8.1.0] [[#GetState_2|GetState]])
|-
|-
| 23 || GetAllowedChannels
| 23 || [9.0.0+] [[#CancelGetFrame|CancelGetFrame]] ([1.0.0-8.1.0] [[#GetAllowedChannels|GetAllowedChannels]])
|-
|-
| 24 || AddIe
| 24 || [9.0.0+] [[#CreateRxEntry|CreateRxEntry]] ([1.0.0-8.1.0] [[#AddIe|AddIe]])
|-
|-
| 25 || DeleteIe
| 25 || [9.0.0+] [[#DeleteRxEntry|DeleteRxEntry]] ([1.0.0-8.1.0] [[#DeleteIe|DeleteIe]])
|-
|-
| 26 || PutFrameRaw
| 26 || [9.0.0+] [[#AddEthertypeToRxEntry|AddEthertypeToRxEntry]] ([1.0.0-8.1.0] [[#PutFrameRaw|PutFrameRaw]])
|-
|-
| 27 || CancelGetFrame
| 27 || [9.0.0+] [[#DeleteEthertypeFromRxEntry|DeleteEthertypeFromRxEntry]] ([1.0.0-8.1.0] [[#CancelGetFrame|CancelGetFrame]])
|-
|-
| 28 || CreateRxEntry
| 28 || [9.0.0+] [[#AddMatchingDataToRxEntry|AddMatchingDataToRxEntry]] ([1.0.0-8.1.0] [[#CreateRxEntry|CreateRxEntry]])
|-
|-
| 29 || DeleteRxEntry
| 29 || [9.0.0+] [[#RemoveMatchingDataFromRxEntry|RemoveMatchingDataFromRxEntry]] ([1.0.0-8.1.0] [[#DeleteRxEntry|DeleteRxEntry]])
|-
|-
| 30 || AddEthertypeToRxEntry
| 30 || [9.0.0+] [[#GetScanResult_2|GetScanResult]] ([1.0.0-8.1.0] [[#AddEthertypeToRxEntry|AddEthertypeToRxEntry]])
|-
|-
| 31 || DeleteEthertypeFromRxEntry
| 31 || [9.0.0+] [[#PutActionFrameOneShot|PutActionFrameOneShot]] ([1.0.0-8.1.0] [[#DeleteEthertypeFromRxEntry|DeleteEthertypeFromRxEntry]])
|-
|-
| 32 || AddMatchingDataToRxEntry
| 32 || [9.0.0+] [[#SetActionFrameWithBeacon|SetActionFrameWithBeacon]] ([1.0.0-8.1.0] [[#AddMatchingDataToRxEntry|AddMatchingDataToRxEntry]])
|-
|-
| 33 || RemoveMatchingDataFromRxEntry
| 33 || [9.0.0+] [[#CancelActionFrameWithBeacon|CancelActionFrameWithBeacon]] ([1.0.0-8.1.0] [[#RemoveMatchingDataFromRxEntry|RemoveMatchingDataFromRxEntry]])
|-
|-
| 34 || GetScanResult
| 34 || [9.0.0+] [[#CreateRxEntryForActionFrame|CreateRxEntryForActionFrame]] ([1.0.0-8.1.0] [[#GetScanResult_2|GetScanResult]])
|-
|-
| 35 || PutActionFrameOneShot
| 35 || [9.0.0+] [[#DeleteRxEntryForActionFrame|DeleteRxEntryForActionFrame]] ([1.0.0-8.1.0] [[#PutActionFrameOneShot|PutActionFrameOneShot]])
|-
|-
| 36 || SetActionFrameWithBeacon
| 36 || [9.0.0+] [[#AddSubtypeToRxEntryForActionFrame|AddSubtypeToRxEntryForActionFrame]] ([1.0.0-8.1.0] [[#SetActionFrameWithBeacon|SetActionFrameWithBeacon]])
|-
|-
| 37 || CancelActionFrameWithBeacon
| 37 || [9.0.0+] [[#DeleteSubtypeFromRxEntryForActionFrame|DeleteSubtypeFromRxEntryForActionFrame]] ([1.0.0-8.1.0] [[#CancelActionFrameWithBeacon|CancelActionFrameWithBeacon]])
|-
|-
| 38 || CreateRxEntryForActionFrame
| 38 || [9.0.0+] [[#CancelGetActionFrame|CancelGetActionFrame]] ([1.0.0-8.1.0] [[#CreateRxEntryForActionFrame|CreateRxEntryForActionFrame]])
|-
|-
| 39 || DeleteRxEntryForActionFrame
| 39 || [9.0.0+] [[#GetRssi_2|GetRssi]] ([1.0.0-8.1.0] [[#DeleteRxEntryForActionFrame|DeleteRxEntryForActionFrame]])
|-
|-
| 40 || AddSubtypeToRxEntryForActionFrame
| 40 || [9.0.0+] [[#SetMaxAssociationNumber|SetMaxAssociationNumber]] ([1.0.0-8.1.0] [[#AddSubtypeToRxEntryForActionFrame|AddSubtypeToRxEntryForActionFrame]])
|-
|-
| 41 || DeleteSubtypeFromRxEntryForActionFrame
| 41 || [9.0.0+] ([1.0.0-8.1.0] [[#DeleteSubtypeFromRxEntryForActionFrame|DeleteSubtypeFromRxEntryForActionFrame]])
|-
|-
| 42 || CancelGetActionFrame
| 42 || [9.0.0+] ([1.0.0-8.1.0] [[#CancelGetActionFrame|CancelGetActionFrame]])
|-
|-
| 43 || GetRssi
| 43 || [9.0.0+] ([1.0.0-8.1.0] [[#GetRssi_2|GetRssi]])
|-
|-
| 44 || SetMaxAssociationNumber
| 44 || [9.0.0+] ([1.0.0-8.1.0] [[#SetMaxAssociationNumber|SetMaxAssociationNumber]])
|-
|-
| 45 || [4.0.0+]
| 45 || [9.0.0+] ([4.0.0-8.1.0])
|-
|-
| 46 || [4.0.0+]
| 46 || [9.0.0+] ([4.0.0-8.1.0])
|-
|-
| 47 || [4.0.0+]
| 47 || [9.0.0+] ([4.0.0-8.1.0])
|-
|-
| 48 || [10.0.0+] ([4.0.0-8.1.0])
| 48 || [10.0.0+] ([4.0.0-8.1.0])
|-
|-
| 49 || [6.0.0-8.1.0]
| 49 || [13.0.0+] ([6.0.0-8.1.0])
|-
|-
| 50 || [6.0.0-8.1.0]
| 50 || [13.0.0+] ([6.0.0-8.1.0])
|-
|-
| 51 || [8.0.0-8.1.0]
| 51 || [13.0.0+] ([8.0.0-8.1.0])
|-
|-
| 52 || [8.0.0-8.1.0]
| 52 || ([8.0.0-8.1.0])
|-
| 49 || [13.0.0+]
|-
| 50 || [13.0.0+]
|-
| 51 || [13.0.0+]
|}
|}


[4.0.0+] CreateBss, Connect, and Join now takes an additional 4-bytes of input.
[5.0.0+] GetAllowedChannels now returns a total of 4-bytes of output instead of 0x50, and now takes a type-0xA output buffer.
 
[10.0.0+] Cmd46 now takes a total of 1-byte of input instead of 6-bytes, while cmd47 now takes a total of 6-bytes of input instead of 1-byte.
 
== OpenMasterMode ==
No input/output.
 
Sends command message 0x7 to the state machine.
 
== CloseMasterMode ==
No input/output.
 
Sends command message 0x5 to the state machine.
 
== OpenClientMode ==
No input/output.
 
Sends command message 0x8 to the state machine.
 
== CloseClientMode ==
No input/output.
 
Sends command message 0x5 to the state machine.
 
== OpenSpectatorMode ==
No input/output.
 
Sends command message 0x9 to the state machine.
 
== CloseSpectatorMode ==
No input/output.
 
Sends command message 0x5 to the state machine.
 
== OpenMode ==
Takes an input u32 '''Mode'''. No output.
 
== CloseMode ==
Takes an input u32 '''Mode'''. No output.
 
== GetMacAddress ==
No input. Returns an output [[#MacAddress]].
 
Sends command message 0x18 (GetMacAddress) to the state machine.
 
== CreateBss ==
Takes an input [[#Bss]]. No output.
 
Sends command messages 0xA (SetWlanInterfaceUpDown) and 0x1E (CreateAp) to the state machine.
 
== DestroyBss ==
No input/output.
 
Sends command message 0x1F (DestroyAp) to the state machine.
 
== StartScan ==
Takes a type-0x15 input buffer buffer containing a [[#ScanRequest]]. No output.
 
Sends command messages 0xA (SetWlanInterfaceUpDown) and 0x14 (ScanRequest) to the state machine.
 
== StopScan ==
No input/output.
 
Sends command message 0x16 (CancelScan) to the state machine.
 
== Connect ==
Takes an input [[#ConnectParam]]. No output.
 
Sends command messages 0xA (SetWlanInterfaceUpDown), 0x11 (SetBeaconLostTimeout), 0xF (SetStaticAesMode) and 0x20 (JoinNetworkSta) to the state machine.
 
== CancelConnect ==
No input/output.
 
Sends command message 0x23 (CancelJoinNetwork) to the state machine.
 
== Join ==
Takes an input [[#ConnectParam]]. No output.
 
Sends command messages 0xA (SetWlanInterfaceUpDown), 0x11 (SetBeaconLostTimeout), 0xF (SetStaticAesMode) and 0x22 (JoinNetworkSpectator) to the state machine.
 
== CancelJoin ==
No input/output.
 
Sends command message 0x23 (CancelJoinNetwork) to the state machine.
 
== Disconnect ==
Takes an input u32 '''Argument''' and an input [[#MacAddress]]. No output.
 
Sends command message 0x25 (DeauthRequest) to the state machine.
 
== SetBeaconLostCount ==
Takes an input u32 '''BeaconLostCount'''. No output.
 
== GetSystemEvent ==
Takes an input u32 '''SystemEventType'''. Returns an output Event handle.
 
== GetConnectionStatus ==
No input. Returns an output [[#ConnectionStatus]].
 
Sends command message 0x80 (GetState) to the state machine, to check current state. Then this copies data from state to output (unrelated to message 0x80).
 
== GetClientStatus ==
Takes a type-0x16 output buffer containing a [[#ClientStatus]]. No output.
 
Sends command message 0x80 (GetState) to the state machine, to check current state.
 
== GetBssIndicationEvent ==
No input. Returns an output Event handle.
 
== GetBssIndicationInfo ==
Takes a type-0x16 output buffer. No output.
 
== GetState ==
No input. Returns an output [[#State]].
 
Sends command message 0x80 (GetState) to the state machine.
 
== GetAllowedChannels ==
Takes a type-0xA output buffer. Returns an output u32 '''AllowedChannelsCount'''.
 
== AddIe ==
Takes a type-0x5 input buffer and an input u32 '''ManagementFrameType'''. Returns an output u32 '''Ie'''.
 
Sends command message 0x28 (AddIe) to the state machine.
 
== DeleteIe ==
Takes an input u32 '''Ie'''. No output.
 
Sends command message 0x29 (DeleteIe) to the state machine.
 
== PutFrameRaw ==
Takes a type-0x5 input buffer. No output.
 
Sends command message 0x80 (GetState) to the state machine, to check current state.
 
== CancelGetFrame ==
Takes an input u32 '''RxId'''. No output.
 
Sends command message 0x80 (GetState) to the state machine, to check current state.
 
== CreateRxEntry ==
Takes a type-0x9 input buffer and an input u32 '''Capacity'''. Returns an output u32 '''RxId'''.
 
== DeleteRxEntry ==
Takes an input u32 '''RxId'''. No output.
 
== AddEthertypeToRxEntry ==
Takes an input u32 '''RxId''' and an input u32 '''Protocol'''. No output.
 
== DeleteEthertypeFromRxEntry ==
Takes an input u16 '''Protocol'''. Returns an output u32.
 
== AddMatchingDataToRxEntry ==
Takes a type-0x19 input buffer and an input u32 '''RxId'''. No output.
 
Sends command message 0x2A (AddMatchingDataInfoToRxEntry) to the state machine.
 
== RemoveMatchingDataFromRxEntry ==
Takes a type-0x19 input buffer and an input u32 '''RxId'''. No output.
 
Sends command message 0x2B (RemoveMatchingDataFromRxEntry) to the state machine.
 
== GetScanResult ==
Takes a type-0x19 input buffer and a type-0x6 output buffer containing a [[#ScanResult]]. No output.
 
Sends command message 0x15 (BssInfoListGet) to the state machine.
 
== PutActionFrameOneShot ==
Takes a type-0x5 input buffer, an input [[#MacAddress]] and two u32s '''Channel''' and '''DwellTime'''. No output.
 
Sends command message 0xA (SetWlanInterfaceUpDown) to the state machine.
 
== SetActionFrameWithBeacon ==
Takes a type-0x5 input buffer. No output.
 
Sends command message 0x2C (SetActionFrameWithBeacon) to the state machine.
 
== CancelActionFrameWithBeacon ==
No input/output.
 
Sends command message 0x2D (CancelActionFrameWithBeacon) to the state machine.
 
== CreateRxEntryForActionFrame ==
Takes a type-0x9 input buffer and an input u32 '''Capacity'''. Returns an output u32 '''RxId'''.
 
== DeleteRxEntryForActionFrame ==
Takes an input u32 '''RxId'''. No output.
 
== AddSubtypeToRxEntryForActionFrame ==
Takes an input u32 '''RxId''' and an input u32 '''Subtype'''. No output.
 
== DeleteSubtypeFromRxEntryForActionFrame ==
Takes an input u32 '''Subtype'''. Returns an output u32.
 
== CancelGetActionFrame ==
Takes an input u32 '''RxId'''. No output.
 
Sends command message 0x80 (GetState) to the state machine, to check current state.
 
== GetRssi ==
No input. Returns an output u32 '''Rssi'''.


[5.0.0+] GetAllowedChannels now returns a total of 4-bytes of output instead of 0x50, and now takes a type-0xA output buffer.
Sends command message 0x2E (GetRssi) to the state machine.


[9.0.0+] Almost all cmds had input/output changed / cmds moved around (?).
== SetMaxAssociationNumber ==
Takes an input u32 '''MaxAssociationNumber'''. No output.


[10.0.0+] Cmd46 now takes a total of 1-byte of input instead of 6-bytes, while cmd47 now takes a total of 6-bytes of input instead of 1-byte.
Sends command message 0x31 (SetMaxAssociationNumber) to the state machine.


= wlan:lg =
= wlan:lg =
Line 574: Line 769:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || GetFrameRaw
| 0 || [[#GetFrameRaw|GetFrameRaw]]
|}
|}
== GetFrameRaw ==
Takes a type-0x6 output buffer and an input u32 '''RxId'''. Returns an output u32 '''FrameSize'''.
Sends command message 0x80 (GetState) to the state machine, to check current state.


= wlan:lga =
= wlan:lga =
Line 584: Line 784:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || GetActionFrame
| 0 || [[#GetActionFrame|GetActionFrame]]
|}
|}


[5.0.0+] Cmd0 now takes an additional 4-bytes of input, and returns an additional 4-bytes of output.
== GetActionFrame ==
Takes a type-0x6 output buffer and an input u32 '''RxId'''. Returns an output [[#MacAddress]] and an output u32 '''ActionFrame'''.
 
[5.0.0+] Now takes another input u32 and returns another output u32.


= wlan:sg =
= wlan:sg =
Line 596: Line 799:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || GetFrameRaw
| 0 || [[#GetFrameRaw_2|GetFrameRaw]]
|}
|}
== GetFrameRaw ==
Takes a type-0x6 output buffer and an input u32 '''RxId'''. Returns an output u32 '''FrameSize'''.


= wlan:soc =
= wlan:soc =
Line 606: Line 812:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || PutFrameRaw
| 0 || [[#PutFrameRaw_2|PutFrameRaw]]
|-
|-
| 1 || CancelGetFrame
| 1 || [[#CancelGetFrame_2|CancelGetFrame]]
|-
|-
| 2 || CreateRxEntry
| 2 || [[#CreateRxEntry_2|CreateRxEntry]]
|-
|-
| 3 || DeleteRxEntry
| 3 || [[#DeleteRxEntry_2|DeleteRxEntry]]
|-
|-
| 4 || AddEthertypeToRxEntry
| 4 || [[#AddEthertypeToRxEntry_2|AddEthertypeToRxEntry]]
|-
|-
| 5 || DeleteEthertypeFromRxEntry
| 5 || [[#DeleteEthertypeFromRxEntry_2|DeleteEthertypeFromRxEntry]]
|-
|-
| 6 || GetMacAddress
| 6 || [[#GetMacAddress_3|GetMacAddress]]
|-
|-
| 7 || SwitchTsfTimerFunction
| 7 || [[#SwitchTsfTimerFunction|SwitchTsfTimerFunction]]
|-
|-
| 8 || GetDeltaTimeBetweenSystemAndTsf
| 8 || [[#GetDeltaTimeBetweenSystemAndTsf|GetDeltaTimeBetweenSystemAndTsf]]
|-
|-
| 9 || RegisterSharedMemory
| 9 || [[#RegisterSharedMemory|RegisterSharedMemory]]
|-
|-
| 10 || UnregisterSharedMemory
| 10 || [[#UnregisterSharedMemory|UnregisterSharedMemory]]
|-
|-
| 11 || EnableSharedMemory
| 11 || [[#EnableSharedMemory|EnableSharedMemory]]
|-
|-
| 12 || [6.0.0+] [[#SetMulticastList]]
| 12 || [6.0.0+] [[#SetMulticastList|SetMulticastList]]
|}
|}
== PutFrameRaw ==
Takes a type-0x5 input buffer. No output.
Sends command message 0x80 (GetState) to the state machine, to check current state.
== CancelGetFrame ==
Takes an input u32 '''RxId'''. No output.
Sends command message 0x80 (GetState) to the state machine, to check current state.
== CreateRxEntry ==
Takes a type-0x9 input buffer and an input u32 '''Capacity'''. Returns an output u32 '''RxId'''.
== DeleteRxEntry ==
Takes an input u32 '''RxId'''. No output.
== AddEthertypeToRxEntry ==
Takes an input u32 '''RxId''' and an input u32 '''Protocol'''. No output.
== DeleteEthertypeFromRxEntry ==
Takes an input u16 '''Protocol'''. Returns an output u32.
== GetMacAddress ==
No input. Returns an output [[#MacAddress]].
Sends command message 0x18 (GetMacAddress) to the state machine.
== SwitchTsfTimerFunction ==
Takes an input bool. No output.
Sends command message 0x2F (SetTsfTimerEventmask) to the state machine.
== GetDeltaTimeBetweenSystemAndTsf ==
No input. Returns an u64 '''DeltaTimeBetweenSystemAndTsf'''.
== RegisterSharedMemory ==
Takes an input SharedMemory handle, an u32 '''SharedMemorySize''' and four input Event handles '''RxPacketEventHandle''', '''TxPacketEventHandle''', '''RxCbufEventHandle''' and '''TxCbufEventHandle'''. No output.
== UnregisterSharedMemory ==
No input/output.
== EnableSharedMemory ==
No input/output.


== SetMulticastList ==
== SetMulticastList ==
Line 786: Line 1,036:
| 0x3A || 0x2 || Reserved
| 0x3A || 0x2 || Reserved
|}
|}
= ClientStatus =
This is a 0xE4-byte struct.


= ScanRequest =
= ScanRequest =
Line 832: Line 1,085:
| 0xC || Variable || Array of [[#BssInfo]]
| 0xC || Variable || Array of [[#BssInfo]]
|}
|}
= Bss =
This is a 0x80-byte struct.
[4.0.0+] This is a 0x84-byte struct.


= BssInfo =
= BssInfo =