32#ifndef PCP_MSG_STRUCT_H_INCLUDED
33#define PCP_MSG_STRUCT_H_INCLUDED
35#define PCP_OPCODE_ANNOUNCE 0
36#define PCP_OPCODE_MAP 1
37#define PCP_OPCODE_PEER 2
39#define PCP_OPCODE_SADSCP 3
45#define PCP_ERR_UNSUPP_VERSION 1
51#define PCP_ERR_NOT_AUTHORIZED 2
58#define PCP_ERR_MALFORMED_REQUEST 3
63#define PCP_ERR_UNSUPP_OPCODE 4
67#define PCP_ERR_UNSUPP_OPTION 5
73#define PCP_ERR_MALFORMED_OPTION 6
78#define PCP_ERR_NETWORK_FAILURE 7
84#define PCP_ERR_NO_RESOURCES 8
96#define PCP_ERR_UNSUPP_PROTOCOL 9
101#define PCP_ERR_USER_EX_QUOTA 10
106#define PCP_ERR_CANNOT_PROVIDE_EXTERNAL 11
116#define PCP_ERR_ADDRESS_MISMATCH 12
123#define PCP_ERR_EXCESSIVE_REMOTE_PEERS 13
135 PCP_OPTION_FLOW_PRIORITY = 4,
142typedef struct pcp_request {
152#define PCP_COMMON_REQUEST_SIZE (24)
156typedef struct pcp_response {
169#define PCP_COMMON_RESPONSE_SIZE (24)
173typedef struct pcp_options_hdr {
180#define PCP_OPTION_HDR_SIZE (4)
184typedef struct pcp_map_v2 {
190 struct in6_addr ext_ip;
195#define PCP_MAP_V2_SIZE (36)
199typedef struct pcp_map_v1 {
204 struct in6_addr ext_ip;
209#define PCP_MAP_V1_SIZE (24)
213typedef struct pcp_peer_v1 {
218 struct in6_addr ext_ip;
222 struct in6_addr peer_ip;
226#define PCP_PEER_V1_SIZE (44)
230typedef struct pcp_peer_v2 {
236 struct in6_addr ext_ip;
240 struct in6_addr peer_ip;
244#define PCP_PEER_V2_SIZE (56)
248typedef struct pcp_sadscp_req {
255#define PCP_SADSCP_REQ_SIZE (14)
258typedef struct pcp_sadscp_resp {
264#define PCP_SADSCP_MASK ((1<<6)-1)
268typedef struct pcp_prefer_fail_option {
273} pcp_prefer_fail_option_t;
275#define PCP_PREFER_FAIL_OPTION_SIZE (4)
278typedef struct pcp_3rd_party_option{
284} pcp_3rd_party_option_t;
286#define PCP_3RD_PARTY_OPTION_SIZE (20)
290typedef struct pcp_flow_priority_option{
300} pcp_flow_priority_option_t;
302#define PCP_DSCP_MASK ((1<<6)-1)
303#define PCP_FLOW_PRIORITY_OPTION_SIZE (8)
307typedef struct pcp_filter_option {
314 struct in6_addr peer_ip;
317#define PCP_FILTER_OPTION_SIZE (24)
static const struct @232337312001244222165163271265076325023137136054 reserved[]
pcp_options
Definition pcp_msg_struct.h:130
@ PCP_OPTION_PREF_FAIL
Definition pcp_msg_struct.h:132
@ PCP_OPTION_FILTER
Definition pcp_msg_struct.h:133
@ PCP_OPTION_3RD_PARTY
Definition pcp_msg_struct.h:131
enum pcp_options pcp_options_t
const portMappingElt code
Definition portlistingparse.c:22
unsigned short uint16_t
Definition stdint.h:125
unsigned int uint32_t
Definition stdint.h:126
unsigned char uint8_t
Definition stdint.h:124