Friend Management and Matchmaking: Constants

Definitions


#include <dwc.h>

#define   DWC_FRIEND_STATUS_STRING_LEN            (256)
#define   DWC_MAX_PLAYER_NAME                     26
#define   DWC_INVALID_AID                         (0xff)
#define   DWC_MAX_CONNECTIONS                     32
#define   DWC_QR2_GAME_KEY_START                  100
#define   DWC_QR2_RESERVED_KEYS                   (100-50)
#define   DWC_QR2_GAME_RESERVED_KEYS              (DWC_MAX_REGISTERED_KEYS-DWC_QR2_RESERVED_KEYS-DWC_QR2_RESERVED_KEYS)
#define   DWC_CONNECTION_USERDATA_LEN             4
#define   DWC_TRANSPORT_MTU_SIZE                  1500
#define   DWC_TRANSPORT_RELIABLE_ALL_HEADER_SIZE  35
#define   DWC_TRANSPORT_UNRELIABLE_ALL_HEADER_SIZE 38
#define   DWC_TRANSPORT_SEND_RELIABLE_MAX         (DWC_TRANSPORT_MTU_SIZE-DWC_TRANSPORT_RELIABLE_ALL_HEADER_SIZE)
#define   DWC_TRANSPORT_SEND_UNRELIABLE_MAX       (DWC_TRANSPORT_MTU_SIZE-DWC_TRANSPORT_UNRELIABLE_ALL_HEADER_SIZE)
#define   DWC_TRANSPORT_SEND_MAX                  DWC_TRANSPORT_SEND_RELIABLE_MAX

enum  {
    DWC_PERS_STATE_INIT                     =  0,
    DWC_PERS_STATE_LOGIN,
    DWC_PERS_STATE_CONNECTED,
    DWC_PERS_STATE_NUM,
};

enum  {
    DWC_STATUS_OFFLINE                      =  0,
    DWC_STATUS_ONLINE,
    DWC_STATUS_PLAYING,
    DWC_STATUS_MATCH_ANYBODY,
    DWC_STATUS_MATCH_FRIEND,
    DWC_STATUS_MATCH_SC_CL,
    DWC_STATUS_MATCH_SC_SV,
    DWC_STATUS_NUM,
};

enum DWCFriendState {
    DWC_FRIEND_STATE_INIT                   =  0,
    DWC_FRIEND_STATE_PERS_LOGIN,
    DWC_FRIEND_STATE_LOGON,
    DWC_FRIEND_STATE_NUM,
};

enum  {
    DWC_BUDDY_UPDATE_STATE_WAIT             =  0,
    DWC_BUDDY_UPDATE_STATE_CHECK,
    DWC_BUDDY_UPDATE_STATE_PSEARCH,
    DWC_BUDDY_UPDATE_STATE_COMPLETE,
    DWC_BUDDY_UPDATE_STATE_NUM,
};

enum DWCLoginState {
    DWC_LOGIN_STATE_INIT                    =  0,
    DWC_LOGIN_STATE_REMOTE_AUTH,
    DWC_LOGIN_STATE_CONNECTING,
    DWC_LOGIN_STATE_GPGETINFO,
    DWC_LOGIN_STATE_GPSETINFO,
    DWC_LOGIN_STATE_CONNECTED,
    DWC_LOGIN_STATE_NUM,
};

enum DWCState {
    DWC_STATE_INIT                          =  0,
    DWC_STATE_AVAILABLE_CHECK,
    DWC_STATE_LOGIN,
    DWC_STATE_ONLINE,
    DWC_STATE_MATCHING,
    DWC_STATE_CONNECTED,
    DWC_STATE_NUM,
};

enum DWCMatchState {
    DWC_MATCH_STATE_INIT                    =  0,
    DWC_MATCH_STATE_CL_WAITING,
    DWC_MATCH_STATE_CL_SEARCH_HOST,
    DWC_MATCH_STATE_CL_WAIT_RESV,
    DWC_MATCH_STATE_CL_SEARCH_EVAL_HOST,
    DWC_MATCH_STATE_CL_NN,
    DWC_MATCH_STATE_CL_GT2,
    DWC_MATCH_STATE_CL_CANCEL_SYN,
    DWC_MATCH_STATE_CL_SYN,
    DWC_MATCH_STATE_CL_SVDOWN_1,
    DWC_MATCH_STATE_CL_SVDOWN_2,
    DWC_MATCH_STATE_CL_SVDOWN_3,
    DWC_MATCH_STATE_CL_SEARCH_GROUPID_HOST,
    DWC_MATCH_STATE_SV_WAITING,
    DWC_MATCH_STATE_SV_OWN_NN,
    DWC_MATCH_STATE_SV_OWN_GT2,
    DWC_MATCH_STATE_SV_WAIT_CL_LINK,
    DWC_MATCH_STATE_SV_CANCEL_SYN,
    DWC_MATCH_STATE_SV_CANCEL_SYN_WAIT,
    DWC_MATCH_STATE_SV_SYN,
    DWC_MATCH_STATE_SV_SYN_WAIT,
    DWC_MATCH_STATE_WAIT_CLOSE,
    DWC_MATCH_STATE_SEARCH_OWN,
    DWC_MATCH_STATE_SV_SYN_CLOSE_WAIT,
    DWC_MATCH_STATE_NUM,
};

