Mercurial > pidgin.yaz
diff libpurple/nat-pmp.h @ 15900:9cfe41743c65
More complete namespacing of nat-pmp
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sun, 25 Mar 2007 00:41:31 +0000 |
parents | 9b875f0ecb86 |
children | 2cf21661f828 |
line wrap: on
line diff
--- a/libpurple/nat-pmp.h Sat Mar 24 23:28:25 2007 +0000 +++ b/libpurple/nat-pmp.h Sun Mar 25 00:41:31 2007 +0000 @@ -1,5 +1,5 @@ /** -* @file nat-pmp.h NAT-PMP Implementation + * @file nat-pmp.h NAT-PMP Implementation * @ingroup core * * purple @@ -28,20 +28,12 @@ * OF SUCH DAMAGE. */ -#ifndef _PMPMAPPER_H -#define _PMPMAPPER_H +#ifndef _PURPLE_NAT_PMP_H +#define _PURPLE_NAT_PMP_H -#include <stdio.h> -#include <stdlib.h> -#include <errno.h> -#include <assert.h> -#include <sys/socket.h> -#include <sys/sysctl.h> -#include <sys/types.h> -#include <net/if.h> -#include <net/route.h> +#include <stdint.h> -#define PURPLE_PMP_LIFETIME 3600 // 3600 seconds +#define PURPLE_PMP_LIFETIME 3600 /* seconds */ /* * uint8_t: version, opcodes @@ -57,7 +49,7 @@ typedef struct { uint8_t version; uint8_t opcode; -} pmp_ip_request_t; +} PurplePmpIpRequest; typedef struct { uint8_t version; @@ -65,7 +57,7 @@ uint16_t resultcode; uint32_t epoch; uint32_t address; -} pmp_ip_response_t; +} PurplePmpIpResponse; typedef struct { uint8_t version; @@ -74,7 +66,7 @@ uint16_t privateport; uint16_t publicport; uint32_t lifetime; -} pmp_map_request_t; +} PurplePmpMapRequest; typedef struct { uint8_t version; @@ -84,10 +76,26 @@ uint16_t privateport; uint16_t publicport; uint32_t lifetime; -} pmp_map_response_t; +} PurplePmpMapResponse; +/** + * + */ +/* + * TODO: This should probably cache the result of this lookup requests + * so that subsequent calls to this function do not require a + * round-trip exchange with the local router. + */ char *purple_pmp_get_public_ip(); -pmp_map_response_t *purple_pmp_create_map(PurplePmpType type, uint16_t privateport, uint16_t publicport, uint32_t lifetime); -pmp_map_response_t *purple_pmp_destroy_map(PurplePmpType type, uint16_t privateport); - -#endif \ No newline at end of file + +/** + * + */ +PurplePmpMapResponse *purple_pmp_create_map(PurplePmpType type, uint16_t privateport, uint16_t publicport, uint32_t lifetime); + +/** + * + */ +PurplePmpMapResponse *purple_pmp_destroy_map(PurplePmpType type, uint16_t privateport); + +#endif /* _PURPLE_NAT_PMP_H_ */