64 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#ifndef USOCKET_H
 | 
						|
#define USOCKET_H
 | 
						|
/*=========================================================================*\
 | 
						|
* Socket compatibilization module for Unix
 | 
						|
* LuaSocket toolkit
 | 
						|
\*=========================================================================*/
 | 
						|
 | 
						|
/*=========================================================================*\
 | 
						|
* BSD include files
 | 
						|
\*=========================================================================*/
 | 
						|
/* error codes */
 | 
						|
#include <errno.h>
 | 
						|
/* close function */
 | 
						|
#include <unistd.h>
 | 
						|
/* fnctnl function and associated constants */
 | 
						|
#include <fcntl.h>
 | 
						|
/* struct sockaddr */
 | 
						|
#include <sys/types.h>
 | 
						|
/* socket function */
 | 
						|
#include <sys/socket.h>
 | 
						|
/* struct timeval */
 | 
						|
#include <sys/time.h>
 | 
						|
/* gethostbyname and gethostbyaddr functions */
 | 
						|
#include <netdb.h>
 | 
						|
/* sigpipe handling */
 | 
						|
#include <signal.h>
 | 
						|
/* IP stuff*/
 | 
						|
#include <netinet/in.h>
 | 
						|
#include <arpa/inet.h>
 | 
						|
/* TCP options (nagle algorithm disable) */
 | 
						|
#include <netinet/tcp.h>
 | 
						|
#include <net/if.h>
 | 
						|
 | 
						|
#ifndef SO_REUSEPORT
 | 
						|
#define SO_REUSEPORT SO_REUSEADDR
 | 
						|
#endif
 | 
						|
 | 
						|
/* Some platforms use IPV6_JOIN_GROUP instead if
 | 
						|
 * IPV6_ADD_MEMBERSHIP. The semantics are same, though. */
 | 
						|
#ifndef IPV6_ADD_MEMBERSHIP
 | 
						|
#ifdef IPV6_JOIN_GROUP
 | 
						|
#define IPV6_ADD_MEMBERSHIP IPV6_JOIN_GROUP
 | 
						|
#endif /* IPV6_JOIN_GROUP */
 | 
						|
#endif /* !IPV6_ADD_MEMBERSHIP */
 | 
						|
 | 
						|
/* Same with IPV6_DROP_MEMBERSHIP / IPV6_LEAVE_GROUP. */
 | 
						|
#ifndef IPV6_DROP_MEMBERSHIP
 | 
						|
#ifdef IPV6_LEAVE_GROUP
 | 
						|
#define IPV6_DROP_MEMBERSHIP IPV6_LEAVE_GROUP
 | 
						|
#endif /* IPV6_LEAVE_GROUP */
 | 
						|
#endif /* !IPV6_DROP_MEMBERSHIP */
 | 
						|
 | 
						|
namespace NS_SLUA {    
 | 
						|
 | 
						|
typedef int t_socket;
 | 
						|
typedef t_socket *p_socket;
 | 
						|
typedef struct sockaddr_storage t_sockaddr_storage;
 | 
						|
 | 
						|
#define SOCKET_INVALID (-1)
 | 
						|
 | 
						|
} // end NS_SLUA
 | 
						|
 | 
						|
#endif /* USOCKET_H */
 |