1 #ifndef __JBXL_NETWORK_H_
2 #define __JBXL_NETWORK_H_
16 #define _WINSOCK_DEPRECATED_NO_WARNINGS
24 extern WSADATA WsaData;
26 #define _WINSOCK_DEPRECATED_NO_WARNINGS
30 #include <sys/socket.h>
39 #ifdef HAVE_SYS_SOCKIO_H
40 #include <sys/sockio.h>
43 #ifdef HAVE_NETINET_IN_H
44 #include <netinet/in.h>
46 #ifdef HAVE_ARPA_INET_H
47 #include <arpa/inet.h>
53 #include <sys/ioctl.h>
58 #define SEND_TIMEOUTED -97
59 #define RECV_TIMEOUTED -98
60 #define TRANS_TIMEOUTED -99
104 int udp_recv(
int,
char*,
int,
struct sockaddr_in*);
105 int udp_send(
int,
char*,
int,
struct sockaddr_in*);
110 int udp_recv_wait(
int sock,
char* data,
int size,
struct sockaddr_in* sv_addr,
int tm);
133 #define udp_send_mesg(sock, smsg, sv_addr) udp_send((sock), (smsg), 0, (sv_addr))
145 #define tcp_send_mesg(sock, smsg) tcp_send((sock), (smsg), 0)
171 #define get_localip() get_localip_bydest("202.26.158.1")
175 #define get_myipaddr() get_localip_bydest("202.26.158.1")
181 struct sockaddr_in
get_sockaddr(char* hostname,
unsigned short cport);
int udp_bind_setopt(int, int, int, const void *, int)
call setsockopt(), bind()
int udp_send(int, char *, int, struct sockaddr_in *)
int get_valid_tcp_client_socket(int min, int max, char *hostname, unsigned short sport, unsigned short *cport)
int tcp_bind_setopt(int, int, int, const void *, int)
call setsockopt(), bind()
int tcp_send(int, char *, int)
unsigned char * get_myipaddr_num(void)
自分の [IPアドレス],[ネットマスク](数字)
unsigned char * get_ipaddr_num(struct in_addr)
構造体 → IPv4アドレス(数字4byte)
int send_wait(int sock, int tm)
struct sockaddr_in get_local_sockaddr(unsigned short cport)
int udp_bind(int, int)
call bind()
void udp_hole_punching(int sock, struct sockaddr_in addr, int nm)
int udp_recv(int, char *, int, struct sockaddr_in *)
int udp_recv_wait(int sock, char *data, int size, struct sockaddr_in *sv_addr, int tm)
int tcp_recv_mstream(int sock, char *mesg, int sz, mstream *sb, int tm)
char * get_ipaddr_byname(char *)
ホスト名 → IPv4アドレス(文字列)
unsigned char * to_address_num8(char *addr, int mode)
IPアドレス(文字列)→ [IPアドレス],[ネットマスク](数字8byte)
unsigned char * get_ipaddr_byname_num(char *)
ホスト名 → IPv4アドレス(数字4byte)
unsigned char * get_mynetaddr_num(void)
自分の IPv4ネットワークアドレス(数字)
int tcp_send_mesgln(int, char *)
int socket_close(int sock)
call shutdown(), close()
char * get_hostname(char *)
IPv4アドレス(文字列)→ ホスト名(文字列)
int accept_intr(int, struct sockaddr *, socklen_t *)
call accept()
int is_same_network_num(unsigned char *addr1, unsigned char *addr2, unsigned char *mask)
int get_valid_tcp_server_socket(int min, int max, unsigned short *port)
struct sockaddr_in get_sockaddr(char *hostname, unsigned short cport)
char * get_hostname_bynum(unsigned char *)
IPv4アドレス(数字) → ホスト名(文字列)
unsigned char * to_address_num4(char *addr, int mode)
IPアドレス(文字列)→ [IPアドレス](数字4byte)
int tcp_server_bind_setopt(int port, int, const void *, int)
call socket(), setsockopt(), bind()
char * get_localip_bydest(char *dest)
自分の IPv4アドレス(文字列)
int tcp_connect(int sock, char *host, int port)
call connect()
char * get_ipaddr(struct in_addr)
構造体 → IPv4アドレス(文字列)
int tcp_recv_wait(int sock, char *data, int sz, int tm)
int tcp_server_bind(int port)
call socket(), bind()
char * get_myipaddr(void)
自分の [IPアドレス]/[ネットマスク](文字列)
int udp_server_socket_setopt(int, int, const void *, int)
call socket(), setsockopt(), bind()
int tcp_client_bind_socket(char *host, int sport, int cport)
call socket(), bind(), connect()
char * to_address_char4(unsigned char *addr)
[IPアドレス](数字4byte)→ IPアドレス(文字列)
struct sockaddr_in get_sockaddr_bynum(char *ipnum, unsigned short cport)
int recv_wait(int sock, int tm)
int get_valid_udp_socket(int min, int max, unsigned short *port)
int udp_client_socket(char *, int, struct sockaddr_in *)
call socket()
int tcp_bind(int, int)
call bind()
int is_same_network(char *addr1, char *addr2, char *mask)
char * get_mynetaddr(void)
自分の IPv4ネットワークアドレス(文字列)
int is_same_sockaddr(struct sockaddr_in addr1, struct sockaddr_in addr2)
int tcp_client_socket(char *hname, int port)
call socket(), connect()
int recv_wait_twin(int sock1, int sock2, int tm)
int tcp_recv(int, char *, int)
int tcp_server_socket_setopt(int port, int, const void *, int)
call socket(), setsockopt(), bind(), listen()
int tcp_server_socket(int port)
call socket(), bind(), listen()
char * to_address_char8(unsigned char *addr)
[IPアドレス],[ネットマスク](数字8byte)→ IPアドレス(文字列)
int udp_server_socket(int)
call socket(), bind()
void cleanup_network(void)