System Event Library Functions
sysevent_get_vendor_name(3SYSEVENT)
NAME
sysevent_get_vendor_name, sysevent_get_pub_name,
sysevent_get_pid - get vendor name, publisher name or pro-
cessor ID of eventSYNOPSIS
cc [flag ...] file... -lsysevent [library ...]
#include
char *sysevent_get_vendor_name(sysevent_t *ev);
char *sysevent_get_pub_name(sysevent_t *ev);
pid_t sysevent_get_pid(sysevent_t *ev);
PARAMETERS
ev handle to a system event objectDESCRIPTION
The sysevent_get_pub_name() function returns the publisher
name for the sysevent handle, ev. The publisher name iden-
tifies the name of the publishing application or kernel sub-
system of the sysevent.The sysevent_get_pid() function returns the process ID for
the publishing application or SE_KERN_PID for sysevents ori-
ginating in the kernel. The publisher name and PID are use-
ful for implementing event acknowledgement.The sysevent_get_vendor_name() function returns the vendor
string for the publishing application or kernel subsystem. A vendor string is the company's stock symbol that providedthe application or kernel subsystem that generated the sys-
tem event. This information is useful for filtering sysevents for one or more vendors.The interface manages the allocation of the vendor and pub-
lisher name strings, but it is the caller's responsibilityto free the strings when they are no longer needed by cal-
ling free(3MALLOC). If the new vendor and publisher namestrings cannot be created, sysevent_get_vendor_name() and
sysevent_get_pub_name() return a null pointer and may set
errno to ENOMEM to indicate that the storage space available is insufficient.SunOS 5.11 Last change: 24 Jul 2009 1
System Event Library Functionssysevent_get_vendor_name(3SYSEVENT)
EXAMPLES
Example 1 Parse sysevent header information. The following example parses sysevent header information from an application's event handler. char *vendor; char *pub; voidevent_handler(sysevent_t *ev)
{if (strcmp(EC_PRIV, sysevent_get_class_name(ev)) != 0) {
return; }vendor = sysevent_get_vendor_name(ev);
if (strcmp("SUNW", vendor) != 0) { free(vendor); return; }pub = sysevent_get_pub_name(ev);
if (strcmp("test_daemon", pub) != 0) {
free(vendor); free(pub); return; }(void) kill(sysevent_get_pid(ev), SIGUSR1);
free(vendor); free(pub); }ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:SunOS 5.11 Last change: 24 Jul 2009 2
System Event Library Functionssysevent_get_vendor_name(3SYSEVENT)
______________________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | MT-Safe |
|_____________________________|_____________________________|
SEE ALSO
malloc(3MALLOC), 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_vendor_name(3SYSEVENT)
SunOS 5.11 Last change: 24 Jul 2009 4