# WVR_StartUpAsync

## C Specification

      #include <nitro/wvr.h>

      WVRResult WVR_StartUpAsync(
          GXVRamARM7      vram ,
          WVRCallbackFunc callback ,
          void*           arg
      );

## Arguments

vram

Designates the VRAM bank to allocate to ARM7. The ARM7-side wireless driver will begin to operate on this VRAM.
Below are the possible configuration values: `

- GX_VRAM_ARM7_128_C
- GX_VRAM_ARM7_128_D
- GX_VRAM_ARM7_256_CD

`

callback | Designates the callback function to call when the asynchronous process completes. This callback is called from within the interrupt handler.
arg | Designates optional arguments to be passed to the callback function called when the asynchronous process is complete.

## Return Values

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

## Description

Allocates a VRAM bank to the ARM7-side wireless driver, then starts the operations for that driver. If the return value was `WVR_RESULT_OPERATING`, the callback function is called from inside the PXI receive interrupt handler when the asynchronous process is complete. This function is relevant only when the ichneumon component, which contains features for operating the wireless driver in VRAM, is being used. For all other components, `WVR_RESULT_DISABLE` will be returned and this function will fail. If the ichneumon component is being used, the wireless communication features cannot be used as long as the wireless driver is not put into operation via this function. Before the wireless driver starts up, the `WM_Init` function will return `WM_ERRCODE_DISABLE` and will fail. The wireless driver can only be allocated to the VRAM banks VRAM-C and VRAM-D, but if these VRAM banks are already allocated for another application by the GX library, this function will fail. In that case, try to call this function after putting the VRAM bank to be used into a "Not allocated for any application" state with a function such as `GX_DisableBankFor*`. Conversely, if the VRAM bank is allocated to the wireless driver via this function, the designated VRAM bank will be unable to be allocated for any other application until the wireless driver is stopped by the `WVR_TerminateAsync` function. There are no differences for the wireless driver due to the VRAM that is allocated. The allocation of either VRAM-C or VRAM-D has the same effect on the operations of the wireless driver. Select the VRAM that you want to allocate based on how VRAM-C and VRAM-D will be used. Before calling this function, `OS_InitLock` or `OS_Init` must be called.

## See Also

`WVR_TerminateAsync, WM_Init`

## Revision History

06/27/2005 Added statement about callback being called from the interrupt handler.
03/14/2005 Corrected mistake with link destination.
03/08/2005 Standardized the use of the term 'interrupt' in Japanese.
03/01/2005 Added to Description.
02/16/2005 Initial version

CONFIDENTIAL