# MBCommPState

## Definition

  `#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 the completion callback for the `MB_StartParent` function.
The `WMCallback`-type pointer passed as the completion callback argument to the `WM_SetParentParameter` function will also be passed as the `arg` argument to the `MB_CommSetParentStateCallback` function's callback.
This is not a callback for the status of a specific child, so zero is passed to the `child_aid` argument.

MB_COMM_PSTATE_CONNECTED

Indicates the state immediately following connection from a child. The `WMStartParentCallback`-type pointer for the `WM_STATECODE_CHILD_CONNECTED` state will be passed as the `arg` argument to the `MB_CommSetParentStateCallback` function's callback.
The number of the target child is passed to the `child_aid` argument.

MB_COMM_PSTATE_DISCONNECTED | Indicates the status immediately after disconnection of a child. The `WMStartParentCallback`-type pointer for the `WM_STATECODE_DISCONNECTED` state will be passed as the `arg` argument to the `MB_CommSetParentStateCallback` function's callback. The number of the target child is passed to the `child_aid` argument.
MB_COMM_PSTATE_KICKED | Indicates the status immediately after the completion of the connection rejection response to a child. `NULL` will be passed as the `arg` argument to the `MB_CommSetParentStateCallback` function's callback. The number of the target child is passed to the `child_aid` argument.
MB_COMM_PSTATE_REQ_ACCEPTED | Indicates the state immediately after the connection request to a child has completed. `NULL` will be passed as the `arg` argument to the `MB_CommSetParentStateCallback` function's callback. The number of the target child is passed to the `child_aid` argument.
MB_COMM_PSTATE_WAIT_TO_SEND | Indicates that a child has entered the download standby state. `NULL` will be passed as the `arg` argument to the `MB_CommSetParentStateCallback` function's callback. The number of the target child is passed to the `child_aid` argument.
MB_COMM_PSTATE_SEND_PROCEED | Indicates the state in which the download to a child is proceeding normally. `NULL` will be passed as the `arg` argument to the `MB_CommSetParentStateCallback` function's callback. Callback is called only once when the download started. The number of the target child is passed to the `child_aid` argument.
MB_COMM_PSTATE_SEND_COMPLETE | Indicates the state immediately after the download to a child had completed. `NULL` will be passed as the `arg` argument to the `MB_CommSetParentStateCallback` function's callback. The number of the target child is passed to the `child_aid` argument.
MB_COMM_PSTATE_BOOT_REQUEST | Indicates the state where the boot request is being sent to a child. A transition to this state will occur when the `MB_CommBootRequest` or `MB_CommBootRequestAll` function is called. The number of the target child is passed to the `child_aid` argument.
MB_COMM_PSTATE_BOOT_STARTABLE | Indicates the state where immediately after the boot request to a child has completed properly. `NULL` will be passed as the `arg` argument to the `MB_CommSetParentStateCallback` function's callback. The number of the target child is passed to the `child_aid` argument.

MB_COMM_PSTATE_REQUESTED

Indicates the state that is immediately after receiving the download request from a child. A pointer to the `MBUserInfo` that stores the child device's user data will be passed as the `arg` argument to the `MB_CommSetParentStateCallback` function's callback.
The number of the target child is passed to the `child_aid` argument.

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. `NULL` will be passed as the `arg` argument to the `MB_CommSetParentStateCallback` function's callback.
The number of the target child is passed to the `child_aid` argument.

MB_COMM_PSTATE_END | Indicates the completion callback for the `MB_End` function. `NULL` is passed as the `arg` argument to the `MB_CommSetParentStateCallback` function's callback. This is not a callback for the status of a specific child, so zero is passed to the `child_aid` argument.

MB_COMM_PSTATE_ERROR

Indicates the callback that notifies the various errors that were generated in the MP library. A pointer to the `MBErrorStatus` that stores the cause of the error will be passed as the `arg` argument to the `MB_CommSetParentStateCallback` function's callback.

MB_COMM_PSTATE_WM_EVENT | Used internally in the library.

## See Also

`MB_CommSetParentStateCallback`
`MB_CommGetParentState`

## Revision History

2004/10/05 Added enumerator types.
2004/09/30 Added enumerator types.
2004/09/27 Revised descriptions.
2004/09/10 Added descriptions for the arguments to the `MB_CommSetParentStateCallback` function's arguments.
2004/08/09 Initial version.

CONFIDENTIAL