OpenDNSSEC-signer  2.0.4
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 
45 typedef struct sock_struct sock_type;
46 struct sock_struct {
47  struct addrinfo* addr;
48  int s;
49 };
50 
59 };
60 
65 struct udp_data {
69 };
70 
80 };
81 
86 struct tcp_data {
93 };
94 
102 ods_status sock_listen(socklist_type* sockets, listener_type* listener);
103 
111 void sock_handle_udp(netio_type* netio, netio_handler_type* handler,
112  netio_events_type event_types);
113 
122  netio_events_type event_types);
123 
132  netio_events_type event_types);
133 
142  netio_events_type event_types);
143 
144 #endif /* WIRE_SOCK_H */
int s
Definition: sock.h:48
void sock_handle_udp(netio_type *netio, netio_handler_type *handler, netio_events_type event_types)
Definition: sock.h:86
engine_type * engine
Definition: sock.h:87
query_type * query
Definition: sock.h:68
#define MAX_INTERFACES
Definition: listener.h:53
enum netio_events_enum netio_events_type
Definition: netio.h:76
netio_handler_type * tcp_accept_handlers
Definition: sock.h:79
size_t tcp_accept_handler_count
Definition: sock.h:78
query_state qstate
Definition: sock.h:91
query_type * query
Definition: sock.h:88
engine_type * engine
Definition: sock.h:76
enum query_enum query_state
Definition: query.h:52
void sock_handle_tcp_read(netio_type *netio, netio_handler_type *handler, netio_events_type event_types)
Definition: sock.c:519
sock_type * socket
Definition: sock.h:67
struct addrinfo * addr
Definition: sock.h:47
Definition: sock.h:65
sock_type * socket
Definition: sock.h:77
engine_type * engine
Definition: sock.h:66
ods_status sock_listen(socklist_type *sockets, listener_type *listener)
Definition: sock.c:292
netio_handler_type * tcp_accept_handlers
Definition: sock.h:90
size_t tcp_accept_handler_count
Definition: sock.h:89
void sock_handle_tcp_accept(netio_type *netio, netio_handler_type *handler, netio_events_type event_types)
Definition: sock.c:445
void sock_handle_tcp_write(netio_type *netio, netio_handler_type *handler, netio_events_type event_types)
Definition: sock.c:644
size_t bytes_transmitted
Definition: sock.h:92