# WMGetWirelessCounterCallback

## Definitions

  `#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;

## Elements

apiid | This is the ID of the API that acts as the source for the callback generation. It is synonymous to the `WMApiid` enumerated type. Fixed here by `WM_APIID_GET_W_COUNTER`.
errcode | This is the result of the asynchronous process. It is synonymous to the `WMErrCode` enumerated type.
wlCmdID | If errcode is `WM_ERRCODE_FAILED`, this function will store the ID of the command that was in error in the wireless firmware.
wlResult | If errcode is `WM_ERRCODE_FAILED`, this function will store the code was the source of the 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. Note:
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. Note:
RX_Beacon | Stores the number of times that beacon frames were received.
RX_FCSError | Stores the number of times FCS errors occurred. Note:
RX_DuplicateError | Stores the number of occurrences of duplication errors. Note:
RX_MPDuplicateError | Stores the number of occurrences of MP frame duplication errors. Note:
RX_ICVError | Stores the number of occurrences of ICV errors. Note:
RX_FrameCtrlError | Stores the number of times frames having illegal FrameCtrl were received. Note:
RX_LengthError | Stores the number of times frames shorter or longer than the set length were received. Note:
RX_PLCPError | Stores the number of occurrences of CRC errors of the PLCP. Note:
RX_BufferOverflowError | Stores the number of times the receive buffer overflowed. Note:
RX_PathError | Stores the number of occurrences of errors in the receive block. Note:
RX_RateError | Stores the number of times frames with illegal receive rates were received. Note:
RX_FCSOK | Stores the number of times a frame with a normal FCS was received. Note:
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.

Note:
Sometimes a value does not meet the actual total results due to the possibility that the counter in hardware may be cleared unexpectedly.

## Description

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

## Revision History

2005/11/11 Added a note.
2004/08/11 Initial version.

CONFIDENTIAL