System Event Library Functions
sysevent_get_class_name(3SYSEVENT)
NAME
sysevent_get_class_name, sysevent_get_subclass_name,
sysevent_get_size, sysevent_get_seq, sysevent_get_time - get
class name, subclass name, ID or buffer size of eventSYNOPSIS
cc [flag...] file... -lsysevent [library...]
#include
char *sysevent_get_class_name(sysevent_t *ev);
char *sysevent_get_subclass_name(sysevent_t *ev);
int sysevent_get_size(sysevent_t *ev);
uint64_t sysevent_get_seq(sysevent_t *ev);
void sysevent_get_time(sysevent_t *ev, hrtime_t *etimep);
PARAMETERS
ev handle to event etimep pointer to high resolution event time variableDESCRIPTION
The sysevent_get_class_name() and
sysevent_get_subclass_name() functions return, respectively,
the class and subclass names for the provided event ev.The sysevent_get_size() function returns the size of the
event buffer, ev.The sysevent_get_seq() function returns a unique event
sequence number of event ev. The sequence number is reset on every system boot.The sysevent_get_time() 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: 24 Jul 2009 1
System Event Library Functionssysevent_get_class_name(3SYSEVENT)
EXAMPLES
Example 1 Parse sysevent header information. The following example parses sysevent header information from an application's event handler.hrtime_t last_ev_time;
unit64_t last_ev_seq;
voidevent_handler(sysevent_t *ev)
{sysevent_t *new_ev;
int ev_sz;
hrtime_t ev_time;
uint64_t ev_seq;
/* Filter on class and subclass */if (strcmp(EC_PRIV, sysevent_get_class_name(ev)) != 0) {
return;} else if (strcmp("ESC_MYSUBCLASS,
sysevent_get_subclass_name(ev)) != 0) {
return; } /* * Check for replayed sysevent, time must * be greater than previously recorded. */sysevent_get_event_time(ev, &ev_time);
ev_seq = sysevent_get_seq(ev);
if (ev_time < last_ev_time ||
(ev_time == last_ev_time && ev_seq <=
last_ev_seq)) {
return; }last_ev_time = ev_time;
last_ev_seq = ev_seq;
/* Store event for later processing */ev_sz = sysevent_get_size(ev):
new_ev (sysevent_t *)malloc(ev_sz);
bcopy(ev, new_ev, ev_sz);
queue_event(new_ev);
}SunOS 5.11 Last change: 24 Jul 2009 2
System Event Library Functionssysevent_get_class_name(3SYSEVENT)
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | MT-Safe |
|_____________________________|_____________________________|
SEE ALSO
attributes(5) NOTESThe libsysevent interfaces do not work at all in non-global
zones.SunOS 5.11 Last change: 24 Jul 2009 3
System Event Library Functionssysevent_get_class_name(3SYSEVENT)
SunOS 5.11 Last change: 24 Jul 2009 4