NAT traversal: move TOX_TRAVERSAL_TYPE into tox.h

This commit is contained in:
Ansa89 2016-03-08 13:30:45 +01:00
parent 55f0400ad4
commit 5f3dc97eef
5 changed files with 60 additions and 31 deletions

View File

@ -348,6 +348,28 @@ enum class PROXY_TYPE {
SOCKS5,
}
/**
* Type of technology used to try to traverse a NAT.
*/
enum class TRAVERSAL_TYPE {
/**
* Don't use any particular technology.
*/
NONE,
/**
* Use UPnP technology.
*/
UPNP,
/**
* Use NAT-PMP technology.
*/
NATPMP,
/**
* Use both UPnP and NAT-PMP technologies.
*/
ALL,
}
/**
* Type of savedata to create the Tox instance from.
*/
@ -393,6 +415,11 @@ static class options {
*/
bool udp_enabled;
/**
* Try to traverse a NAT.
*/
TRAVERSAL_TYPE traversal_type;
namespace proxy {
/**
* Pass communications through a proxy.

View File

@ -26,6 +26,7 @@
#ifndef MESSENGER_H
#define MESSENGER_H
#include "tox.h"
#include "friend_requests.h"
#include "friend_connection.h"

View File

@ -34,6 +34,7 @@
#include <stdint.h>
#include <string.h>
#include <time.h>
#include "tox.h"
#if defined(_WIN32) || defined(__WIN32__) || defined (WIN32) /* Put win32 includes here */
#ifndef WINVER
@ -165,33 +166,6 @@ typedef struct {
}
IP_Port;
/**
* Type of technology used to try to traverse a NAT.
*/
typedef enum TOX_TRAVERSAL_TYPE {
/**
* Don't use any particular technology.
*/
TOX_TRAVERSAL_TYPE_NONE,
/**
* Use UPnP technology.
*/
TOX_TRAVERSAL_TYPE_UPNP,
/**
* Use NAT-PMP technology.
*/
TOX_TRAVERSAL_TYPE_NATPMP,
/**
* Use both UPnP and NAT-PMP technologies.
*/
TOX_TRAVERSAL_TYPE_ALL,
} TOX_TRAVERSAL_TYPE;
/* Does the IP6 struct a contain an IPv4 address in an IPv6 one? */
#define IPV6_IPV4_IN_V6(a) ((a.uint64[0] == 0) && (a.uint32[2] == htonl (0xffff)))

View File

@ -25,15 +25,15 @@
#include "config.h"
#endif
#define TOX_DEFINED
typedef struct Messenger Tox;
#include "Messenger.h"
#include "group.h"
#include "logger.h"
#include "../toxencryptsave/defines.h"
#define TOX_DEFINED
typedef struct Messenger Tox;
#include "tox.h"
#define SET_ERROR_PARAMETER(param, x) {if(param) {*param = x;}}

View File

@ -27,7 +27,6 @@
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include "network.h"
#ifdef __cplusplus
extern "C" {
@ -361,6 +360,34 @@ typedef enum TOX_PROXY_TYPE {
} TOX_PROXY_TYPE;
/**
* Type of technology used to try to traverse a NAT.
*/
typedef enum TOX_TRAVERSAL_TYPE {
/**
* Don't use any particular technology.
*/
TOX_TRAVERSAL_TYPE_NONE,
/**
* Use UPnP technology.
*/
TOX_TRAVERSAL_TYPE_UPNP,
/**
* Use NAT-PMP technology.
*/
TOX_TRAVERSAL_TYPE_NATPMP,
/**
* Use both UPnP and NAT-PMP technologies.
*/
TOX_TRAVERSAL_TYPE_ALL,
} TOX_TRAVERSAL_TYPE;
/**
* Type of savedata to create the Tox instance from.
*/