# WM_InitializeForListening

## Syntax

      #include <nitro/wm.h>

      WMErrCode WM_InitializeForListening(
              void*           wmSysBuf ,
              WMCallbackFunc  callback ,
              u16             dmaNo,
              BOOL            blink
      );

## Arguments

wmSysBuf | A pointer to the buffer allocated by the calling source. The buffer must have a size of `WM_SYSTEM_BUF_SIZE` and be 32-byte aligned.
callback | Designates the callback function to call when the asynchronous process completes. This callback is called from within the interrupt handler.
dmaNo | The DMA number that the WM uses. Use a valid DMA number (0-3).
blink | Specifies TRUE if the power LED is flashing at variable speed.

## Return Values

Returns the results of the `WMErrCode` enumerated type process.

## Description

Initializes the WM library in receive-only mode and starts the wireless hardware. If the return value is `WM_ERRCODE_OPERATING`, a callback is generated after the initialization process is complete. This function changes the WM from the `READY` state to the `IDLE` state. Do not free wmSysBuf until `WM_Finish` or `WM_End` ends successfully. Note that this function consolidates the functionalities of `WM_Init`, `WM_EnableForListening`, and `WM_PowerOn`. Use these functions separately for low-level control of the initialization process.

Unlike `WM_Initialize`, operations that require transmitting wireless signals will not be available if this function is used for initialization. In exchange, it is possible to make the power LED stop flashing. Scanning in passive mode and measuring channel availability are examples of operations that do not require transmitting wireless signals.

## See Also

`WM_Initialize, WM_SetIndCallback, WM_Reset, WM_End, WM_Init, WM_EnableForListening, WM_PowerOn`

## Revision History

2007/11/12 Initial version.

CONFIDENTIAL