# 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 | The size of user game information in bytes. A maximum of 112 bytes can be specified.
ggid | The game group ID that is allocated for each title or series. Specified as 4-byte data.
tgid | The temporary group ID. This argument must be a value that is different from the one that begins activity as a parent.
entryFlag | The 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 | The number of children that are permitted for the connection. Connection are denied once the number of children that are connected exceeded 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 | This field has been made available in order to maintain compatibility with older versions. Specify 0.
CS_Flag | This field allows the function to maintain compatibility with previous versions, and is no longer used.
beaconPeriod | Specifies the interval in units of ms for regularly sending the broadcast data (this structure's data) for the child. Set to a value from 10 through 1,000. Specify the value returned with `WM_GetDispersionBeaconPeriod`.
`rsv1 rsv2` | Reserved regions. These members may be deleted in the future.
channel | Specifies the wireless channel to act as parent. Select a channel from 1 through 13 that has been confirmed as available by `WM_GetAllowedChannel`.
parentMaxSize | This specifies the 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 | This specifies the default value of the child 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.

## Description

The structure of the information that should be set when starting activity as a parent. User-defined data can be set in `userGameInfo`. This can be changed with `WM_SetGameInfo` later. `userGameInfoLength` is a maximum of `WM_SIZE_USER_GAMEINFO` bytes (currently 112 bytes). The `entryFlag` argument can be changed with `WM_SetEntry`. 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

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