# WMParentParam

## Definition

  `#include <nitro/wm.h>`

      typedef struct WMParentParam
      {
          u16*    userGameInfo;
          u16     userGameInfoLength;
          u16     padding
          u32     ggid;
          u16     tgid;
          u16     entryFlag;
          u16     maxEntry;
          u16     multiBootFlag;
          u16     KS_Flag;
          u16     CS_Flag;
          u16         beaconPeriod;
          u16     rsv1[4];
          u16     rsv2[8];
          u16         channel;
          u16     parentMaxSize;
          u16    childMaxSize;
          u16     rsv[4];

      } WMParentParam;

## Elements

`userGameInfo` | Pointer to user game information.
`userGameInfoLength` | Size of user game information in bytes. A maximum of 112 bytes can be specified.
`ggid` | Game group ID that is allocated for each title or series. Specified as 4-byte data.
`tgid` | Temporary group ID. This argument must be a value that is different from the one that begins activity as a parent.
`entryFlag` | Flag that permits a connection from a child. Set to 0 or 1. A connection from the child is permitted when this flag is set to 1.
`maxEntry` | Number of children that are permitted for the connection. Connection is denied once the number of children that are connected exceed this number. Up to 15 children can be connected. Use a value from 1 through 15.
`multiBootFlag` | Flag that indicates a multiboot parent. Set to 0 or 1. When set to 1, the machine will act as a parent that sends multiboot data. When acting as a multiboot parent, this will be set to 1 automatically by the MB library. Therefore, this should usually be set to 0.
`KS_Flag` | Available to maintain compatibility with older versions. Specify 0.
`CS_Flag` | Allows the function to maintain compatibility with previous versions and is no longer used.
`beaconPeriod` | Interval, in milliseconds, for regularly sending the broadcast data (this structure's data) for the child. Set to a value from 10 through 1,000. Normally, the value obtained in the `WM_GetDispersionBeaconPeriod` function should be designated here.
`rsv1 rsv2` | Reserved regions. These members may be deleted in the future.
`channel` | Wireless channel to act as parent. Select a channel from 1 through 13 that has been confirmed as available by `WM_GetAllowedChannel`.
`parentMaxSize` | Default value of the parent send capacity for MP communication. The send capacity must be a multiple of 2. A maximum size of 512 bytes can be specified for this value.
`childMaxSize` | Default value of the child send capacity for MP communication. The send capacity must be a multiple of 2. Specify a maximum size of 512 bytes for this value.

## Description

The structure of the information that should be set when starting activity as a parent. User-defined data can be set in `userGameInfo`. Change it with the `WM_SetGameInfo` function later. `userGameInfoLength` is a maximum of `WM_SIZE_USER_GAMEINFO` bytes (currently 112 bytes). Change the `entryFlag` argument with the `WM_SetEntry` function later. If the `beaconPeriod` argument is too short, it interferes with MP communication. Normally, it should be set to a few hundred ms. For the `channel` argument, select one from the channels that was permitted by `WM_GetAllowedChannel`. `parentMaxSize` and `childMaxSize` specify the default value for the send capacity for parent and children, respectively, and there are some restrictions as mentioned in the programming guideline. Use the wireless communication time calculation sheet, and make sure that the time that is required for one MP communication does not exceed 5600 μs. The `KS_Flag` field remains in order to maintain compatibility with older versions. Be sure to specify 0. In order to maintain compatibility with older versions, if `KS_Flag` is set to 1, 36+6 is internally added to `parentMaxSize` and 2+4 to `childMaxSize`.

## Revision History

2005/12/08 Deleted a section related to key sharing.
2005/12/08 Clearly stated that the send capacity must be an even number.
2005/12/06 Changed "maximum send size" to "default value for the send capacity."
2005/03/14 Corrected link destination errors.
2005/03/02 Added a description of the allowable range for structure members.
2004/11/12 Added a statement regarding the unit of `userGameInfoLength`.
2004/10/18 Added a statement regarding a value that needs to be specified to `beaconPeriod`.
2004/10/04 Changed the game group ID to u32 type.
2004/09/24 Added Description.
2004/09/21 Added Description.
2004/08/27 Revised because of changes to structure members.
2004/08/02 Standardized structure names.
2004/07/29 Initial version.

CONFIDENTIAL