# WMGetWirelessCounterCallback

## C Specification

  `#include <nitro/wm.h>`

      typedef struct WMGetWirelessCounterCallback
      {
          u16     apiid;
          u16     errcode;
          u16     wlCmdID;
          u16     wlResult;
          u32     TX_Success;
          u32     TX_Failed;
          u32     TX_Retry;
          u32     TX_AckError;
          u32     TX_Unicast;
          u32     TX_Multicast;
          u32     TX_WEP;
          u32     TX_Beacon;
          u32     RX_RTS;
          u32     RX_Fragment;
          u32     RX_Unicast;
          u32     RX_Multicast;
          u32     RX_WEP;
          u32     RX_Beacon;
          u32     RX_FCSError;
          u32     RX_DuplicateError;
          u32     RX_MPDuplicateError;
          u32     RX_ICVError;
          u32     RX_FrameCtrlError;
          u32     RX_LengthError;
          u32     RX_PLCPError;
          u32     RX_BufferOverflowError;
          u32     RX_PathError;
          u32     RX_RateError;
          u32     RX_FCSOK;
          u32     TX_MP;
          u32     TX_KeyData;
          u32     TX_NullKey;
          u32     RX_MP;
          u32     RX_MPACK;
          u32     MPKeyResponseError[15];

      } WMGetWirelessCounterCallback;

## Description

The structure passed to the callback function for `WM_GetWirelessCounter`.

## Arguments

`apiid` | Specifies the API ID responsible for callback generation. This argument is the same with the `WMApiid` enumerator type. Fixed here by `WM_APIID_GET_W_COUNTER`.
`errcode` | The results of asynchronous processing. This argument is the same with the `WMErrCode` enumerator type.
`wlCmdID` | When the errcode is `WM_ERRCODE_FAILED`, stores the ID of the command having an error in the wireless firmware.
`wlResult` | When errcode is `WM_ERRCODE_FAILED`, stores the element code having an error in the wireless firmware.
`TX_Success` | Stores the number of times that the function was able to send normally.
`TX_Failed` | Stores the number of times that the function failed to send normally.
`TX_Retry` | Stores the number of times that the function retried.
`TX_AckError` | Stores the number of times the function was unable to receive the desired ACK frame.
`TX_Unicast` | Stores the number of Unicast address frames that were sent normally.
`TX_Multicast` | Stores the number of Multicast address frames that were sent normally.
`TX_WEP` | Stores the number of code frames that were sent normally.
`TX_Beacon` | Stores the number of Beacon frames that were sent normally.
`RX_RTS` | Stores the number of times the function received RTS and performed CTS response.
`RX_Fragment` | Stores the number of times fragmented frames were received.
`RX_Unicast` | Stores the number times Unicast address frames were received.
`RX_Multicast` | Stores the number of times Multicast address frames were received.
`RX_WEP` | Stores the number of times code frames were received that could be decoded normally.
`RX_Beacon` | Stores the number of times that Beacon frame were received.
`RX_FCSError` | Stores the number of times FCS errors occurred.
`RX_DuplicateError` | Stores the number of occurrences of duplication errors.
`RX_MPDuplicateError` | Stores the number of occurrences of MP frame duplication errors.
`RX_ICVError` | Stores the number of occurrences of ICV errors.
`RX_FrameCtrlError` | Stores the number of times frames having illegal FrameCtrl were received.
`RX_LengthError` | Stores the number of times frames shorter or longer than the set length were received.
`RX_PLCPError` | Stores the number of occurrences of CRC errors of the PLCP.
`RX_BufferOverflowError` | Stores the number of times the receive buffer overflowed.
`RX_PathError` | Stores the number of occurrences of errors in the receive block.
`RX_RateError` | Stores the number of times frames with illegal receive rates were received.
`RX_FCSOK` | Stores the number of times a frame with a normal FCS was received.
`TX_MP` | Stores the number of times an MP frame was sent.
`TX_KeyData` | Stores the number of times MP-KeyData frames were sent.
`TX_NullKey` | Stores the number of times MP-NullKey frames were sent.
`RX_MP` | Stores the number of times normal MP frames were received.
`RX_MPACK` | Stores the number of times normal MPACK frames were received.
`MPKeyResponseError` | Stores the number of times each child did not respond normally to Key requests.

## Revision History

08/11/2004 Initial version