|
|
|
#ifndef _TS3INIT_MATCH_H
|
|
|
|
#define _TS3INIT_MATCH_H
|
|
|
|
|
|
|
|
/* Enums for get_cookie and get_puzzle matches */
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
CHK_COMMON_CLIENT_VERSION = 1 << 0,
|
|
|
|
CHK_COMMON_VALID_MASK = (1 << 1) -1,
|
|
|
|
|
|
|
|
CLIENT_VERSION_OFFSET = 1356998400
|
|
|
|
};
|
|
|
|
|
|
|
|
/* Enums and structs for get_cookie */
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
CHK_GET_COOKIE_CHECK_TIMESTAMP = 1 << 0,
|
|
|
|
CHK_GET_COOKIE_VALID_MASK = (1 << 1) -1
|
|
|
|
};
|
|
|
|
|
|
|
|
struct xt_ts3init_get_cookie_mtinfo
|
|
|
|
{
|
|
|
|
__u8 common_options;
|
|
|
|
__u8 specific_options;
|
|
|
|
__u16 reserved1;
|
|
|
|
__u32 min_client_version;
|
|
|
|
__u32 max_utc_offset;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/* Enums and structs for get_puzzle */
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
CHK_GET_PUZZLE_CHECK_COOKIE = 1 << 0,
|
|
|
|
CHK_GET_PUZZLE_RANDOM_SEED_FROM_ARGUMENT = 1 << 1,
|
|
|
|
CHK_GET_PUZZLE_RANDOM_SEED_FROM_FILE = 1 << 2,
|
|
|
|
CHK_GET_PUZZLE_VALID_MASK = (1 << 3) - 1,
|
|
|
|
};
|
|
|
|
|
|
|
|
struct xt_ts3init_get_puzzle_mtinfo
|
|
|
|
{
|
|
|
|
__u8 common_options;
|
|
|
|
__u8 specific_options;
|
|
|
|
__u16 reserved1;
|
|
|
|
__u32 min_client_version;
|
|
|
|
__u8 random_seed[RANDOM_SEED_LEN];
|
|
|
|
char random_seed_path[RANDOM_SEED_PATH_MAX];
|
|
|
|
};
|
|
|
|
|
|
|
|
/* Enums and structs for generic ts3init */
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
CHK_TS3INIT_CLIENT = 1 << 0,
|
|
|
|
CHK_TS3INIT_SERVER = 1 << 1,
|
|
|
|
CHK_TS3INIT_COMMAND = 1 << 2,
|
|
|
|
CHK_TS3INIT_VALID_MASK = (1 << 3) - 1,
|
|
|
|
};
|
|
|
|
|
|
|
|
struct xt_ts3init_mtinfo
|
|
|
|
{
|
|
|
|
__u8 common_options;
|
|
|
|
__u8 specific_options;
|
|
|
|
__u16 reserved1;
|
|
|
|
__u8 command;
|
|
|
|
};
|
|
|
|
#endif /* _TS3INIT_MATCH_H */
|