# List of Wireless Manager (WM) API functions

### Initialization

WM_Init | Initializes the wireless library.
WM_Finish | Terminates the wireless library.
WM_Enable | Enables wireless hardware.
WM_Disable | Disables the wireless hardware.
WM_PowerOn | Starts up the wireless hardware.
WM_PowerOff | Shuts down the wireless hardware.
WM_Initialize | Initializes the wireless library and starts up the wireless hardware.
WM_End | Shuts down the wireless hardware and terminates the wireless library.

### Initial Settings

WM_SetIndCallback | Configures the callback function that is used for indication notification.
WM_Reset | Resets the wireless library, initializes it, and returns the wireless hardware to the state immediately after initialization.
WM_ReadStatus | Obtains the structure that indicates the state of the wireless library.
WM_SetParentParameter | Sets the parent parameters.
WM_StartParent | Starts communications as a parent.
WM_EndParent | Stops communications as a parent.
WM_StartScan | Starts, as a child, a scan for a parent.
WM_StartScanEx | Starts, as a child, a scan for a parent using detailed settings.
WM_EndScan | Stops the child scan process.
WM_StartConnect | Starts, as a child, a connection to a parent.
WM_StartConnectEx | Starts, as a child, a connection to a parent. Allows use of energy-saving mode after making connection and authentication mode during connection.
WM_Disconnect | Disconnects an established connection.
WM_DisconnectChildren | Disconnects the established connection with all of the children.
WM_SetGameInfo | Configures game information.
WM_SetEntry | Changes the receive entry status of a parent.

### MP Communication

WM_GetMPReceiveBufferSize | Obtains the size of the receive buffer that is required for MP communication.
WM_GetMPSendBufferSize | Obtains the size of the send buffer that is required for MP communication.
WM_StartMP | Starts MP communications. This function is common to parent and child.
WM_StartMPEx | Starts MP communications by specifying a detailed operation mode. This function is common to parent and child.
WM_EndMP | Stops MP communications. This function is common to parent and child.
WM_SetMPDataToPort | Reserves send data to be sent to the specific port by MP communication. This function is common to parent and child.
WM_SetMPDataToPortEx | Reserves send data to be sent to the specific port by MP communication. This function is common to parent and child.
WM_SetPortCallback | Specifies the callback function for receiving data at a specific port.
WM_StartDataSharing | Starts data sharing with MP communication.
WM_EndDataSharing | Stops data sharing.
WM_StepDataSharing | Proceeds with the synchronization of data sharing.
WM_GetSharedDataAddress | Extracts each terminal's data from the shared data.
WM_StartKeySharing | Enables the key sharing feature.
WM_EndKeySharing | Disables the key sharing feature.
WM_GetKeySet | Reads 1 key set that is key-shared.
WM_SIZE_MP_PARENT_RECEIVE_BUFFER | Specifies the receive buffer size that is required by the parent for MP communication.
WM_SIZE_MP_PARENT_SEND_BUFFER | Specifies the send buffer size that is required by the parent for MP communication.
WM_SIZE_MP_CHILD_RECEIVE_BUFFER | Specifies the receive buffer size that is required by a child for MP communication.
WM_SIZE_MP_CHILD_SEND_BUFFER | Specifies the send buffer size that is required by a child for MP communication.
WM_SetMPData | Reserves data to be sent when using MP communications. This function is common to parent and child.
WM_ReadMPData | Extracts a specified child's data from overall received data.
WM_GetAID | Gets the current AID.
WM_GetConnectedAIDs | Gets the current connection partner in a bitmap format.
WM_SetMPParameter | Sets various parameters used for MP communications.
WM_SetMPFrequency | Specifies the communication frequency of MP communication. This function is used only for the parent.
WM_SetMPChildSize | Sets the child send capacity.
WM_SetMPParentSize | Sets the parent send capacity.
WM_SetMPInterval | Sets the interval during which MP communications may be performed continuously during a single frame.
WM_SetMPTiming | Sets the timing at which preparations for MP communications should be started during frame synchronous communication mode.

### Infrastructure Mode Communications

WM_StartDCF | Starts infrastructure mode communications.
WM_SetDCFData | Reserves data to be sent when using infrastructure mode communications.
WM_EndDCF | Ends infrastructure mode communications.

### Other

