dlpi_info man page on SunOS

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

dlpi_info(3DLPI)Data Link Provider Interface Library Functionsdlpi_info(3DLPI)

NAME
       dlpi_info - get DLPI information

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

       int dlpi_info(dlpi_handle_t dh, dlpi_info_t *infop,
	    uint_t opt);

DESCRIPTION
       The  dlpi_info() function provides DLPI information about the open DLPI
       link instance associated with DLPI handle dh. DLPI information  can  be
       retrieved  in any state of dh, but some of the information might not be
       available if dh is in the DL_UNBOUND DLPI state. The  DLPI  information
       received	 is copied into infop, which must point to a dlpi_info_t allo‐
       cated by the caller. The opt argument is reserved for  future  use  and
       must be set to 0.

       The dlpi_info_t is a structure defined in <libdlpi.h> as follows:

	 typedef struct {
	      uint_t		      di_opts;
	      uint_t		      di_max_sdu;
	      uint_t		      di_min_sdu;
	      uint_t		      di_state;
	      uchar_t		      di_mactype;
	      char		      di_linkname[DLPI_LINKNAME_MAX];
	      uchar_t		      di_physaddr[DLPI_PHYSADDR_MAX];
	      uchar_t		      di_physaddrlen;
	      uchar_t		      di_bcastaddr[DLPI_PHYSADDR_MAX];
	      uchar_t		      di_bcastaddrlen;
	      uint_t		      di_sap;
	      int		      di_timeout;
	      dl_qos_cl_sel1_t	      di_qos_sel;
	      dl_qos_cl_range1_t      di_qos_range;
	 } dlpi_info_t;

       di_opts		  Reserved for future dlpi_info_t expansion.

       di_max_sdu	  Maximum  message  size, in bytes, that the DLPI link
			  is able to accept for	 transmission.	The  value  is
			  guaranteed   to   be	 greater   than	 or  equal  to
			  di_min_sdu.

       di_min_sdu	  Minimum message size, in bytes, that the  DLPI  link
			  is  able  to	accept	for transmission. The value is
			  guaranteed to be greater than or equal to one.

       di_state		  Current DLPI	state  of  dh;	either	DL_UNBOUND  or
			  DL_IDLE.

       di_mactype	  MAC  type supported by the DLPI link associated with
			  dh. See <sys/dlpi.h> for the list  of	 possible  MAC
			  types.

       di_linkname	  Link name associated with DLPI handle dh.

       di_physaddr	  Link-layer physical address of bound dh. If dh is in
			  the  DL_UNBOUND  DLPI	  state,   the	 contents   of
			  di_physaddr are unspecified.

       di_physaddrlen	  Physical  address  length, in bytes. If dh is in the
			  DL_UNBOUND DLPI  state,  di_physaddrlen  is  set  to
			  zero.

       di_bcastaddr	  Link-layer  broadcast	 address. If the di_mactype of
			  the DLPI link does not support broadcast,  the  con‐
			  tents of di_bcastaddr are unspecified.

       di_bcastaddrlen	  Link-layer  broadcast	 address  length, in bytes. If
			  the di_mactype of the DLPI  link  does  not  support
			  broadcast, di_bcastaddrlen is set to zero.

       di_sap		  SAP  currently  bound	 to  handle.  If  dh is in the
			  DL_UNBOUND DLPI state, di_sap is set to zero.

       di_timeout	  Current timeout value, in seconds, set on  the  dlpi
			  handle.

       di_qos_sel	  Current  QOS	parameters  supported by the DLPI link
			  instance associated with dh. Unsupported QOS parame‐
			  ters are set to DL_UNKNOWN.

       di_qos_range	  Available  range  of	QOS  parameters supported by a
			  DLPI link instance associated with the  DLPI	handle
			  dh.	Unsupported   QOS  range  values  are  set  to
			  DL_UNKNOWN.

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_EBADMSG	   Bad DLPI message

       DLPI_EINHANDLE	   Invalid DLPI handle

       DLPI_EINVAL	   Invalid argument

       DLPI_EMODENOTSUP	   Unsupported DLPI connection mode

       DLPI_ETIMEDOUT	   DLPI operation timed out

       DLPI_EVERNOTSUP	   Unsupported DLPI Version

       DLPI_FAILURE	   DLPI operation failed

EXAMPLES
       Example 1 Get link-layer broadcast address

       The following example shows how dlpi_info() can be used.

	 #include <libdlpi.h>

	 uchar_t *
	 get_bcastaddr(const char *linkname, uchar_t *baddrlenp)
	 {
		 dlpi_handle_t	 dh;
		 dlpi_info_t	 dlinfo;
		 uchar_t	 *baddr;

		 if (dlpi_open(linkname, &dh, 0) != DLPI_SUCCESS)
			 return (NULL);

		 if (dlpi_info(dh, &dlinfo, 0) != DLPI_SUCCESS) {
			 dlpi_close(dh);
			 return (NULL);
		 }
		 dlpi_close(dh);

		 *baddrlenp = dlinfo.di_bcastaddrlen;
		 if ((baddr = malloc(*baddrlenp)) == NULL)
			 return (NULL);

		 return (memcpy(baddr, dlinfo.di_bcastaddr, *baddrlenp));
	 }

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

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

SEE ALSO
       dlpi_bind(3DLPI), libdlpi(3LIB), attributes(5)

SunOS 5.10			  22 Aug 2007		      dlpi_info(3DLPI)
[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