Lines Matching defs:event

55  * log_sysevent.c - Provides the interfaces for kernel event publication
56 * to the sysevent event daemon (syseventd).
73 /* queue of event buffers sent to syseventd */
77 * Count of event buffers in the queue
81 /* queue of event buffers awaiting delivery to syseventd */
87 /* log event delivery flag */
88 #define LOGEVENT_DELIVERY_OK 0 /* OK to deliver event buffers */
89 #define LOGEVENT_DELIVERY_CONT 1 /* Continue to deliver event buffers */
90 #define LOGEVENT_DELIVERY_HOLD 2 /* Hold delivering of event buffers */
93 * Tunable maximum event buffer queue size. Size depends on how many events
110 * eventq_head_mutex - synchronizes access to the kernel event queue
112 * eventq_sent_mutex - synchronizes access to the queue of event sents to
115 * log_event_cv - condition variable signaled when an event has arrived or
116 * userlevel ready to process event buffers
118 * async_thread - asynchronous event delivery thread to userlevel daemon.
189 * log_event_upcall - Perform the upcall to syseventd for event buffer delivery.
300 * log_event_deliver - event delivery thread
301 * Deliver all events on the event queue to syseventd.
302 * If the daemon can not process events, stop event
306 * Once all event buffers have been delivered, wait
341 * Release event queue lock during upcall to
367 * the sent queue and put back on the event queue.
368 * If this has occurred, replay event queue
379 * Move the event to the sent queue when a
482 * The following routines are used by kernel event publishers to
483 * allocate, append and free event buffers
487 * an event buffer that will be used in a subsequent
505 * publisher strings in the event buffer
514 /* String sizes must be 64-bit aligned in the event buffer */
524 * Allocate event buffer plus additional sysevent queue
532 /* Initialize the event buffer data */
551 * sysevent_free - Free event buffer and any attribute data.
573 * free_packed_event - Free packed event buffer
587 * sysevent_add_attr - Add new attribute element to an event attribute list
672 * event buffer.
681 * sysevent_attach_attributes - Attach an attribute list to an event buffer.
683 * This data will be re-packed into contiguous memory when the event
705 * event buffer.
750 * Repack event buffer into contiguous memory
771 * Copy event header, class, subclass and publisher names
809 * event subscription information is updated as publishers or subscribers
818 * based upon event class and subclasses. A subscription contains a class name,
1338 * log_sysevent_register - Register event subscriber for a particular
1339 * event channel.
1449 * log_sysevent_copyout_data - Copyout event data to userland.
1472 * Search for event buffer on the sent queue with matching
1473 * event identifier
1490 LOG_DEBUG((CE_NOTE, "Unable to retrieve system event "
1505 * log_sysevent_free_data - Free kernel copy of the event buffer identified
1528 * Look for the event to be freed on the sent queue. Due to delayed
1529 * processing of the event, it may not be on the sent queue yet.
1531 * event is properly freed.
1561 * log_sysevent_flushq - Begin or resume event buffer delivery. If neccessary,
1571 * Start the event delivery thread
1608 /* Unbind old event door */
1611 /* Establish door connection with user event daemon (syseventd) */
1620 * Do it in proper order to maintain increasing event id.
1648 * queue_sysevent - queue an event buffer
1700 * Put event on eventq
1719 /* Signal event delivery thread */
1729 * log_sysevent - kernel system event logger.
1732 * maximum event queue size will be exceeded
1733 * Returns 0 for successfully queued event buffer
1813 * log_usr_sysevent - user system event logger
1831 * Copy event
1868 sysevent_t *event;
1878 "event from interrupt context with sleep semantics\n",
1899 event = sysevent_alloc(class, subclass, publisher, se_flag);
1905 if (event == NULL) {
1910 (void) sysevent_attach_attributes(event, list);
1913 rval = log_sysevent(event, se_flag, &eid);
1915 sysevent_detach_attributes(event);
1917 sysevent_free(event);