Mercurial > pidgin.yaz
comparison libpurple/nat-pmp.h @ 15856:9b875f0ecb86
nat-pmp is now functional with a compatible router. I'm not enabling this code yet because it hasn't been tested with a router which doesn't support nat-pmp.
author | Evan Schoenberg <evan.s@dreskin.net> |
---|---|
date | Thu, 22 Mar 2007 12:51:33 +0000 |
parents | 32c366eeeb99 |
children | 9cfe41743c65 |
comparison
equal
deleted
inserted
replaced
15855:5ec2374087de | 15856:9b875f0ecb86 |
---|---|
39 #include <sys/sysctl.h> | 39 #include <sys/sysctl.h> |
40 #include <sys/types.h> | 40 #include <sys/types.h> |
41 #include <net/if.h> | 41 #include <net/if.h> |
42 #include <net/route.h> | 42 #include <net/route.h> |
43 | 43 |
44 #define PMP_VERSION 0 | 44 #define PURPLE_PMP_LIFETIME 3600 // 3600 seconds |
45 #define PMP_PORT 5351 | |
46 #define PMP_TIMEOUT 250000 // 250000 useconds | |
47 #define PMP_LIFETIME 3600 // 3600 seconds | |
48 | |
49 #define PMP_MAP_UDP 1 | |
50 #define PMP_MAP_TCP 2 | |
51 | 45 |
52 /* | 46 /* |
53 * uint8_t: version, opcodes | 47 * uint8_t: version, opcodes |
54 * uint16_t: resultcode | 48 * uint16_t: resultcode |
55 * unint32_t: epoch (seconds since mappings reset) | 49 * unint32_t: epoch (seconds since mappings reset) |
56 */ | 50 */ |
51 | |
52 typedef enum { | |
53 PURPLE_PMP_TYPE_UDP, | |
54 PURPLE_PMP_TYPE_TCP | |
55 } PurplePmpType; | |
57 | 56 |
58 typedef struct { | 57 typedef struct { |
59 uint8_t version; | 58 uint8_t version; |
60 uint8_t opcode; | 59 uint8_t opcode; |
61 } pmp_ip_request_t; | 60 } pmp_ip_request_t; |
86 uint16_t publicport; | 85 uint16_t publicport; |
87 uint32_t lifetime; | 86 uint32_t lifetime; |
88 } pmp_map_response_t; | 87 } pmp_map_response_t; |
89 | 88 |
90 char *purple_pmp_get_public_ip(); | 89 char *purple_pmp_get_public_ip(); |
91 pmp_map_response_t *purple_pmp_create_map(uint8_t type, uint16_t privateport, uint16_t publicport, uint32_t lifetime); | 90 pmp_map_response_t *purple_pmp_create_map(PurplePmpType type, uint16_t privateport, uint16_t publicport, uint32_t lifetime); |
92 pmp_map_response_t *purple_pmp_destroy_map(uint8_t type, uint16_t privateport); | 91 pmp_map_response_t *purple_pmp_destroy_map(PurplePmpType type, uint16_t privateport); |
93 | 92 |
94 #endif | 93 #endif |