*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> EventMonAPI (3x)              
Title
Content
Arch
Section
 

Contents


EventMonAPI(3X)						       EventMonAPI(3X)


NAME    [Toc]    [Back]

     EventMon API - Programmer's Guide

SYNOPSIS    [Toc]    [Back]

      #include <eventmonapi.h>

      int EVMONAPI emapiIsDaemonInstalled();

      int EVMONAPI emapiIsDaemonStarted();

      int EVMONAPI emapiDeclareDaemonUnload();

      int EVMONAPI emapiDeclareDaemonReloadConfig();

      int EVMONAPI emapiSendEvent(char *hostname_from,unsigned
		long time,int etype,int	epri,char *eventbuffer);

DESCRIPTION    [Toc]    [Back]

     EventMon API is a set of functions	for connecting to and communicating
     with Event	Monitor	daemon	(see eventmond(1M) for more details).
     (EventMon daemon is a system daemon responsible for intercepting all
     system events messages from syslog	daemon,	filtering and buffering	them).
     This API allows different applications to communicate with	EventMon
     daemon in order to	do the following:

     check installed binary image of EventMon daemon in	system directory
     (function emapiIsDaemonInstalled());

     check if an instance of EventMon daemon is	running	in system memory
     (function emapiIsDaemonStarted());

     declare "unload" event to EventMon	daemon (function
     emapiDeclareDaemonUnload());

     declare "reload filter configuration" event to EventMon daemon (function
     emapiDeclareDaemonReloadConfig());

     send a particular event message to	EventMon daemon	(function
     emapiSendEvent(...));

     This functionalities are provided via set of functions declared in
     eventmonapi.h file. All functions are implemented in library
     libeventmon.so.  EventMon API functions use two named pipes, provided by
     EventMon daemon, and internal commands for	communication with EventMon
     daemon.  EventMon API quite a small set of	error codes in functions.


int EVMONAPI emapiIsDaemonInstalled();
     This function allows to check location of a binary	file of	EventMon
     daemon in system directory.




									Page 1






EventMonAPI(3X)						       EventMonAPI(3X)



     Parameter(s) - none
     Return value - Non-zero value indicates that executable file of EventMon
     daemon exists in system directory (/usr/etc/eventmond). Zero means	that
     EventMon executable doesn't exist in system directory.


int EVMONAPI emapiIsDaemonStarted();
     This function allows to check if an instance of EventMon daemon exists in
     memory.  Application might	use this function before using other functions
     from EventMon API.

     Parameter(s): none
     Return value: integer. Non-zero value indicates that an instance of
     EventMon daemon is	started	and exists in memory. Zero means that EventMon
     is	not started.



int EVMONAPI emapiDeclareDaemonUnload();
     This function allows to declare "unload" notification to an instance of
     EventMon daemon. The "declare" term means that after this function	call
     EventMon daemon will start	unload process.	 Due to	the fact that this
     process can take up to 2 seconds, EventMon	daemon can remain in memory
     immediately after emapiDeclareDaemonUnload	call until this	"unload"
     process is	not completed.

     Parameter(s): none
     Return value: integer. Non-zero value indicates a successful passed
     "unload" notification to EventMon daemon.	Zero is	returned on error.
     Important notice: application must	have "root" permissions/privileges to
     call this function.


int EVMONAPI emapiDeclareDaemonReloadConfig();
     This function allows to declare "reload configuration info" notification
     to	an instance of EventMon	daemon.	This declaration means that after this
     call EventMon daemon will start "reload configuration info" process. This
     process includes three steps:

     1.	dropping all filter information	from internal EventMon memory tables;
     2.	connection to system tables which includes filtering information;
     3.	adjustment of internal EventMon	memory tables according	system
     information.

     This function call	carries	the same functionality as following shell
     command:
	  "kill	-HUP eventmon_pid"
     Parameter(s): none
     Return value: integer. Non-zero value - successful	pass of	"reload
     configuration info" notification to EventMon daemon. On error the return
     value is zero.
     Important notice: application must	have "root" permissions/privileges to



									Page 2






EventMonAPI(3X)						       EventMonAPI(3X)



     call this function.


int EVMONAPI emapiSendEvent(char *hostname_from,
unsigned long time,int etype,int epri,char *eventbuffer);
     This function allows to pass a message with particular sequence number
     and priority/facility code	information to EventMon.

     Parameter(s):
     char *hostname    - host name from	coming event
			 (NULL for localhost)
     unsigned long     - timehost name from coming event
			 (NULL for localhost)
     int etype	       - valid event type value	(must be non-zero value)
     int epri	       - valid priority/facility code (see sys/syslog.h
			 file)
     char *eventbuffer - valid ASCIZ buffer with event message
			 string	(must be a valid string	pointer
			 and have non zero size)

     Return value: integer. Non-zero value indicated successful	pass of	a
     message to	EventMon daemon	for processing.	 Zero -	an error.

     Important notice: size of eventbuffer can't be more than
     EVMONAPI_MAXEVENTSIZE (defined in evmonapi.h file)	bytes, no more than
     64K bytes.

      Sample:

      #include <stdio.h>
      #include <sys/syslog.h>
      #include <eventmonapi.h>

      main()
      {	if(!emapiIsDaemonStarted())
	{ printf("EventMon daemon not started!\n");
	  exit(0);
	}
	return emapiSendEvent("legalov.sgi.com",0,0x20101C,
	       LOG_MAKEPRI(LOG_USER,LOG_INFO), "Hello world!");
      }

SEE ALSO    [Toc]    [Back]

      
      
     eventmond(1M)











									Page 3






EventMonAPI(3X)						       EventMonAPI(3X)


									PPPPaaaaggggeeee 4444
[ Back ]
 Similar pages
Name OS Title
rpc_intro HP-UX Introduction to the DCE RPC programmer commands
gated.conf HP-UX GateDaemon Configuration Guide
gated.config HP-UX GateDaemon Configuration Guide
perlstyle IRIX Perl style guide
perlstyle OpenBSD Perl style guide
gated-confi HP-UX GateDaemon Configuration Guide
perlmodstyle OpenBSD Perl module style guide
microseq FreeBSD ppbus microsequencer developer's guide
runtask IRIX run a system administration active guide
style FreeBSD kernel source file style guide
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service