17#ifndef APR_NETWORK_IO_H
18#define APR_NETWORK_IO_H
31#if APR_HAVE_NETINET_IN_H
32#include <netinet/in.h>
48#ifndef APR_MAX_SECS_TO_LINGER
50#define APR_MAX_SECS_TO_LINGER 30
55#define APRMAXHOSTLEN 256
60#define APR_ANYADDR "0.0.0.0"
67#define APR_SO_LINGER 1
68#define APR_SO_KEEPALIVE 2
70#define APR_SO_NONBLOCK 8
71#define APR_SO_REUSEADDR 16
72#define APR_SO_SNDBUF 64
73#define APR_SO_RCVBUF 128
74#define APR_SO_DISCONNECTED 256
75#define APR_TCP_NODELAY 512
78#define APR_TCP_NOPUSH 1024
79#define APR_RESET_NODELAY 2048
85#define APR_INCOMPLETE_READ 4096
96#define APR_INCOMPLETE_WRITE 8192
99#define APR_IPV6_V6ONLY 16384
102#define APR_TCP_DEFER_ACCEPT 32768
106#define APR_SO_BROADCAST 65536
108#define APR_SO_FREEBIND 131072
121#define APR_IPV4_ADDR_OK 0x01
122#define APR_IPV6_ADDR_OK 0x02
124#if (!APR_HAVE_IN_ADDR)
139#define APR_INADDR_NONE INADDR_NONE
141#define APR_INADDR_NONE ((unsigned int) 0xffffffff)
149#define APR_INET AF_INET
154#define APR_UNSPEC AF_UNSPEC
163#define APR_INET6 AF_INET6
166#if APR_HAVE_SOCKADDR_UN
168#define APR_UNIX AF_UNIX
169#elif defined(AF_LOCAL)
170#define APR_UNIX AF_LOCAL
172#error "Neither AF_UNIX nor AF_LOCAL is defined"
176#define APR_UNIX AF_UNIX
177#elif defined(AF_LOCAL)
178#define APR_UNIX AF_LOCAL
189#define APR_PROTO_TCP 6
190#define APR_PROTO_UDP 17
191#define APR_PROTO_SCTP 132
208#if APR_HAVE_INET_ADDR
209#define apr_inet_addr inet_addr
210#elif APR_HAVE_INET_NETWORK
215#define apr_inet_addr inet_network
271#if APR_HAVE_SA_STORAGE
276#if APR_HAVE_SOCKADDR_UN
289#define APR_SENDFILE_DISCONNECT_SOCKET 1
621#if APR_HAS_SENDFILE || defined(DOXYGEN)
841#if APR_HAS_SO_ACCEPTFILTER || defined(DOXYGEN)
APR File Handle Inheritance Helpers.
#define APR_DECLARE_INHERIT_SET(type)
#define APR_DECLARE_INHERIT_UNSET(type)
APR Process Locking Routines.
const void apr_status_t(*) apr_status_t(* APR_DECLARE)(void) apr_pool_pre_cleanup_register(apr_pool_t *p
apr_seek_where_t apr_off_t * offset
const char apr_file_t * file
apr_sockaddr_t apr_sockaddr_t apr_sockaddr_t * source
apr_sockaddr_t apr_sockaddr_t * iface
apr_sockaddr_t * sockaddr
const char apr_int32_t apr_port_t port
const apr_sockaddr_t * addr2
const apr_sockaddr_t * src
const struct iovec apr_int32_t nvec
void const char apr_status_t(* cleanup)(void *))
apr_int32_t apr_int32_t on
const char apr_int32_t apr_port_t apr_int32_t apr_pool_t * p
int int int apr_pool_t * cont
const char const char * mask_or_numbits
apr_socket_t apr_pool_t * connection_pool
const char apr_int32_t apr_port_t apr_int32_t flags
char apr_port_t const char * str
#define APR_PERMS_SET_IMPLEMENT(type)
#define APR_POOL_DECLARE_ACCESSOR(type)
const char const char *const * args
apr_int64_t apr_interval_time_t
union apr_sockaddr_t::@55 sa
apr_status_t apr_socket_sendto(apr_socket_t *sock, apr_sockaddr_t *where, apr_int32_t flags, const char *buf, apr_size_t *len)
apr_status_t apr_socket_recvfrom(apr_sockaddr_t *from, apr_socket_t *sock, apr_int32_t flags, char *buf, apr_size_t *len)
apr_status_t apr_socket_send(apr_socket_t *sock, const char *buf, apr_size_t *len)
apr_status_t apr_socket_sendv(apr_socket_t *sock, const struct iovec *vec, apr_int32_t nvec, apr_size_t *len)
apr_status_t apr_socket_recv(apr_socket_t *sock, char *buf, apr_size_t *len)
apr_status_t apr_socket_accept(apr_socket_t **new, apr_socket_t *sock, apr_pool_t *connection_context)
apr_status_t apr_socket_listen(apr_socket_t *sock, apr_int32_t backlog)
apr_status_t apr_socket_bind(apr_socket_t *sock, apr_sockaddr_t *sa)
apr_status_t apr_socket_close(apr_socket_t *thesocket)
apr_status_t apr_socket_type_get(apr_socket_t *sock, int *type)
apr_status_t apr_socket_connect(apr_socket_t *sock, apr_sockaddr_t *sa)
apr_status_t apr_socket_protocol_get(apr_socket_t *sock, int *protocol)
apr_status_t apr_socket_shutdown(apr_socket_t *thesocket, apr_shutdown_how_e how)
apr_status_t apr_socket_create(apr_socket_t **new, int ofamily, int type, int protocol, apr_pool_t *cont)
apr_status_t apr_socket_data_get(void **data, const char *key, apr_socket_t *sock)
apr_status_t apr_socket_data_set(apr_socket_t *sock, void *data, const char *key, apr_status_t(*cleanup)(void *))
apr_status_t apr_socket_opt_set(apr_socket_t *sock, apr_int32_t opt, apr_int32_t on)
apr_status_t apr_socket_opt_get(apr_socket_t *sock, apr_int32_t opt, apr_int32_t *on)
apr_status_t apr_socket_atmark(apr_socket_t *sock, int *atmark)
apr_status_t apr_gethostname(char *buf, apr_int32_t len, apr_pool_t *cont)
apr_status_t apr_socket_timeout_set(apr_socket_t *sock, apr_interval_time_t t)
apr_status_t apr_socket_timeout_get(apr_socket_t *sock, apr_interval_time_t *t)