enum  {
    DWC_MATCH_TYPE_ANYBODY                  =  0,
    DWC_MATCH_TYPE_FRIEND,
    DWC_MATCH_TYPE_SC_SV,
    DWC_MATCH_TYPE_SC_CL,
    DWC_MATCH_TYPE_NUM,
};

enum DWCSuspendResult {
    DWC_SUSPEND_SUCCESS                     =  0,
    DWC_SUSPEND_TIMEOUT,
    DWC_SUSPEND_NUM,
};

enum DWCTopologyType {
    DWC_TOPOLOGY_TYPE_HYBRID                =  0,
    DWC_TOPOLOGY_TYPE_STAR,
    DWC_TOPOLOGY_TYPE_FULLMESH,
    DWC_TOPOLOGY_TYPE_NUM,
};

		

Constants

DWC_FRIEND_STATUS_STRING_LEN The length (including null terminators) of the status string that can be specified when using the DWC_GetOwnStatusString, DWC_SetOwnStatusString, or DWC_GetFriendStatusSC function.
DWC_MAX_PLAYER_NAME Maximum length of player names (in-game screen names) (25 double-byte characters + "\0\0").
DWC_INVALID_AID Value indicating an invalid AID.
DWC_MAX_CONNECTIONS Maximum number of simultaneous connections.
DWC_QR2_GAME_KEY_START Starting values of game-defined keys.
DWC_QR2_RESERVED_KEYS Number of keys reserved by DWC.
DWC_QR2_GAME_RESERVED_KEYS Maximum number of keys that the game can use (154).
DWC_CONNECTION_USERDATA_LEN Length of the buffer used for matchmaking connection conditions.
DWC_TRANSPORT_MTU_SIZE Maximum IP packet size that can be sent during reliable and unreliable transfers.
DWC_TRANSPORT_RELIABLE_ALL_HEADER_SIZE Header size that can be attached to a reliable transfer.
DWC_TRANSPORT_UNRELIABLE_ALL_HEADER_SIZE Header size that can be attached to an unreliable transfer.
DWC_TRANSPORT_SEND_RELIABLE_MAX Maximum data size that can be sent by a single reliable transfer.
DWC_TRANSPORT_SEND_UNRELIABLE_MAX Maximum data size that can be sent by a single unreliable transfer.
DWC_TRANSPORT_SEND_MAX Maximum data size that can be sent by a single reliable transfer. (This is left for compatibility. Use DWC_TRANSPORT_SEND_RELIABLE_MAX.)

Persistent Server Login States

DWC_PERS_STATE_INIT Initial state
DWC_PERS_STATE_LOGIN Logging in
DWC_PERS_STATE_CONNECTED Connected.
DWC_PERS_STATE_NUM

Friend's Communication Status (Use the Redefined GPEnum Status + Alpha)

DWC_STATUS_OFFLINE Offline.
DWC_STATUS_ONLINE Online (logged on to the GP server).
DWC_STATUS_PLAYING Playing the game.
DWC_STATUS_MATCH_ANYBODY Currently performing friend-unspecified peer matchmaking.
DWC_STATUS_MATCH_FRIEND Currently performing friend-specified peer matchmaking.
DWC_STATUS_MATCH_SC_CL Client that is in server-client matchmaking.
DWC_STATUS_MATCH_SC_SV Server that is in server-client matchmaking.
DWC_STATUS_NUM

Friend Management Status

DWC_FRIEND_STATE_INIT Initial state.
DWC_FRIEND_STATE_PERS_LOGIN Currently logging on to the Persistent server and synchronizing friend roster.
DWC_FRIEND_STATE_LOGON Currently logged on to the Persistent server.
DWC_FRIEND_STATE_NUM

Local Friend Roster and GP Friend Roster Synchronization States

DWC_BUDDY_UPDATE_STATE_WAIT Waiting for download of friend roster to complete.
DWC_BUDDY_UPDATE_STATE_CHECK Currently checking friend roster.
DWC_BUDDY_UPDATE_STATE_PSEARCH Currently searching for profile.
DWC_BUDDY_UPDATE_STATE_COMPLETE Friend roster synchronization complete.
DWC_BUDDY_UPDATE_STATE_NUM

