Sun Microsystems, Inc.
spacerspacer
spacer   www.sun.com docs.sun.com | | |  
spacer
black dot
   
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
    
 
System Event Library Functionssysevent_get_vendor_name(3SYSEVENT)


NAME

 sysevent_get_vendor_name, sysevent_get_pub_name, sysevent_get_pid - get vendor name, publisher name or processor ID of event

SYNOPSIS

 
cc  [flag ...]  file ...-lsysevent [library ...] 
#include <libsysevent.h>
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 object

DESCRIPTION

 

The sysevent_get_pub_name() function returns the publisher name for the sysevent handle, ev. The publisher name identifies the name of the publishing application or kernel subsystem of the sysevent.

The sysevent_get_pid() function returns the process ID for the publishing application or SE_KERN_PID for sysevents originating in the kernel. The publisher name and PID are useful 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 provided the application or kernel subsystem that generated the system event. This information is useful for filtering sysevents for one or more vendors.

The interface manages the allocation of the vendor and publisher name strings, but it is up to the caller to free the strings when they are no longer needed with a call to free(). See malloc(3MALLOC).

EXAMPLES

 Example 1. Parse sysevent header information.
 

The following example parses sysevent header information from an application's event handler.

 
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);
}

ATTRIBUTES

 

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
Interface StabilityEvolving
MT-LevelMT-Safe

SEE ALSO

 

malloc(3MALLOC), attributes(5)


SunOS 5.9Go To TopLast Changed 12 Sep 2000

 
      
      
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.