System Event Library Functions
syseventgetclassname(3SYSEVENT)
NAME
syseventgetclassname, syseventgetsubclassname,
syseventgetsize, syseventgetseq, syseventgettime - get
class name, subclass name, ID or buffer size of event
SYNOPSIS
cc [flag...] file ...-lsysevent [library...]
#include
char *syseventgetclassname(syseventt *ev);
char *syseventgetsubclassname(syseventt *ev);
int syseventgetsize(syseventt *ev);
uint64t syseventgetseq(syseventt *ev);
void syseventgettime(syseventt *ev, hrtimet *etimep);
PARAMETERS
ev handle to event
etimep pointer to high resolution event time variable
DESCRIPTION
The syseventgetclassname() and
syseventgetsubclassname() functions return, respectively,
the class and subclass names for the provided event ev.
The syseventgetsize() function returns the size of the
event buffer, ev.
The syseventgetseq() function returns a unique event
sequence number of event ev. The sequence number is reset on
every system boot.
The syseventgettime() function writes the time the event
was published into the variable pointed to by etimep. The
event time is added to the event just before it is put into
the kernel internal event queue.
SunOS 5.11 Last change: 1 Apr 2003 1
System Event Library Functions
syseventgetclassname(3SYSEVENT)
EXAMPLES
Example 1 Parse sysevent header information.
The following example parses sysevent header information
from an application's event handler.
hrtimet lastevtime;
unit64t lastevseq;
void
eventhandler(syseventt *ev)
{
syseventt *newev;
int evsz;
hrtimet evtime;
uint64t evseq;
/* Filter on class and subclass */
if (strcmp(ECPRIV, syseventgetclassname(ev)) != 0) {
return;
} else if (strcmp("ESCMYSUBCLAS,
syseventgetsubclassname(ev)) != 0) {
return;
}
/*
* Check for replayed sysevent, time must
* be greater than previously recorded.
*/
syseventgeteventtime(ev, &evtime);
evseq = syseventgetseq(ev);
if (evtime < lastevtime
(evtime == lastevtime && evseq <=
lastevseq)) {
return;
}
lastevtime = evtime;
lastevseq = evseq;
/* Store event for later processing */
evsz = syseventgetsize(ev):
newev (syseventt *)malloc(evsz);
bcopy(ev, newev, evsz);
queueevent(newev);
}
SunOS 5.11 Last change: 1 Apr 2003 2
System Event Library Functions
syseventgetclassname(3SYSEVENT)
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Evolving
MT-Level MT-Safe
SEE ALSO
attributes(5)
SunOS 5.11 Last change: 1 Apr 2003 3
System Event Library Functions
syseventgetclassname(3SYSEVENT)
SunOS 5.11 Last change: 1 Apr 2003 4
|