#include <dwc.h>
#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_SEND_MAX 1465
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_UPDATE_SERVERS
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
};
| 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 | Start value of game-defined keys. |
| DWC_QR2_RESERVED_KEYS | Number of keys reserved by DWC. |
| DWC_QR2_GAME_RESERVED_KEYS | Maximum number of keys that can be used in the game (default is 153). |
| DWC_CONNECTION_USERDATA_LEN | Length of buffer used for matchmaking connection conditions. |
| DWC_TRANSPORT_SEND_MAX | Maximum size that can be sent at one time. |
DWC_PERS_STATE_INIT |
Initial state. |
DWC_PERS_STATE_LOGIN |
Logged on. |
DWC_PERS_STATE_CONNECTED |
Connected. |
DWC_PERS_STATE_NUM |
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 |
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 |
DWC_BUDDY_UPDATE_STATE_WAIT |
Waiting for friend roster to complete download. |
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 |
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 |
When getting lastname after logging into the GP server. |
DWC_LOGIN_STATE_GPSETINFO |
The lastname setting when logged on to the GP server for the first time. |
DWC_LOGIN_STATE_CONNECTED |
Connection completed. |
DWC_LOGIN_STATE_NUM |
DWC_STATE_INIT |
Initial state. |
DWC_STATE_AVAILABLE_CHECK |
Checking game availability state. |
DWC_STATE_LOGIN |
Logging on. |
DWC_STATE_ONLINE |
Login completed and online. |
DWC_STATE_UPDATE_SERVERS |
Currently performing the friend roster synchronization process. |
DWC_STATE_MATCHING |
Currently matchmaking. |
DWC_STATE_CONNECTED |
Matching has completed, and a mesh network has been created. |
DWC_STATE_NUM |
DWC_MATCH_STATE_INIT |
Initial state. |
DWC_MATCH_STATE_CL_WAITING |
Waiting. |
DWC_MATCH_STATE_CL_SEARCH_HOST |
Searching for available host (only when no friend has been specified). |
DWC_MATCH_STATE_CL_WAIT_RESV |
Waiting for response from server about reservation. |
DWC_MATCH_STATE_CL_SEARCH_EVAL_HOST |
Searching for a 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 host based on 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 between server and client. |
DWC_MATCH_STATE_SV_CANCEL_SYN_WAIT |
Currently waiting for termination of matchmaking cancellation synchronization between server and client. |
DWC_MATCH_STATE_SV_SYN |
Waiting for SYN-ACK related to matchmaking termination synchronization. |
DWC_MATCH_STATE_SV_SYN_WAIT |
Waiting for termination of matchmaking termination synchronization. |
DWC_MATCH_STATE_WAIT_CLOSE |
Waiting for negotiation 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 |
DWC_MATCH_TYPE_ANYBODY |
Pair 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 |
DWC_SUSPEND_SUCCESS |
Completed successfully. |
DWC_SUSPEND_TIMEOUT |
Timed out (currently, this is not used). |
DWC_SUSPEND_NUM |
DWC_TOPOLOGY_TYPE_HYBRID |
Hybrid type. |
DWC_TOPOLOGY_TYPE_STAR |
Star type. |
DWC_TOPOLOGY_TYPE_FULLMESH |
Full-mesh type. |
DWC_TOPOLOGY_TYPE_NUM |
CONFIDENTIAL