sysevent_post_event man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

SYSEVENT_POST_EVENT(3SYSEVENT)			SYSEVENT_POST_EVENT(3SYSEVENT)

NAME
       sysevent_post_event - post system event for applications

SYNOPSIS
       cc  [ flag... ]	file... -lsysevent  -lnvpair  [ library... ]
       #include <libsysevent.h>
       #include <libnvpair.h>

       int sysevent_post_event(char *class, char *subclass, char *vendor,
	    char *publisher, nvlist_t *attr_list, sysevent_id_t *eid);

PARAMETERS
       attr_list
		    pointer  to an nvlist_t, listing the name-value attributes
		    associated with the event, or NULL if there	 are  no  such
		    attributes for this event

       class
		    pointer to a string defining the event class

       eid
		    pointer to a system unique identifier

       publisher
		    pointer to a string defining the event's publisher nam

       subclass
		    pointer to a string defining the event subclass

       vendor
		    pointer to a string defining the vendor

DESCRIPTION
       The  sysevent_post_event() function causes a system event of the speci‐
       fied class, subclass, vendor, and publisher to be generated  on	behalf
       of  the	caller	and queued for delivery to  the sysevent daemon sysev‐
       entd(1M).

       The vendor should be the company stock symbol  (or  similarly  enduring
       identifier)  of	the event posting application. The publisher should be
       the name of the application generating the event.

       For example, all events posted by Sun applications begin with the  com‐
       pany's  stock  symbol, "SUNW". The publisher is usually the name of the
       application generating the system event. A system  event	 generated  by
       devfsadm(1M) has a publisher string of devfsadm.

       The  publisher  information  is	used  by  sysevent consumers to filter
       unwanted event publishers.

       Upon successful queuing of the system event,  a	unique	identifier  is
       assigned to eid.

RETURN VALUES
       The  sysevent_post_event()  function  returns 0 if the system event has
       been queued successfully for delivery. Otherwise it returns −1 and sets
       errno to indicate the error.

ERRORS
       The sysevent_post_event() function will fail if:

       ENOMEM
		 Insufficient resources to queue the system event.

       EIO
		 The  syseventd	 daemon is not responding and events cannot be
		 queued or delivered at this time.

       EINVAL
		 Invalid argument.

       EPERM
		 Permission denied.

       EFAULT
		 A copy error occurred.

EXAMPLES
       Example 1 Post a system event event with no attributes.

       The following example posts a system event event with no attributes.

	 if (sysevent_post_event(EC_PRIV, "ESC_MYSUBCLASS", "SUNW", argv[0],
	     NULL), &eid == -1) {
		 fprintf(stderr, "error logging system event\n");
	 }

       Example 2 Post a system event with two name-value pair attributes.

       The following example posts a system event event	 with  two  name-value
       pair attributes, an integer value and a string.

	 nvlist_t	 *attr_list;
	 uint32_t	 uint32_val = 0XFFFFFFFF;
	 char		 *string_val = "string value data";

	 if (nvlist_alloc(&attr_list, 0, 0) == 0) {
		 err = nvlist_add_uint32(attr_list, "uint32 data", uint32_val);
		 if (err == 0)
			 err = nvlist_add_string(attr_list, "str data",
			     string_val);
		 if (err == 0)
			 err = sysevent_post_event(EC_PRIV, "ESC_MYSUBCLASS",
			     "SUNW", argv[0], attr_list, &eid);
		 if (err != 0)
			 fprintf(stderr, "error logging system event\n");
		 nvlist_free(attr_list);
	 }

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

       ┌────────────────────┬─────────────────┐
       │  ATTRIBUTE TYPE    │ ATTRIBUTE VALUE │
       ├────────────────────┼─────────────────┤
       │Interface Stability │ Committed	      │
       ├────────────────────┼─────────────────┤
       │MT-Level	    │ MT-Safe	      │
       └────────────────────┴─────────────────┘

SEE ALSO
       devfsadm(1M),	    syseventd(1M),	  nvlist_add_boolean(3NVPAIR),
       nvlist_alloc(3NVPAIR), attributes(5)

NOTES
       The libsysevent interfaces do not work at all in non-global zones.

				 Jul 24, 2009	SYSEVENT_POST_EVENT(3SYSEVENT)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net