'\" te .\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved. .TH sysevent_get_vendor_name 3SYSEVENT "24 Jul 2009" "SunOS 5.11" "System Event Library Functions" .SH NAME sysevent_get_vendor_name, sysevent_get_pub_name, sysevent_get_pid \- get vendor name, publisher name or processor ID of event .SH SYNOPSIS .LP .nf \fBcc \fR [\fIflag \&.\|.\|.\fR] \fIfile\fR\&.\|.\|. \fB-lsysevent\fR [\fIlibrary \&.\|.\|.\fR] #include \fBchar *\fR\fBsysevent_get_vendor_name\fR(\fBsysevent_t *\fR\fIev\fR); .fi .LP .nf \fBchar *\fR\fBsysevent_get_pub_name\fR(\fBsysevent_t *\fR\fIev\fR); .fi .LP .nf \fBpid_t\fR \fBsysevent_get_pid\fR(\fBsysevent_t *\fR\fIev\fR); .fi .SH PARAMETERS .sp .ne 2 .mk .na \fB\fIev\fR\fR .ad .RS 6n .rt handle to a system event object .RE .SH DESCRIPTION .sp .LP The \fBsysevent_get_pub_name()\fR function returns the publisher name for the sysevent handle, \fIev\fR. The publisher name identifies the name of the publishing application or kernel subsystem of the sysevent. .sp .LP The \fBsysevent_get_pid()\fR function returns the process ID for the publishing application or \fBSE_KERN_PID\fR for sysevents originating in the kernel. The publisher name and PID are useful for implementing event acknowledgement. .sp .LP The \fBsysevent_get_vendor_name()\fR function returns the vendor string for the publishing application or kernel subsystem. A vendor string is the company's stock symbol that provided the application or kernel subsystem that generated the system event. This information is useful for filtering sysevents for one or more vendors. .sp .LP The interface manages the allocation of the vendor and publisher name strings, but it is the caller's responsibility to free the strings when they are no longer needed by calling \fBfree\fR(3MALLOC). If the new vendor and publisher name strings cannot be created, \fBsysevent_get_vendor_name()\fR and \fBsysevent_get_pub_name()\fR return a null pointer and may set errno to \fBENOMEM\fR to indicate that the storage space available is insufficient. .SH EXAMPLES .LP \fBExample 1 \fRParse sysevent header information. .sp .LP The following example parses sysevent header information from an application's event handler. .sp .in +2 .nf char *vendor; char *pub; void event_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); } .fi .in -2 .SH ATTRIBUTES .sp .LP See \fBattributes\fR(5) for descriptions of the following attributes: .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . ATTRIBUTE TYPEATTRIBUTE VALUE _ Interface StabilityCommitted _ MT-LevelMT-Safe .TE .SH SEE ALSO .sp .LP \fBmalloc\fR(3MALLOC), \fBattributes\fR(5) .SH NOTES .sp .LP The \fBlibsysevent\fR interfaces do not work at all in non-global zones.