WM_SetWEPKey | Configures the encryption feature and encryption keys.
WM_SetWEPKeyEx | Sets the encryption function and encryption key and selects the key to use.
WM_SetBeaconIndication | Switches the beacon transmission indication between the enabled and the disabled state.
WM_SetLifeTime | Sets the lifetime for communication.
WM_MeasureChannel | Measures the usage rate of radio waves.
WM_InitWirelessCounter | Initializes the counter for the send/receive frame count.
WM_GetWirelessCounter | Obtains the current value of the counter for the send/receive frame count.
WM_GetAllowedChannel | Obtains a channel to be used for the wireless communication.
WM_IsExistAllowedChannel | Confirms the existence of channels permitted for use during wireless communication.
WM_IsValidGameBeacon | Checks if the obtained beacon information is from a DS wireless play parent.
WM_IsValidGameInfo | Check if the game information structure is of the corresponding format.
WM_GetLinkLevel | Obtains the link level of the communication with the other device.
WM_GetDispersionBeaconPeriod | Obtains beacon period to be set when starting communication as parent device.
WM_GetDispersionScanPeriod | Obtains maximum scan period to be set when searching for parent device as child device.
WM_GetNextTgid | Automatically generates the TGID value and obtains it.
WM_ConvGgid* | Converts the game group ID.
WM_IsBssidEqual | Determines if two BSSIDs are the same.
WM_IsBssidEqual16 | Compares two BSSIDs to determine if they match in units of 16 bits.
WM_CopyBssid | Copies the BSSID.
WM_CopyBssid16 | Copies a BSSID in 16 bit units.
WM_SetPowerSaveMode | Sets the power saving mode during infrastructure communication.

### Constants

WMApiid | Enumerated type to indicate the ID of the API.
WMStateCode | Enumerated type to indicate the callback type.
WMErrCode | This enumerated type indicates process results that are common to WM operation functions.
WMPort | Enumerated type to indicate the data send/receive port for MP communication.
WMLinkLevel | Enumerated type to indicate the link level of the communication.

### Types, Structures

WMDataSet | Structure for indicating the data that is shared by the data sharing feature.
WMKeySet | Structure for indicating the shared key information obtained with the key sharing function.
WMKeySetBuf | Structure for indicating the ring buffer structure to keep the shared key information obtained with the key sharing function.
WMParentParam | Structure for gathering information to be set before starting activities as a parent.
WMScanParam | This structure is a collection of the information that must be set on a child machine when it begins scanning for a parent.
WMScanExParam | Structure for information to be set when a child scans for a parent under detailed settings.
WMGameInfo | Structure that stores the parent scan information obtained with the `WM_StartScan` function.
WMBssDesc | Structure that stores the parent scan information obtained with the `WM_StartScan` function.
WMCallbackFunc | User callback function type.
WMStartParentCallback | The structure that is passed to the callback function that is related to `WM_StartParent`.
WMStartScanCallback | The structure that is passed to the callback function that is related to `WM_StartScan`.
WMStartScanExCallback | This is a structure that is passed to the callback function for `WM_StartScanEx`.
WMStartConnectCallback | Structure to be passed to the callback function for `WM_StartConnect` and `WM_StartConnectEx`.
WMDisconnectCallback | This is the structure passed to the callback function for `WM_Disconnect` and `WM_DisconnectChildren`.
WMStartMPCallback | The structure that is passed to the callback function that is called by `WM_StartMP`.
WMPortSendCallback | Structure to be passed to the callback function set with `WM_SetMPDataToPort`, `WM_SetMPDataToPortEx`, and `WM_SetMPData`.
WMStartDCFCallback | The structure that is passed to the callback function that is related to `WM_StartDCF`.
WMMeasureChannelCallback | This is the structure that is passed to the callback function for `WM_MeasureChannel`.
WMGetWirelessCounterCallback | The structure passed to the callback function for `WM_GetWirelessCounter`.
WMIndCallback | Structure to be passed to the callback function set with `WM_SetIndCallback`.
WMBeaconRecvIndCallback | Structure to be passed to the callback function set with `WM_SetIndCallback` when the beacon is received.
WMPortRecvCallback | This structure is passed to the callback function is set by the `WM_SetPortCallback` function.
WMCallback | This structure is passed to the callback function of a normal WM asynchronous process function.
WMMPParam | Structure for gathering information to be set before starting activities as a parent.
WMSetMPParameterCallback | This structure is passed to the callback function for `WM_StartDCF`.

### Figures and information

WM state diagram | Table that shows the transition of the internal states of each API of WM.
Wireless communication time calculation sheet | Sheet that helps you calculate from the send size the time that is required for one communication.

CONFIDENTIAL