Apache HTTPD
apr_arch_networkio.h
Go to the documentation of this file.
1/* Licensed to the Apache Software Foundation (ASF) under one or more
2 * contributor license agreements. See the NOTICE file distributed with
3 * this work for additional information regarding copyright ownership.
4 * The ASF licenses this file to You under the Apache License, Version 2.0
5 * (the "License"); you may not use this file except in compliance with
6 * the License. You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#ifndef NETWORK_IO_H
18#define NETWORK_IO_H
19
20#include "apr_network_io.h"
21#include "apr_general.h"
22#include "apr_poll.h"
23
25struct sock_userdata_t {
27 const char *key;
28 void *data;
29};
30
31struct apr_socket_t {
34 int type; /* SOCK_STREAM, SOCK_DGRAM */
35 int protocol;
38 int timeout_ms; /* MUST MATCH if timeout > 0 */
46#if APR_HAS_SENDFILE
47 /* As of 07.20.04, the overlapped structure is only used by
48 * apr_socket_sendfile and that's where it will be allocated
49 * and initialized.
50 */
52#endif
54
55 /* if there is a timeout set, then this pollset is used */
57};
58
59#ifdef _WIN32_WCE
60#ifndef WSABUF
61typedef struct _WSABUF {
62 u_long len; /* the length of the buffer */
63 char FAR * buf; /* the pointer to the buffer */
65#endif
66#else
67#ifdef _MSC_VER
68#define HAVE_STRUCT_IPMREQ
69#endif
70#endif
71
73
74const char *apr_inet_ntop(int af, const void *src, char *dst, apr_size_t size);
75int apr_inet_pton(int af, const char *src, void *dst);
77
78#define apr_is_option_set(skt, option) \
79 (((skt)->options & (option)) == (option))
80
81#define apr_set_option(skt, option, on) \
82 do { \
83 if (on) \
84 (skt)->options |= (option); \
85 else \
86 (skt)->options &= ~(option); \
87 } while (0)
88
89#endif /* ! NETWORK_IO_H */
90
const char apr_size_t len
Definition ap_regex.h:187
#define FAR
APR Miscellaneous library routines.
APR Network library.
APR Poll interface.
const unsigned char * buf
Definition util_md5.h:50
const char * src
Definition apr_encode.h:167
apr_size_t size
int apr_status_t
Definition apr_errno.h:44
apr_uint16_t apr_port_t
apr_int64_t apr_interval_time_t
Definition apr_time.h:55
void apr_sockaddr_vars_set(apr_sockaddr_t *, int, apr_port_t)
Definition sockaddr.c:180
const char * apr_inet_ntop(int af, const void *src, char *dst, apr_size_t size)
Definition inet_ntop.c:74
int apr_inet_pton(int af, const char *src, void *dst)
Definition inet_pton.c:79
apr_pool_t * pool
sock_userdata_t * userdata
apr_interval_time_t timeout
apr_int32_t disconnected
apr_sockaddr_t * remote_addr
apr_pollset_t * pollset
apr_int32_t options
apr_int32_t inherit
apr_sockaddr_t * local_addr
sock_userdata_t * next
apr_status_t status_from_res_error(int)