# MBCommPState

## Definitions

  `#include <nitro/mb.h>`

      typedef enum
      {
      MB_COMM_PSTATE_NONE,
      MB_COMM_PSTATE_INIT_COMPLETE,
      MB_COMM_PSTATE_CONNECTED,
      MB_COMM_PSTATE_DISCONNECTED,
      MB_COMM_PSTATE_KICKED,
      MB_COMM_PSTATE_REQ_ACCEPTED,
      MB_COMM_PSTATE_SEND_PROCEED,
      MB_COMM_PSTATE_SEND_COMPLETE,
      MB_COMM_PSTATE_BOOT_REQUEST,
      MB_COMM_PSTATE_BOOT_STARTABLE,
      MB_COMM_PSTATE_REQUESTED,
      MB_COMM_PSTATE_MEMBER_FULL,
      MB_COMM_PSTATE_END,
      MB_COMM_PSTATE_ERROR,
      MB_COMM_PSTATE_WAIT_TO_SEND,

      MB_COMM_PSTATE_WM_EVENT = 0x80000000
      } MBCommPState;

## Description

Indicates the enumerator constant showing the state of the multi-boot parent. The meaning of each enumerator constant is shown in the following table:

Constant | Description
MB_COMM_PSTATE_NONE | Indicates the parent idle state.
MB_COMM_PSTATE_INIT_COMPLETE | Indicates callback when the `MB_StartParent` function is complete. With the callback of `MB_CommSetParentStateCallback`, pointer to the `WMCallback` type, which is the `WM_SetParentParameter` function completion callback argument, is passed to the argument `arg`. This is not a callback for the status of a specific child, so `0` is passed as the argument `child_aid`.
MB_COMM_PSTATE_CONNECTED | Indicates the state immediately following connection from a child. With the callback of `MB_CommSetParentStateCallback`, the `WMStartParentCallback` type pointer at the `WM_STATECODE_CHILD_CONNECTED` status is passed to the argument `arg`. The number of the target child is passed to the argument `child_aid`.
MB_COMM_PSTATE_DISCONNECTED | Indicates the status immediately after disconnection of a child. With the callback of `MB_CommSetParentStateCallback`, the `WMStartParentCallback` type pointer in `WM_STATECODE_DISCONNECTED` status is passed to the argument `arg`. The number of the target child is passed to the argument `child_aid`.
MB_COMM_PSTATE_KICKED | Indicates the status immediately after the completion of the connection rejection response to a child. With the callback of `MB_CommSetParentStateCallback`, `NULL` is passed to the argument `arg`. The number of the target child is passed to the argument `child_aid`.
MB_COMM_PSTATE_REQ_ACCEPTED | Indicates the state immediately after the connection request to a child has completed. With the callback of `MB_CommSetParentStateCallback`, `NULL` is passed to the argument `arg`. The number of the target child is passed to the argument `child_aid`.
MB_COMM_PSTATE_WAIT_TO_SEND | Indicates that a child has entered the download standby state. With the callback of `MB_CommSetParentStateCallback`, `NULL` is passed to the argument `arg`. The number of the target child is passed to the argument `child_aid`.
MB_COMM_PSTATE_SEND_PROCEED | Indicates the state in which the download to a child is proceeding normally. With the callback of `MB_CommSetParentStateCallback`, `NULL` is passed to the argument `arg`. Callback is called only once when the download started. The number of the target child is passed to the argument `child_aid`.
MB_COMM_PSTATE_SEND_COMPLETE | Indicates the state immediately after the download to a child had completed. With the callback of `MB_CommSetParentStateCallback`, `NULL` is passed to the argument `arg`. The number of the target child is passed to the argument `child_aid`.
MB_COMM_PSTATE_BOOT_REQUEST | Indicates the state where the boot request is being sent to a child. Changes into this state when `MB_CommBootRequest` or `MB_CommBootRequestAll` is called. The number of the target child is passed to the argument `child_aid`.
MB_COMM_PSTATE_BOOT_STARTABLE | Indicates the state where immediately after the boot request to a child has completed properly. With the callback of `MB_CommSetParentStateCallback`, `NULL` is passed to the argument `arg`. The number of the target child is passed to the argument `child_aid`.
MB_COMM_PSTATE_REQUESTED | Indicates the state that is immediately after receiving the download request from a child. With the callback of `MB_CommSetParentStateCallback`, the `MBUserInfo` type pointer that stores the child's user data is passed to the argument `arg`. The number of the target child is passed to the argument `child_aid`.
MB_COMM_PSTATE_MEMBER_FULL | Indicates the state immediately after the download process from a child was forcibly cancelled because it has reached the maximum number of people. With the callback of `MB_CommSetParentStateCallback`, `NULL` is passed to the argument `arg`. The number of the target child is passed to the argument `child_aid`.
MB_COMM_PSTATE_END | Indicates the callback of the `MB_End` function completion. With the callback of `MB_CommSetParentStateCallback`, `NULL` is passed to the argument `arg`. This is not a callback for the status of a specific child, so `0` is passed as the argument `child_aid`.
MB_COMM_PSTATE_ERROR | Indicates the callback that notifies the various errors that were generated in the MP library. With the `MB_CommSetParentStateCallback` callback, a pointer to the `MBErrorStatus` type which the error cause is stored is passed to the argument `arg`.
MB_COMM_PSTATE_WM_EVENT | Used internally in the library.

## See Also

`MB_CommSetParentStateCallback`, `MB_CommGetParentState`

## Revision History

10/05/2004 Added enumerator types.
09/30/2004 Added numerator types.
09/27/2004 Revised description.
09/10/2004 Added description regarding the callback argument of the `MB_CommSetParentStateCallback` function.
08/09/2004 Initial version.