OpenDNSSEC-signer 2.1.12
sock.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2011 NLNet Labs. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 *
13 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
14 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
17 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
19 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
21 * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
22 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
23 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 *
25 */
26
32#ifndef WIRE_SOCK_H
33#define WIRE_SOCK_H
34
35#include "config.h"
36#include "status.h"
37#include "wire/listener.h"
38#include "wire/netio.h"
39#include "wire/query.h"
40
45typedef struct sock_struct sock_type;
47 struct addrinfo* addr;
48 int s;
49};
50
59};
60
65struct udp_data {
69};
70
80};
81
86struct tcp_data {
93};
94
102extern ods_status sock_listen(socklist_type* sockets, listener_type* listener);
103
111extern void sock_handle_udp(netio_type* netio, netio_handler_type* handler,
112 netio_events_type event_types);
113
121extern void sock_handle_tcp_accept(netio_type* netio, netio_handler_type* handler,
122 netio_events_type event_types);
123
131extern void sock_handle_tcp_read(netio_type* netio, netio_handler_type* handler,
132 netio_events_type event_types);
133
141extern void sock_handle_tcp_write(netio_type* netio, netio_handler_type* handler,
142 netio_events_type event_types);
143
144#endif /* WIRE_SOCK_H */
#define MAX_INTERFACES
Definition: listener.h:53
enum netio_events_enum netio_events_type
Definition: netio.h:76
enum query_enum query_state
Definition: query.h:52
void sock_handle_tcp_write(netio_type *netio, netio_handler_type *handler, netio_events_type event_types)
Definition: sock.c:644
void sock_handle_tcp_accept(netio_type *netio, netio_handler_type *handler, netio_events_type event_types)
Definition: sock.c:445
void sock_handle_udp(netio_type *netio, netio_handler_type *handler, netio_events_type event_types)
ods_status sock_listen(socklist_type *sockets, listener_type *listener)
Definition: sock.c:292
void sock_handle_tcp_read(netio_type *netio, netio_handler_type *handler, netio_events_type event_types)
Definition: sock.c:519
struct addrinfo * addr
Definition: sock.h:47
int s
Definition: sock.h:48
sock_type udp[MAX_INTERFACES]
Definition: sock.h:58
sock_type tcp[MAX_INTERFACES]
Definition: sock.h:57
netio_handler_type * tcp_accept_handlers
Definition: sock.h:79
sock_type * socket
Definition: sock.h:77
size_t tcp_accept_handler_count
Definition: sock.h:78
engine_type * engine
Definition: sock.h:76
Definition: sock.h:86
size_t bytes_transmitted
Definition: sock.h:92
query_type * query
Definition: sock.h:88
query_state qstate
Definition: sock.h:91
size_t tcp_accept_handler_count
Definition: sock.h:89
netio_handler_type * tcp_accept_handlers
Definition: sock.h:90
engine_type * engine
Definition: sock.h:87
Definition: sock.h:65
query_type * query
Definition: sock.h:68
engine_type * engine
Definition: sock.h:66
sock_type * socket
Definition: sock.h:67