EventMonAPI man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]



EventMonAPI(3X)						       EventMonAPI(3X)

NAME
     EventMon API - Programmer's Guide

SYNOPSIS
      #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
     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
     eventmond(1M)

									Page 3

EventMonAPI(3X)						       EventMonAPI(3X)

									Page 4

[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net