ldi_add_event_handler man page on SunOS

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

ldi_add_event_handler(9F)Kernel Functions for Driversldi_add_event_handler(9F)

NAME
       ldi_add_event_handler - Add an NDI event service callback handler

SYNOPSIS
       #include <sys/sunldi.h>

       int  ldi_add_event_handler(ldi_handle_t	lh, ddi_eventcookie_t ec, void
       (*handler)(ldi_handle_t, ddi_eventcookie_t, void *, void *) void	 *arg,
       ldi_callback_id_t *id);

INTERFACE LEVEL
       Solaris DDI Specific (Solaris DDI).

PARAMETERS
       ldi_handle_t lh

	   Layered handle representing event notification device.

       ddi_eventcookie_t ec

	   Cookie returned from call to ldi_get_eventcookie(9F).

       void (*handler)(ldi_handle_t, ddi_eventcookie_t, void *, void *)

	   Callback handler for NDI event service notification.

       void *arg

	   Pointer  to	opaque	data  supplied by caller. Typically, this is a
	   pointer to the layered driver's softstate structure.

       ldi_callback_id_t *id

	   Pointer to registration id,	where  a  unique  registration	id  is
	   returned.  Registration  id	must  be  saved	 and used when calling
	   ldi_remove_event_handler(9F) to unregister a callback handler.

DESCRIPTION
       The ldi_add_event_handler() function adds  a  callback  handler	to  be
       invoked at the occurance of the event specified by the cookie. Adding a
       callback handler is also known as subscribing to an  event.  Upon  suc‐
       cessful subscription, the handler is invoked when the event occurs. You
       can unregister the handler by using ldi_remove_event_handler(9F).

       An instance of a layered driver can register multiple handlers  for  an
       event  or  a  single handler for multiple events. Callback order is not
       defined and should be assumed to be random.

       The routine handler is invoked with the following arguments:

       ldi_handle_t lh	       Layered	handle	representing  the  device  for
			       which the event notification is requested.

       ddi_eventcookie_t ec    Structure describing event that occurred.

       void *arg	       Opaque data pointer provided by the driver dur‐
			       ing callback registration.

	void *impl_data	       Pointer to event specific data defined  by  the
			       framework that invokes the callback function.

RETURN VALUES
       DDI_SUCCESS     Callback handler registered successfully.

       DDI_FAILURE     Failed  to  register callback handler. Possible reasons
		       include lack of resources or a bad cookie.

CONTEXT
       The ldi_add_event_handler() function can be called from user and kernel
       contexts only.

SEE ALSO
       ldi_get_eventcookie(9F), ldi_remove_event_handler(9F)

       Writing Device Drivers

NOTES
       Layered	drivers	 must  remove  all  registered callback handlers for a
       device  instance,  represented  by  the	layered	 handle,  by   calling
       ldi_remove_event_handler(9F)  before  the  layered  driver's detach(9E)
       routine completes.

SunOS 5.10			  9 Feb 2004	     ldi_add_event_handler(9F)
[top]

List of man pages available for SunOS

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