1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195
|
/****************************************************************************
* Copyright (C) 1998 WIDE Project. All rights reserved.
* Copyright (C) 1999,2000,2001,2002 University of Tromso. All rights reserved.
* Copyright (C) 2002 Invenia Innovation AS. All rights reserved.
*
* Author: Feike W. Dillema, feico@pasta.cs.uit.no.
* based on newbie code by Yusuke DOI, Keio Univ. Murai Lab.
****************************************************************************/
/*
* <$Id: protos.h,v 3.60 2002/12/11 16:39:50 dillema Exp $>
*/
#if !HAVE_STRLCPY
size_t strlcpy(char *, const char *, size_t);
size_t strlcat(char *, const char *, size_t);
#endif
RRset *search_name (G_List *, char *, int, int);
char *sprint_inet(struct sockaddr *, char *);
int request_start (Context *, int);
int request_retry(Context *);
int request_abort (Context *, int);
int request_finish (Context *cont);
int assemble_response (Context *);
int do_forward(struct context *, u_char *, uint16_t, uint16_t, int);
int recursive_process (Context *);
int tcp_writemesg (Context *, int);
int response_abort (Context *, int);
int tcp_request_start (struct context *);
int tcp_request_wait_connect_process (Context *);
int tcp_request_wait_connect_retry (Context *);
int tcp_request_writing_process (Context *);
int tcp_request_writing_retry (Context *);
int tcp_request_readlen_process (Context *);
int tcp_request_readlen_retry (Context *);
int tcp_request_reading_process (Context *);
int tcp_request_reading_retry (Context *);
int tcp_request_finish (Context *);
int tcp_response_start (int, struct sockaddr *);
int tcp_response_readlen_process (Context *);
int tcp_response_readlen_retry (Context *);
int tcp_response_reading_process (Context *);
int tcp_response_reading_retry (Context *);
int tcp_response_recursive_process (Context *);
int tcp_response_recursive_retry (Context *);
int tcp_response_writing_process (Context *);
int tcp_response_writing_retry (Context *);
int tcp_response_waiting_client_close_process (Context *);
int tcp_response_waiting_client_close_retry (Context *);
int tcp_response_finish (Context *);
int udp_request_start (struct context *);
int udp_request_process (Context *);
int udp_request_retry (Context *);
int udp_request_finish (Context *);
int udp_response_start (u_char *, int, struct sockaddr *, Nia *);
int udp_response_recursive_process (Context *);
int udp_response_recursive_retry (Context *);
int udp_response_finish (Context *);
int context_timeout_handler (struct ev_to_data *);
int context_timeout_register (Context *, int);
Context *context_create (void);
void *context_destroy (Context *);
void conv_trick_list (G_List *, int, int);
void conv_trick_ptr (G_List *, u_char *);
void conv_trick_newptr (G_List *, u_char *);
int conv_trick_conf (u_char *);
int conv_trick_is_tot_ptr (u_char *);
void conv_trick_ptr_rq (u_char * qname);
int conv_trick_is_tot_newptr (u_char *, struct in6_addr *);
void conv_trick_newptr_rq (u_char *, struct in6_addr *);
int conv_stf_is_stf_ptr (u_char *);
int conv_stf_ptr (u_char *);
void conv_stf_ns_list (G_List *);
struct sockaddr *conv_stf_get_nsaddr(Context *);
void ev_dup_init (void);
int ev_dup (struct sockaddr *, uint16_t, uint16_t);
void ev_main ();
int ev_signal_init (void);
void ev_signal_process (void);
void ev_signal_finish (void);
int ev_tcp_common_eq (void *, void *);
G_List *ev_tcp_common_init (void);
int ev_tcp_common_register (G_List *, int, Context *);
int ev_tcp_common_remove (G_List *, int);
int ev_tcp_common_fds (G_List *, fd_set *);
int ev_tcp_common_fd_check (G_List *, fd_set *);
int ev_tcp_conn_in_init (void);
void ev_tcp_conn_in_finish (void);
int ev_tcp_conn_in_register (int, Context *);
int ev_tcp_conn_in_remove (int);
int ev_tcp_conn_in_fds (fd_set *);
int ev_tcp_conn_in_fd_check (fd_set *);
int ev_tcp_out_init (void);
void ev_tcp_out_finish (void);
int ev_tcp_out_register (int, Context *);
int ev_tcp_out_remove (int);
int ev_tcp_out_fds (fd_set *);
int ev_tcp_out_fd_check (fd_set *);
int ev_tcp_srv_accept (int);
int ev_to_init (void);
int ev_to_register (Ev_TO_Data *);
time_t ev_timeout_process (void);
void ev_to_data_free (Ev_TO_Data *);
void ev_to_data_free_v (void *);
void ev_to_finish (void);
int ev_to_handler_ifcheck (Ev_TO_Data *);
int ev_to_register_ifcheck (void);
int ev_udp_in_eq (void *, void *);
void ev_udp_in_data_free (Ev_UDP_In_Data * _p);
void ev_udp_in_data_free_v (void *_vp);
int ev_udp_in_init (void);
void ev_udp_in_finish (void);
int ev_udp_in_register (Context *, struct sockaddr *, int, uint16_t);
int ev_udp_in_remove (struct sockaddr *, int);
int ev_udp_in_read (int);
struct sockaddr *parse_and_alloc_addr (char *caddr, int port, int *sa_len_ret);
void fwd_free (Fwd *);
void fwd_freev (void *);
Fwd *fwd_alloc (void);
void fwd_init (void);
int fwd_add (char *hostname, int port);
int fwd_del (struct sockaddr *, int);
void fwd_select (void);
void fwd_mark (struct sockaddr *, int);
G_List *fwd_socketlist (void);
G_List *list_init (void);
int list_add (G_List *, void *);
int list_add_tail (G_List *, void *);
G_List *list_search (G_List *, void *, int (*comp_func) (void *, void *));
void *list_delete (G_List *);
void list_destroy (G_List *, void (*freefnc) (void *));
G_List *list_dup (G_List *, void (freefunc) (void *), void *(dupfunc) (void *));
void list_cat (G_List * list, G_List * toadd);
void nia_free_closev (void *);
void nia_free (Nia *, int);
Nia *nia_find_by_sock (int);
void nia_fds_set (fd_set *, int *);
int nia_fds_isset (fd_set *, int *);
Nia *nia_copy (Nia *);
int net_init_socketlist (int);
int net_reinit_socketlist (int, int);
int net_bind_socketlist (void);
int net_delete_socketlist (void);
int net_mesg_socket (Nia *);
int net_stream_socket (Nia *);
int net_mesg_send (Nia *, u_char *, int, struct sockaddr *);
uint16_t mesg_id (void);
int mesg_make_query (u_char *, uint16_t, uint16_t, uint32_t, int, u_char *, int);
int mesg_write_dname (u_char *, u_char *, uint16_t *, int, u_char *, u_char *);
u_char *mesg_skip_dname (u_char * dname, u_char * end);
int labellen (const u_char * dname);
u_char *dname_decompress (u_char *, int, u_char *, u_char *, u_char *, int *);
int mesg_dname_cmp (u_char *, u_char *, u_char *);
int mesg_write_rrset_list (G_List *, u_char *, u_char *, uint16_t *, int, u_char **, uint16_t *);
int mesg_assemble (G_List *, G_List *, G_List *, u_char *, uint16_t, u_char *mesg, int);
void rrset_couple_free (RRset_Couple *);
void rrset_couple_freev (void *);
int mesg_extract_rr (u_char *, u_char *, uint16_t, uint16_t, u_char *, u_char *, int);
int mesg_parse (u_char *, int, G_List *, G_List *, G_List *);
Q_Set *queue_create (void);
void queue_destroy (Q_Set *, void (*freefnc) (void *));
int enqueue (Q_Set *, void *);
void *dequeue (Q_Set *);
void *queue_peek (Q_Set *);
void *queue_disable (G_Queue *);
int read_config (char *);
RR *rr_alloc (uint32_t, int, u_char *);
RR_List *rr_list_alloc (void);
void rr_list_free (RR_List *);
RR_List *rr_list_add (RR_List *, uint32_t, int, u_char *);
RR *rrset_get_rr_f (int, RRset *);
RR_List *rr_list_of_rrset (RRset *);
RRset *rrset_alloc (void);
RRset *rrset_create (uint16_t, uint16_t, uint16_t, u_char *, RR_List *);
RRset *rrset_create_single (u_char *, int, uint16_t, uint16_t, uint32_t, uint16_t, u_char *);
void rrset_freev (void *);
void rrset_free (RRset *);
RRset *rrset_copy (RRset *);
void *rrset_copyv (void *);
void *rrset_dupv (void *);
RRset *rrset_dup (RRset *);
void rrset_list_dump (G_List *, FILE *);
char *string_rclass (uint16_t);
char *string_rtype (uint16_t);
void totd_eventloop (void);
int totd_exit (int);
int conv_scoped_query (Context *);
int conv_scoped_conf (const char *, const char *, int);
void conv_scoped_list (G_List *);
int conv_is_scoped_ptr (u_char *, int);
void conv_scoped_ptr (G_List *, u_char *);
void conv_scoped_ptr_rq (u_char *);
|