OpenDNSSEC-signer  2.1.6
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 
55 typedef struct socklist_struct socklist_type;
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 
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 */
sock_struct::addr
struct addrinfo * addr
Definition: sock.h:47
sock_struct
Definition: sock.h:46
netio_handler_struct
Definition: netio.h:102
udp_data::query
query_type * query
Definition: sock.h:68
tcp_accept_data
Definition: sock.h:75
netio_struct
Definition: netio.h:139
listener_struct
Definition: listener.h:81
tcp_data::bytes_transmitted
size_t bytes_transmitted
Definition: sock.h:92
query_state
enum query_enum query_state
Definition: query.h:52
netio.h
tcp_data::engine
engine_type * engine
Definition: sock.h:87
tcp_accept_data::socket
sock_type * socket
Definition: sock.h:77
query.h
netio_events_type
enum netio_events_enum netio_events_type
Definition: netio.h:76
listener.h
socklist_struct::tcp
sock_type tcp[MAX_INTERFACES]
Definition: sock.h:57
tcp_data
Definition: sock.h:86
sock_handle_tcp_write
void sock_handle_tcp_write(netio_type *netio, netio_handler_type *handler, netio_events_type event_types)
Definition: sock.c:644
MAX_INTERFACES
#define MAX_INTERFACES
Definition: listener.h:53
udp_data::socket
sock_type * socket
Definition: sock.h:67
tcp_accept_data::engine
engine_type * engine
Definition: sock.h:76
tcp_accept_data::tcp_accept_handler_count
size_t tcp_accept_handler_count
Definition: sock.h:78
socklist_struct::udp
sock_type udp[MAX_INTERFACES]
Definition: sock.h:58
udp_data::engine
engine_type * engine
Definition: sock.h:66
sock_listen
ods_status sock_listen(socklist_type *sockets, listener_type *listener)
Definition: sock.c:292
tcp_accept_data::tcp_accept_handlers
netio_handler_type * tcp_accept_handlers
Definition: sock.h:79
sock_struct::s
int s
Definition: sock.h:48
tcp_data::query
query_type * query
Definition: sock.h:88
sock_handle_tcp_accept
void sock_handle_tcp_accept(netio_type *netio, netio_handler_type *handler, netio_events_type event_types)
Definition: sock.c:445
engine_struct
Definition: engine.h:51
tcp_data::qstate
query_state qstate
Definition: sock.h:91
tcp_data::tcp_accept_handlers
netio_handler_type * tcp_accept_handlers
Definition: sock.h:90
socklist_struct
Definition: sock.h:56
query_struct
Definition: query.h:59
udp_data
Definition: sock.h:65
sock_handle_udp
void sock_handle_udp(netio_type *netio, netio_handler_type *handler, netio_events_type event_types)
tcp_data::tcp_accept_handler_count
size_t tcp_accept_handler_count
Definition: sock.h:89
sock_handle_tcp_read
void sock_handle_tcp_read(netio_type *netio, netio_handler_type *handler, netio_events_type event_types)
Definition: sock.c:519