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 */
 |