# List of Single-Card Play (MB) API functions

### Initialization

MB_Init | Initializes the library.
MB_End | Ends the library. The wireless library reverts to the state before initialization.
MB_EndToIdle | Ends the library. The wireless library changes to the IDLE state.
MB_GetParentSystemBufSize | Obtains the size of the work memory used by MB.
MB_GetTgid | Obtains TGID specified at the time of initialization.

### Child (after multiboot)

MB_IsMultiBootChild | Determines whether the program itself is a multiboot child.
MB_GetMultiBootParentBssDesc | Gets the multiboot parent information.
MB_GetMultiBootDownloadParameter | Obtains the user-defined extended parameters during download.
MB_ReadMultiBootParentBssDesc | Obtains the information for the `WM_StartConnect` function based on the multiboot parent information.
MB_GetUserVolatData | Extracts the user data in `MBGameInfoVolatile` from the MB parent beacon.

### Parent

MB_SetParentCommSize | Sets the communication data size of the parent.
MB_SetParentCommParam | Sets the communication data size of the parent and the maximum number of children to be connected.
MB_SetPowerSaveMode | Sets the parent's wireless energy saving mode.
MB_SetLifeTime | Sets lifetimes for parent's wireless communication.
MB_StartParent | Starts processing as a multiboot parent.
MB_StartParentFromIdle | Starts processing as a multiboot parent with the wireless library in the IDLE state.
MB_CommGetChildrenNumber | Gets the total number of connected children.
MB_CommGetChildUser | Gets the connection information for the specified child.
MB_CommGetParentState | Gets the state of the current parent.
MB_CommSetParentStateCallback | Sets the callback function, which notifies you of changes to the parent state.
MB_GetSegmentLength | Gets the segment length for the specified program.
MB_ReadSegment | Gets the segment information from the specified program.
MB_RegisterFile | Registers the specified program in the download process.
MB_UnregisterFile | Specifies a registered program and releases from the download list.
MB_CommResponseRequest | Transmits a response notice to the child that is requesting the connection.
MB_CommStartSending | Transmits a download start notice to a specific child that has been granted the connection request.
MB_CommStartSendingAll | Sends the download start notification to all of the children that have been granted the connection request.
MB_CommIsBootable | Determines whether the specific child is bootable.
MB_CommBootRequest | Sends the boot request to a specific bootable child.
MB_CommBootRequestAll | Sends the boot request to all of the bootable children.
MB_DisconnectChild | Forcibly disconnects a child device.
MB_GetGameEntryBitmap | Gets all AID bitmaps that are entered for the specified game information.
MB_SetSendVolatCallback | Sets the callback used when sending `MBGameInfoVolatile` as a beacon.
MB_SetUserVolatData | Sets the user info in `MBGameInfoVolatile`.

### Fake Multiboot Child

MB_FakeInit | Initializes a fake multiboot child.
MB_FakeEnd | Ends a fake multiboot child process. Use this function to terminate the process when download is successful or when cancelling.
MB_FakeGetWorkSize | Obtains the buffer size required for a fake multiboot child.
MB_FakeStartScanParent | Starts scanning multiboot parent.
MB_FakeEndScan | Ends scanning for a multiboot parent.
MB_FakeSetCStateCallback | Sets a callback function that broadcasts the entry state to a multiboot parent.
MB_FakeEntryToParent | Makes an entry to a multiboot parent.
MB_FakeGetParentGameInfo | Obtains a scanned multiboot parent's game information.
MB_FakeGetParentBssDesc | Obtains a scanned multiboot parent's connection information.
MB_FakeReadParentBssDesc | Obtains a scanned multiboot parent's connection information, including flag or packet size settings.

### Constants and Structures

MB_COMM_PARENT_* | Constant that shows the range of the size that can be set for the communication by a multiboot parent.
MB_SEGMENT_BUFFER_MIN | Constant that shows the minimum buffer size required for the `MB_ReadSegment` function.
MB_ICON_* | Various constants that define the format of multiboot icons.
MB_GAME_* | Various constants that define the format of multiboot game information.
MB_USER_* | Various constants that define the format of multiboot user information.
MB_TGID_AUTO | Constant that specifies automatic generation of TGID.
MB_FAKE_WORK_SIZE | This is a constant that expresses the work buffer size needed by the fake multiboot child.
MBErrorStatus | Structure that is passed as the argument of the `MB_COMM_PSTATE_ERROR` callback.
MBErrCode | Enumerator type that defines the error codes of the MB library.
MBCommPState | The enumerator showing the parent state.
MBCommCState | Enumerated value that indicates the child state when using a fake child.
MBCommResponseRequestType | Enumerated value for indicating the type of response to the child connection request.
MBCommPStateCallback | The format of the callback function, which notifies you of changes to the parent state.
MBCommCStateCallbackFunc | Callback function format that indicates update of a fake child state.
MBGameRegistry | The structure showing game information registered in the download process.
MBIconInfo | The structure showing the format of user icons.
MBUserInfo | The structure showing user information.
MBParentBssDesc | The structure showing connection information for the multiboot parent.
MBGameInfo | The structure showing a multiboot parent's game information.
MBFakeScanCallback | The parent information structure that can be obtained with a parent scan callback.
MBFakeScanCallbackFunc | The callback function by which the parent scan callback is notified.
MBFakeScanErrorCallback | The error information structure notified as a callback argument if an error occurs during a parent scan.