# WM_SetWEPKey

## C Specification

      #include <nitro/wm.h>

      WMErrCode WM_SetWEPKey(
              WMCallbackFunc  callback ,
              u16             wepmode ,
              const u16*      wepkey );

## Description

Configures the encryption feature and the encryption keys

This function is only executable when the WM is in the `IDLE` state.

If the return value is `WM_ERRCODE_OPERATING`, a callback is generated after the encryption function setting process is complete.

## Arguments

`callback` | Callback function to call when an asynchronous process completes.
`wepmode` | 0: No encryption feature 1: RC4 (40-bit) encryption mode 2: RC4 (104-bit) encryption mode 3: RC4 (128-bit) encryption mode

`wepkey`

Pointer to encryption key data (80-bytes). Key data consists of 4 data units of 20 bytes each. Each 20-byte section uses the following amount of data:

- In 40-bit mode, 5 bytes
- In 104-bit mode, 13 bytes
- In 128-bit mode, 16 bytes

This data entity is forcibly cached.

## Return Values

Returns the process result as a `WMErrCode` enumerated type.

## Revision History

10/22/2004 Changed return value type
07/29/2004 Standardized structure names
07/23/2004 Added descriptions
07/23/2004 Initial Version