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

userhandler.h File Reference


Detailed Description

The userhandler generates events on login, logout and counts the number of users logged into the system.

Wire keywords (standard handler keywords documented in Wire )

Example:
  // monitor all login/logouts every 5min
  set login  create event { name: "login"  priority: 1 }
  set logout create event { name: "logout"  priority: 1 }
  create handler user { login: $login logout: $logout cycletime: 300 }
Events generated:
Event NameTypeDescription
login AW_EVENT_TYPE_STRING Format: user \t host \t time, where time format is from ctime()
logout AW_EVENT_TYPE_STRING Format: user \t host \t duration_seconds \t time, where time format is from ctime()
nusers AW_EVENT_TYPE_INT32 Count of total logged in users
Events accepted:
TypeDescription
Any Generate an event of type requested

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

Go to the source code of this file.

Data Structures

struct  aw_userhandler_events_t
 Events generated. More...

struct  aw_userhandler_state_t
 Current state. More...

struct  aw_userhandler_t
 User handler object. More...


Defines

#define AW_USERHANDLER_UTMP_PATH   "/var/run/utmp"
#define AW_USERHANDLER_WTMP_PATH   "/var/log/wtmp"

Functions

aw_userhandler_t * aw_create_userhandler (aw_userhandler_events_t *events, 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), aw_alarm_sched_t *sched, aw_logger_t *logger)
 Create a user handler.

void aw_free_userhandler (aw_userhandler_t *p)
 Free handler and all associated resources.

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


Define Documentation

#define AW_USERHANDLER_UTMP_PATH   "/var/run/utmp"
 

Holds the utmp path for currently logged in users

#define AW_USERHANDLER_WTMP_PATH   "/var/log/wtmp"
 

Holds the wtmp path for login history


Function Documentation

aw_userhandler_t* aw_create_userhandler (  aw_userhandler_events_t *  events,
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),
aw_alarm_sched_t *  sched,
aw_logger_t *  logger
) 
 

Create a user handler.

aw_create_userhandler

Parameters:
events Events to generate
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_userhandler (  aw_userhandler_t *  p  ) 
 

Free handler and all associated resources.

aw_free_userhandler

Parameters:
p The handler

aw_handler_t* aw_wire_userhandler (  aw_wire_mkhandler_args_t *  args  ) 
 

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

aw_wire_userhandler

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