mirror of
https://github.com/lunarmodules/luasocket.git
synced 2024-12-27 04:48:21 +01:00
60 lines
1.6 KiB
C
60 lines
1.6 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 */
|
|
|
|
typedef int t_socket;
|
|
typedef t_socket *p_socket;
|
|
typedef struct sockaddr_storage t_sockaddr_storage;
|
|
|
|
#define SOCKET_INVALID (-1)
|
|
|
|
#endif /* USOCKET_H */
|