summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/client.h8
-rw-r--r--include/net_multiplayer.h6
-rw-r--r--include/screen_gameType.h1
-rw-r--r--include/server.h6
-rw-r--r--include/string_length.h2
-rw-r--r--include/udp.h16
6 files changed, 24 insertions, 15 deletions
diff --git a/include/client.h b/include/client.h
index fe28eed..cd8c4c4 100644
--- a/include/client.h
+++ b/include/client.h
@@ -12,14 +12,8 @@
#endif
-#ifdef SUPPORT_NET_UNIX_TCP
-extern int initTcpClient(char *ip, int port);
-extern void selectClientTcpSocket();
-extern void quitTcpClient();
-#endif
-
#ifdef SUPPORT_NET_UNIX_UDP
-extern int initUdpClient(char *ip, int port);
+extern int initUdpClient(char *ip, int port, int proto);
extern void eventPingServer();
extern void selectClientUdpSocket();
extern void refreshPingServerAlive();
diff --git a/include/net_multiplayer.h b/include/net_multiplayer.h
index 0127de8..2da7dea 100644
--- a/include/net_multiplayer.h
+++ b/include/net_multiplayer.h
@@ -23,7 +23,11 @@
#define LIMIT_BUFFER 10240
-extern int initNetMuliplayer(int type, char *ip, int port);
+#ifdef PUBLIC_SERVER
+extern int initNetMulitplayerPublicServer(char *ip4, int port4, char *ip6, int port6);
+#endif
+
+extern int initNetMuliplayer(int type, char *ip, int port, int proto);
extern int getNetTypeGame();
extern void eventNetMultiplayer();
extern void quitNetMultiplayer();
diff --git a/include/screen_gameType.h b/include/screen_gameType.h
index dc25d48..1780e1c 100644
--- a/include/screen_gameType.h
+++ b/include/screen_gameType.h
@@ -9,6 +9,7 @@ extern void initScreenGameType();
extern int getSettingGameType();
extern char* getSettingIP();
extern int getSettingPort();
+extern int getSettingProto();
extern void quitScreenGameType();
#endif
diff --git a/include/server.h b/include/server.h
index 178dc34..247b836 100644
--- a/include/server.h
+++ b/include/server.h
@@ -51,9 +51,13 @@ typedef struct client_struct
buffer_t *buffer;
} client_t;
+#ifdef PUBLIC_SERVER
+extern int initUdpPublicServer(char *ip4, int port4, char *ip6, int port6);
+#endif
#ifdef SUPPORT_NET_UNIX_UDP
-extern int initUdpServer(char *ip, int port);
+extern int initUdpServer(char *ip, int port, int proto);
+extern int initUdpServerMultiProto(char *ip4, char *ip6, int port4, int port6);
extern client_t* newUdpClient(sock_udp_t *sock_udp);
extern void selectServerUdpSocket();
extern void quitUdpServer();
diff --git a/include/string_length.h b/include/string_length.h
index 243cb69..b1712ee 100644
--- a/include/string_length.h
+++ b/include/string_length.h
@@ -11,6 +11,6 @@
#define STR_NAME_SIZE 32
#define STR_PATH_SIZE 4096
#define STR_FILE_NAME_SIZE 256
-#define STR_IP_SIZE 24
+#define STR_IP_SIZE 64
#endif
diff --git a/include/udp.h b/include/udp.h
index ce89c53..29f383b 100644
--- a/include/udp.h
+++ b/include/udp.h
@@ -5,21 +5,27 @@
#define MY_UDP
-#include "main.h"
+#define SUPPORT_IPv6
+
+#define PROTO_UDPv4 0
+#define PROTO_UDPv6 1
typedef struct struct_sock_udp_t
{
int sock;
+ int proto;
+
+ struct sockaddr_in6 sockAddr6;
struct sockaddr_in sockAddr;
} sock_udp_t;
-extern sock_udp_t* newSockUdp();
+extern sock_udp_t* newSockUdp(int proto);
extern void destroySockUdp(sock_udp_t *p);
-extern sock_udp_t* bindUdpSocket(char *address, int port);
-extern sock_udp_t* connectUdpSocket(char *address, int port);
+extern sock_udp_t* bindUdpSocket(char *address, int port, int proto);
+extern sock_udp_t* connectUdpSocket(char *address, int port, int proto);
extern int readUdpSocket(sock_udp_t *src, sock_udp_t *dst, void *address, int len);
extern int writeUdpSocket(sock_udp_t *src, sock_udp_t *dst, void *address, int len);
-extern void getSockUdpIp(sock_udp_t *p, char *str_ip);
+extern void getSockUdpIp(sock_udp_t *p, char *str_ip, int len);
extern int getSockUdpPort(sock_udp_t *p);
extern void closeUdpSocket(sock_udp_t *p);