26#ifndef PCP_MSG_STRUCTS_H_
27#define PCP_MSG_STRUCTS_H_
31#pragma warning (disable:4200)
33#define PCP_MAX_LEN 1100
34#define PCP_OPCODE_ANNOUNCE 0
35#define PCP_OPCODE_MAP 1
36#define PCP_OPCODE_PEER 2
37#define PCP_OPCODE_SADSCP 3
38#define NATPMP_OPCODE_ANNOUNCE 0
39#define NATPMP_OPCODE_MAP_UDP 1
40#define NATPMP_OPCODE_MAP_TCP 2
43#define PCP_RES_SUCCESS 0
44#define PCP_RES_UNSUPP_VERSION 1
45#define PCP_RES_NOT_AUTHORIZED 2
46#define PCP_RES_MALFORMED_REQUEST 3
47#define PCP_RES_UNSUPP_OPCODE 4
48#define PCP_RES_UNSUPP_OPTION 5
49#define PCP_RES_MALFORMED_OPTION 6
50#define PCP_RES_NETWORK_FAILURE 7
51#define PCP_RES_NO_RESOURCES 8
52#define PCP_RES_UNSUPP_PROTOCOL 9
53#define PCP_RES_USER_EX_QUOTA 10
54#define PCP_RES_CANNOT_PROVIDE_EXTERNAL 11
55#define PCP_RES_ADDRESS_MISMATCH 12
56#define PCP_RES_EXCESSIVE_REMOTE_PEERS 13
72#define MAX_USER_ID 512
74#ifndef MAX_DEViCE_ID_STR
75#define MAX_DEVICE_ID 32
251#define FOREACH_DEVICE(DEVICE) \
256#define GENERATE_ENUM(ENUM) ENUM,
257#define GENERATE_STRING(STRING) #STRING ,
295#define PCP_DSCP_MASK ((1<<6)-1)
struct nat_pmp_announce_resp nat_pmp_announce_resp_t
struct pcp_flow_priority_option pcp_flow_priority_option_t
@ PCP_OPTION_FLOW_PRIORITY
struct pcp_response pcp_response_t
struct pcp_location_option pcp_location_option_t
struct pcp_deviceid_option pcp_deviceid_option_t
struct pcp_userid_option pcp_userid_option_t
struct pcp_prefer_fail_option pcp_prefer_fail_option_t
struct pcp_peer_v2 pcp_peer_v2_t
struct pcp_sadscp_req pcp_sadscp_req_t
enum DEVICE_ENUM device_enum_e
struct nat_pmp_map_resp nat_pmp_map_resp_t
struct pcp_metadata_option pcp_metadata_option_t
struct pcp_sadscp_resp pcp_sadscp_resp_t
struct pcp_map_v1 pcp_map_v1_t
struct pcp_request pcp_request_t
struct pcp_peer_v1 pcp_peer_v1_t
struct nat_pmp_map_req nat_pmp_map_req_t
struct pcp_map_v2 pcp_map_v2_t
struct pcp_3rd_party_option pcp_3rd_party_option_t
enum pcp_options pcp_options_t
struct nat_pmp_inv_version_resp nat_pmp_inv_version_resp_t
struct pcp_filter_option pcp_filter_option_t
struct pcp_options_hdr pcp_options_hdr_t
#define GENERATE_ENUM(ENUM)
struct nat_pmp_announce_req nat_pmp_announce_req_t
#define FOREACH_DEVICE(DEVICE)
char deviceid[MAX_DEVICE_ID]
uint32_t filter_peer_ip[4]
uint16_t filter_peer_port
char location[MAX_GEO_STR]