Login Progress Status Enumerators

DWC_LOGIN_STATE_INIT Initial state.
DWC_LOGIN_STATE_REMOTE_AUTH Currently performing remote authentication.
DWC_LOGIN_STATE_CONNECTING Currently connecting to GP server.
DWC_LOGIN_STATE_GPGETINFO Getting lastname after logging into the GP server.
DWC_LOGIN_STATE_GPSETINFO Setting lastname after logging on to the GP server for the first time.
DWC_LOGIN_STATE_CONNECTED Connection completed.
DWC_LOGIN_STATE_NUM

DWC Network Status Enumerators

DWC_STATE_INIT Initial state.
DWC_STATE_AVAILABLE_CHECK Checking game availability state.
DWC_STATE_LOGIN Logging in.
DWC_STATE_ONLINE Login completed and online.
DWC_STATE_MATCHING Currently matchmaking.
DWC_STATE_CONNECTED Matching has completed, and a mesh network has been created.
DWC_STATE_NUM

Matchmaking State Enumerator

DWC_MATCH_STATE_INIT Initial state.
DWC_MATCH_STATE_CL_WAITING Waiting.
DWC_MATCH_STATE_CL_SEARCH_HOST Searching for available host (only with friend-unspecified matchmaking).
DWC_MATCH_STATE_CL_WAIT_RESV Waiting for response from server about reservation.
DWC_MATCH_STATE_CL_SEARCH_EVAL_HOST Searching for a peer host to evaluate.
DWC_MATCH_STATE_CL_NN Currently running NAT negotiation.
DWC_MATCH_STATE_CL_GT2 Currently establishing GT2 connection.
DWC_MATCH_STATE_CL_CANCEL_SYN Currently adjusting matchmaking cancellation synchronization between server and client.
DWC_MATCH_STATE_CL_SYN Currently adjusting matchmaking completion synchronization.
DWC_MATCH_STATE_CL_SVDOWN_1 Currently detecting server down.
DWC_MATCH_STATE_CL_SVDOWN_2 Currently detecting server down, 2.
DWC_MATCH_STATE_CL_SVDOWN_3 Currently detecting server down, 3.
DWC_MATCH_STATE_CL_SEARCH_GROUPID_HOST Search for a host based on the group ID.
DWC_MATCH_STATE_SV_WAITING Waiting.
DWC_MATCH_STATE_SV_OWN_NN Currently running NAT negotiation with client.
DWC_MATCH_STATE_SV_OWN_GT2 Currently establishing GT2 negotiation with client.
DWC_MATCH_STATE_SV_WAIT_CL_LINK Waiting for connection between clients to complete.
DWC_MATCH_STATE_SV_CANCEL_SYN Waiting for SYN-ACK related to matchmaking cancellation synchronization adjustment between server and client.
DWC_MATCH_STATE_SV_CANCEL_SYN_WAIT Currently waiting for matchmaking cancellation synchronization adjustment between server and client to complete.
DWC_MATCH_STATE_SV_SYN Waiting for SYN-ACK related to matchmaking termination synchronization adjustment.
DWC_MATCH_STATE_SV_SYN_WAIT Waiting for matchmaking termination synchronization adjustment to complete.
DWC_MATCH_STATE_WAIT_CLOSE Waiting for connection to close.
DWC_MATCH_STATE_SEARCH_OWN Searching for the local host's information (previously named DWC_MATCH_STATE_CL_SEARCH_OWN).
DWC_MATCH_STATE_SV_SYN_CLOSE_WAIT The wait time after the CLOSE command is sent.
DWC_MATCH_STATE_NUM

Matchmaking Type Enumerators

DWC_MATCH_TYPE_ANYBODY Peer matchmaking with friend unspecified.
DWC_MATCH_TYPE_FRIEND Peer matchmaking with friend specified.
DWC_MATCH_TYPE_SC_SV Server side of server-client matchmaking.
DWC_MATCH_TYPE_SC_CL Client side of server-client matchmaking.
DWC_MATCH_TYPE_NUM

Suspend Callback Enumerators

DWC_SUSPEND_SUCCESS Function completed successfully.
DWC_SUSPEND_TIMEOUT Timed out (not used at this time).
DWC_SUSPEND_NUM

Connection Topology Enumerators

DWC_TOPOLOGY_TYPE_HYBRID Hybrid type
DWC_TOPOLOGY_TYPE_STAR Star type
DWC_TOPOLOGY_TYPE_FULLMESH Full-mesh type
DWC_TOPOLOGY_TYPE_NUM

CONFIDENTIAL