eventhandler.c File Reference

#include "stdinc.h"
#include "server.h"

Go to the source code of this file.

Functions

static void SockEventNull (Socket *, int)
SockEventFindSockEvent (char *, void(*)())
void destroy_event_list ()
int AddEventEx (char *event, int every, int howmany, void *fnct)
void DelEvent (char *event, void *fnct)
void AddTimedEvent (char *event, void *fnct, int interval)
void RunTimedEvents ()
void DelTimedEvent (char *event)
void Event (char *event, int argc, void *argv)
void AddServCmd (char *cmd, void(*fnct)(Link *, int, char **))
int HandleServCmd (char *command, Link *li, int arc, char **arv)
void DelServCmd (char *cmd, void(*fnct)(Link *, int, char **))
void AddUserCmd (char *cmd, void(*fnct)(User *, int, char **))
void DelUserCmd (char *cmd, void(*fnct)(User *, int, char **))
int HandleUserCmd (char *command, User *u, int arc, char **arv)
void ev_housekeeping (int argc, char **argv)
void ev_connectuplink (int argc, char **argv)
void ev_ping (int argc, char **argv)

Variables

Eventsevent_list
ModulecurrentModule
dlink_list servcmds
dlink_list usercmds

Function Documentation

int AddEventEx ( char *  event,
int  every,
int  howmany,
void *  fnct 
)
void AddServCmd ( char *  cmd,
void(*)(Link *, int, char **)  fnct 
)
void AddTimedEvent ( char *  event,
void *  fnct,
int  interval 
)
void AddUserCmd ( char *  cmd,
void(*)(User *, int, char **)  fnct 
)

Okay instead of using a fat dlinked list index the commands by name into a hash then retrieve assocated lists this will save time in the future.

Definition at line 345 of file eventhandler.c.

References UserCmds::active, dlink_add_tail(), dlink_create(), HASH, UserCmds::routine, and UserCmdTable.

Referenced by psr_init().

void DelEvent ( char *  event,
void *  fnct 
)

Definition at line 102 of file eventhandler.c.

References dlink_delete(), DLINK_FOREACH, dlink_free(), events, and Events::handler.

void DelServCmd ( char *  cmd,
void(*)(Link *, int, char **)  fnct 
)
void DelTimedEvent ( char *  event  ) 

Definition at line 194 of file eventhandler.c.

References dlink_delete(), DLINK_FOREACH, dlink_free(), events, and Events::name.

Referenced by ev_connectuplink().

void DelUserCmd ( char *  cmd,
void(*)(User *, int, char **)  fnct 
)
void destroy_event_list (  ) 

Definition at line 40 of file eventhandler.c.

References alog(), dlink_delete(), DLINK_FOREACH_SAFE, dlink_free(), events, and LOG_EVENT.

Referenced by AtExit().

void ev_connectuplink ( int  argc,
char **  argv 
)
void ev_housekeeping ( int  argc,
char **  argv 
)

Definition at line 436 of file eventhandler.c.

Referenced by Run().

void ev_ping ( int  argc,
char **  argv 
)
void Event ( char *  event,
int  argc,
void *  argv 
)
SockEvent* FindSockEvent ( char *  ,
void(*)()   
)
int HandleServCmd ( char *  command,
Link li,
int  arc,
char **  arv 
)

Definition at line 274 of file eventhandler.c.

References alog(), DEBUG3, DLINK_FOREACH, ServCmds::fnct, HASH, ServCmds::name, and ServCmdTable.

Referenced by parse().

int HandleUserCmd ( char *  command,
User *  u,
int  arc,
char **  arv 
)

Definition at line 403 of file eventhandler.c.

References DLINK_FOREACH, HASH, UserCmds::routine, and UserCmdTable.

Referenced by parse().

void RunTimedEvents (  ) 
static void SockEventNull ( Socket s,
int  et 
) [static]

Definition at line 490 of file eventhandler.c.


Variable Documentation

Definition at line 15 of file extern.h.

dlink_list servcmds

Definition at line 32 of file eventhandler.c.

dlink_list usercmds

Definition at line 33 of file eventhandler.c.

Generated on Mon Jul 19 21:53:05 2010 for Omega Security Services by  doxygen 1.6.3