apr_arch_networkio.h [plain text]
#ifndef NETWORK_IO_H
#define NETWORK_IO_H
#include "apr_network_io.h"
#include "apr_general.h"
#include "apr_poll.h"
typedef struct sock_userdata_t sock_userdata_t;
struct sock_userdata_t {
sock_userdata_t *next;
const char *key;
void *data;
};
struct apr_socket_t {
apr_pool_t *pool;
SOCKET socketdes;
int type;
int protocol;
apr_sockaddr_t *local_addr;
apr_sockaddr_t *remote_addr;
int timeout_ms;
apr_interval_time_t timeout;
apr_int32_t disconnected;
int local_port_unknown;
int local_interface_unknown;
int remote_addr_unknown;
apr_int32_t options;
apr_int32_t inherit;
#if APR_HAS_SENDFILE
OVERLAPPED *overlapped;
#endif
sock_userdata_t *userdata;
apr_pollset_t *pollset;
};
#ifdef _WIN32_WCE
#ifndef WSABUF
typedef struct _WSABUF {
u_long len;
char FAR * buf;
} WSABUF, FAR * LPWSABUF;
#endif
#else
#ifdef _MSC_VER
#define HAVE_STRUCT_IPMREQ
#endif
#endif
apr_status_t status_from_res_error(int);
const char *apr_inet_ntop(int af, const void *src, char *dst, apr_size_t size);
int apr_inet_pton(int af, const char *src, void *dst);
void apr_sockaddr_vars_set(apr_sockaddr_t *, int, apr_port_t);
#define apr_is_option_set(skt, option) \
(((skt)->options & (option)) == (option))
#define apr_set_option(skt, option, on) \
do { \
if (on) \
(skt)->options |= (option); \
else \
(skt)->options &= ~(option); \
} while (0)
#endif