WLAN services: Difference between revisions

No edit summary
Line 283: Line 283:


== Cmd24 ==
== Cmd24 ==
No input, returns a 0x20-byte struct and a 0x38-byte struct.
No input, returns a [[#WakeUpStats]] and a [[#SleepStats]].


Sends command message 0x39 to the state machine, with 0x20-bytes from the output being copied to the first output struct. Sends command message 0x3A to the state machine, with 0x38-bytes from the output being copied to the second output struct.
Sends command message 0x39 to the state machine, with 0x20-bytes from the output being copied to the first output struct. Sends command message 0x3A to the state machine, with 0x38-bytes from the output being copied to the second output struct.
Line 914: Line 914:
|-
|-
| 0x1 || 0x30 || Array of [[#MacAddress]]
| 0x1 || 0x30 || Array of [[#MacAddress]]
|}
= WakeUpStats =
This is a 0x20-byte struct.
This is updated during RequestWakeUp. The fields starting with offset +0x4 are updated when handling [[#Cmd19|wowl]], which counter is updated depends on the value of iovar "tcpka_wake_cause".
{| class="wikitable" border="1"
|-
! Offset
! Size
! Description
|-
| 0x0 || 0x4 || Number of normal non-wowl wakeups. Also incremented during wowl handling if the output from the func using "tcpka_wake_cause" is 0.
|-
| 0x4 || 0x4 ||
|-
| 0x8 || 0x4 ||
|-
| 0xC || 0x4 ||
|-
| 0x10 || 0x4 ||
|-
| 0x14 || 0x4 ||
|-
| 0x18 || 0x4 ||
|-
| 0x1C || 0x4 || Number of wowl wakeups where the cause is unrecognized.
|}
= SleepStats =
This is a 0x38-byte struct.
During RequestWakeUp when handling [[#Cmd19|wowl]], this data in state is updated by adding each field with the corresponding field from iovar "sleep_stats_get".
{| class="wikitable" border="1"
|-
! Offset
! Size
! Description
|-
| 0x0 || 0x4 ||
|-
| 0x4 || 0x4 ||
|-
| 0x8 || 0x4 ||
|-
| 0xC || 0x4 ||
|-
| 0x10 || 0x4 ||
|-
| 0x14 || 0x4 ||
|-
| 0x18 || 0x4 ||
|-
| 0x1C || 0x4 ||
|-
| 0x20 || 0x4 ||
|-
| 0x24 || 0x4 ||
|-
| 0x28 || 0x4 ||
|-
| 0x2C || 0x4 ||
|-
| 0x30 || 0x4 ||
|-
| 0x34 || 0x4 ||
|}
|}