FACT++  1.0
dns.c File Reference
#include <stdio.h>
#include <dim.h>
#include <dis.h>
#include <netdb.h>
+ Include dependency graph for dns.c:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  node
 
struct  red_node
 
struct  serv
 
struct  red_serv
 

Macros

#define DNS
 
#define MAX_HASH_ENTRIES   25000
 

Typedefs

typedef struct node NODE
 
typedef struct red_node RED_NODE
 
typedef struct serv DNS_SERVICE
 
typedef struct red_serv RED_DNS_SERVICE
 

Functions

 _DIM_PROTO (DNS_SERVICE *service_exists,(char *name))
 
 _DIM_PROTO (void check_validity,(int conn_id))
 
 _DIM_PROTO (void send_dns_server_info,(int conn_id, int **bufp, int *size))
 
 _DIM_PROTO (void print_stats,(void))
 
 _DIM_PROTO (void set_debug_on,(int level))
 
 _DIM_PROTO (void get_rpc_info,(int *tag, char **info, int *size))
 
 _DIM_PROTO (void set_rpc_info,(int *tag, char *name, int *size))
 
 _DIM_PROTO (static void release_conn,(int conn_id))
 
static void recv_rout (int conn_id, DIC_DNS_PACKET *packet, int size, int status)
 
static void error_handler (int conn_id, int severity, int errcode, char *reason)
 
int handle_registration (int conn_id, DIS_DNS_PACKET *packet, int tmout_flag)
 
void update_did ()
 
void do_update_did (int conn_id)
 
void check_validity (int conn_id)
 
int handle_client_request (int conn_id, DIC_DNS_PACKET *packet)
 
void do_inform_clients (int conn_id)
 
void inform_clients (DNS_SERVICE *servp)
 
static void release_conn (int conn_id)
 
void set_in_error (int conn_id)
 
void get_dns_server_info (int *tag, int **bufp, int *size, int *first_time)
 
void send_dns_server_info (int conn_id, int **bufp, int *size)
 
void get_new_dns_server_info (int *tag, int **bufp, int *size, int *first_time)
 
int main (int argc, char **argv)
 
void print_stats ()
 
void set_debug_on ()
 
void set_debug_off ()
 
void kill_servers (int *tag, int *code, int *size)
 
void service_init ()
 
void service_insert (RED_DNS_SERVICE *servp)
 
void service_remove (RED_DNS_SERVICE *servp)
 
DNS_SERVICEservice_exists (char *name)
 
void print_hash_table ()
 
int find_services (char *wild_name)
 
void set_rpc_info (int *tag, char *buffer, int *size)
 
void get_rpc_info (int *tag, char **buffer, int *size)
 

Variables

FILE * foutptr
 
static DNS_SERVICE ** Service_info_list
 
static RED_DNS_SERVICEService_hash_table [MAX_HASH_ENTRIES]
 
static int Curr_n_services = 0
 
static int Curr_n_servers = 0
 
static int Last_conn_id
 
static int Debug = 0
 
static int Timer_q
 
static int Server_info_id
 
static int Server_new_info_id
 
static int Rpc_id
 
static int wake_up
 
static char RPC_dummy = 0
 
static char * Rpc_info = &RPC_dummy
 
static int Rpc_info_size = 0
 
static char DNS_accepted_domains [1024] = {0}
 
static char DNS_accepted_nodes [1024] = {0}