dlpi_enabnotify man page on SmartOS

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

DLPI_ENABNOTIFY(3DLPI)					DLPI_ENABNOTIFY(3DLPI)

NAME
       dlpi_enabnotify - enable DLPI notification

SYNOPSIS
       cc [ flag... ] file... -ldlpi [ library... ]
       #include <libdlpi.h>

       int dlpi_enabnotify(dlpi_handle_t dh, uint_t notes,
	    dlpi_notifyfunc_t *funcp, void *arg, dlpi_notifyid_t *id);

       typedef void dlpi_notifyfunc_t(dlpi_handle_t,
	    dlpi_notifyinfo_t *, void *);

DESCRIPTION
       The  dlpi_enabnotify() function enables a notification callback for the
       set of events specified in notes, which must be one or more (by a logi‐
       cal  OR	operation)  of	the DLPI notifications documented in dlpi(7P).
       The callback function funcp is registered with the DLPI handle  dh  and
       is invoked when dh receives notification for any of the specified event
       types. Upon success, id contains the  identifier	 associated  with  the
       registration.

       Multiple	 event	types can be registered for a callback function on the
       DLPI handle dh. Similarly, the same event type can be registered multi‐
       ple times on the same handle.

       Once  a	callback has been registered, libdlpi will check for notifica‐
       tion events on the DLPI handle dh, when exchanging DLPI	messages  with
       the  underlying	DLPI link instance. The dlpi_recv(3DLPI) function will
       always check for notification events, but other libdlpi operations  may
       also  lead to an event callback being invoked. Although there may be no
       expected data messages to be received, dlpi_recv() can  be  called,  as
       shown  below, with a null buffer to force a check for pending events on
       the underlying DLPI link instance.

	 dlpi_recv(dh, NULL, NULL, NULL, NULL, 0, NULL);

       When a notification event of interest occurs, the callback function  is
       invoked	with  the  arguments  arg,  originally passed to dlpi_disabno‐
       tify(3DLPI), and infop, whose members are described below.

       uint_t dni_note
				  Notification event type.

       uint_t dni_speed
				  Current speed, in kilobits  per  second,  of
				  the DLPI link. Valid only for DL_NOTE_SPEED.

       uint_t dni_size
				  Current maximum message size, in bytes, that
				  the DLPI link is able to accept  for	trans‐
				  mission. Valid only for DL_NOTE_SDU_SIZE.

       uchar_t dni_physaddrlen
				  Link-layer   physical	  address  length,  in
				  bytes. Valid only for DL_NOTE_PHYS_ADDR.

       uchar_t dni_physaddr[]
				  Link-layer physical address  of  DLPI	 link.
				  Valid only for DL_NOTE_PHYS_ADDR.

       The libdlpi library will allocate and free the dlpi_notifyinfo_t struc‐
       ture and the caller must not allocate  the  structure  or  perform  any
       operations that require its size to be known.

       The   callback  is  not	allowed	 to  block.   This  precludes  calling
       dlpi_enabnotify() from a callback, but non-blocking libdlpi  functions,
       including dlpi_disabnotify(), can be called.

RETURN VALUES
       Upon  success,  DLPI_SUCCESS  is	 returned. If  DL_SYSERR  is returned,
       errno  contains	the  specific  UNIX system error value.	 Otherwise,  a
       DLPI  error  value  defined in <sys/dlpi.h> or an error value listed in
       the following section is returned.

ERRORS
       DLPI_EINHANDLE
			    A DLPI handle is invalid.

       DLPI_EINVAL
			    An argument is invalid.

       DLPI_ENOTEIDINVAL
			    The DLPI notification ID is invalid.

       DLPI_ENOTENOTSUP
			    The DLPI notification  is  not  supported  by  the
			    link.

       DLPI_ETIMEDOUT
			    The DLPI operation timed out.

       DLPI_FAILURE
			    The DLPI operation failed.

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

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

SEE ALSO
       dlpi_disabnotify(3DLPI),	       dlpi_recv(3DLPI),	libdlpi(3LIB),
       attributes(5), dlpi(7P)

				 Mar 10, 2009		DLPI_ENABNOTIFY(3DLPI)
[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