Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

dnshandler.h File Reference


Detailed Description

The dnshandler will attempt to send a DNS status query to a specified server on UDP port 53, if a valid DNS reponse is received, it is assumed the server is available. Using the triptime: option events with the round trip time will be generated.

Wire keywords (standard handler keywords documented in Wire )

Example:

// monitor dns set noconnect create event { name: "noconnect" priority: 1 }

create handler dns { hostname: dns.mydomain.com noservice: $noservice timeout: 5 cycletime: 60 }

Events generated:
Event NameTypeDescription
service AW_EVENT_TYPE_STRING Was able to talk w/dns server, send string of "host"
noservice AW_EVENT_TYPE_STRING Was NOT able to talk w/dns server, send string of "host"
triptime AW_EVENT_TYPE_INT32 Estimated round trip time in usec

#include "sysnet.h"
#include "monitor.h"
#include "wire.h"

Go to the source code of this file.

Data Structures

struct  aw_dnshandler_events_t
 Events generated. More...

struct  aw_dnshandler_state_t
 State of handler during probing. More...

struct  aw_dnshandler_t
 Handler object. More...


Enumerations

enum  aw_dnshandler_state_cd_t { AW_DNSHANDLER_IDLE, AW_DNSHANDLER_WAIT_READ, AW_DNSHANDLER_DONE_READ }
 The state codes for each state on handler. More...


Functions

aw_dnshandler_t * aw_create_dnshandler (const aw_dnshandler_events_t *events, const byte_t *hostname, aw_timestamp_t timeout, u_int32_t maxretries, int32_t(*regevent)(aw_handler_t *h, aw_address_t *eventid, u_int32_t index), int32_t(*regmaskevent)(aw_handler_t *h, aw_address_t *eventid, u_int32_t index), const aw_alarm_sched_t *sched, aw_logger_t *logger)
 Create a dnshandler.

void aw_free_dnshandler (aw_dnshandler_t *p)
 Free handler and all associated resources.

aw_handler_t * aw_wire_dnshandler (aw_wire_mkhandler_args_t *args)
 Create a dns handler using "wire". See header doc for keyword documentation.


Enumeration Type Documentation

enum aw_dnshandler_state_cd_t
 

The state codes for each state on handler.

Enumeration values:
AW_DNSHANDLER_IDLE 
AW_DNSHANDLER_WAIT_READ 
AW_DNSHANDLER_DONE_READ 


Function Documentation

aw_dnshandler_t* aw_create_dnshandler (  const aw_dnshandler_events_t *  events,
const byte_t *  hostname,
aw_timestamp_t  timeout,
u_int32_t  maxretries,
int32_t(*  regevent)(aw_handler_t *h, aw_address_t *eventid, u_int32_t index),
int32_t(*  regmaskevent)(aw_handler_t *h, aw_address_t *eventid, u_int32_t index),
const aw_alarm_sched_t *  sched,
aw_logger_t *  logger
) 
 

Create a dnshandler.

aw_create_dnshandler

Parameters:
events Events to generate
hostname Hostname or dotted IP string
timeout Max time to run
maxretries Number of times to try before giving up
regevent Function pointer for event registration
regmaskevent Function pointer for event mask registration
sched Run schedule
logger Logger object
Returns:
Handler object

void aw_free_dnshandler (  aw_dnshandler_t *  p  ) 
 

Free handler and all associated resources.

aw_free_dnshandler

Parameters:
p The handler

aw_handler_t* aw_wire_dnshandler (  aw_wire_mkhandler_args_t *  args  ) 
 

Create a dns handler using "wire". See header doc for keyword documentation.

aw_wire_dnshandler

Aware 0.11.1 Copyright (C) 1998-2005 Russell Leighton (russ@elegant-software.com)