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

netifhandler.h File Reference


Detailed Description

The netifhandler will handler network interface stats from /proc/net/dev. This produces numbers similar to ifconfig as well as calculating tx/rx bytes per second.

The down: keyword will generate events when the handler detects the interface down. There is no up: keyword as you can register to receive one of the stat events.

Wire keywords (standard handler keywords documented in Wire )

Example:
// keep stats on the bytes/sec on interface eth0 set tx.rate create event { name: "tx.rate" priority: 1 } set rx.rate create event { name: "rx.rate" priority: 1 } create handler netif { interface: eth0 tx.rate: $tx.rate rx.rate: $rx.rate cycletime: 300 }

Events generated:
Event NameTypeDescription
down AW_EVENT_TYPE_STRING name of interface

Rx Events generated:
Event NameTypeDescription
rate AW_EVENT_TYPE_INT64 rate of bytes received (bytes/sec)
bytes AW_EVENT_TYPE_INT64 bytes received
packets AW_EVENT_TYPE_INT64 packets received
errs AW_EVENT_TYPE_INT64 errors received
drop AW_EVENT_TYPE_INT64 droppend packets received
fifo AW_EVENT_TYPE_INT64
frame AW_EVENT_TYPE_INT64
compz AW_EVENT_TYPE_INT64 compressed packets received
multi AW_EVENT_TYPE_INT64 multicast packets received

Tx Events generated:
Event NameTypeDescription
rate AW_EVENT_TYPE_INT64 rate of bytes transmitted (bytes/sec)
bytes AW_EVENT_TYPE_INT64 bytes transmitted
packets AW_EVENT_TYPE_INT64 packets transmitted
errs AW_EVENT_TYPE_INT64 errors transmitted
drop AW_EVENT_TYPE_INT64 droppend packets transmitted
fifo AW_EVENT_TYPE_INT64
colls AW_EVENT_TYPE_INT64 collisions on transmit
carrier AW_EVENT_TYPE_INT64
compz AW_EVENT_TYPE_INT64 compressed packets transmitted

Events accepted:
TypeDescription
Any Generate events of type registered

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

Go to the source code of this file.

Data Structures

struct  aw_netifhandler_events_t
 Events generated. More...

struct  aw_netifhandler_rxevents_t
 Events generated for Rx stats. More...

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

struct  aw_netifhandler_t
 Handler object. More...

struct  aw_netifhandler_txevents_t
 Events generated for Tx stats. More...


Functions

aw_netifhandler_t * aw_create_netifhandler (const aw_netifhandler_events_t *events, const byte_t *dev, 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 netifhandler.

void aw_free_netifhandler (aw_netifhandler_t *p)
 Free handler and all associated resources.

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


Function Documentation

aw_netifhandler_t* aw_create_netifhandler (  const aw_netifhandler_events_t *  events,
const byte_t *  dev,
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 netifhandler.

aw_create_netifhandler

Parameters:
events Events to generate
dev Network device name
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_netifhandler (  aw_netifhandler_t *  p  ) 
 

Free handler and all associated resources.

aw_free_netifhandler

Parameters:
p The handler

aw_handler_t* aw_wire_netifhandler (  aw_wire_mkhandler_args_t *  args  ) 
 

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

aw_wire_netifhandler

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