csx_CS_DDI_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]

csx_CS_DDI_Info(9F)	 Kernel Functions for Drivers	   csx_CS_DDI_Info(9F)

NAME
       csx_CS_DDI_Info - obtain DDI information

SYNOPSIS
       #include <sys/pccard.h>

       int32_t csx_CS_DDI_Info(cs_ddi_info_t *cdi);

INTERFACE LEVEL
       Solaris DDI Specific (Solaris DDI)

PARAMETERS
       cdi	Pointer to a cs_ddi_info_t structure.

DESCRIPTION
       This  function  is a Solaris-specific extension that is used by clients
       that need to provide  the  xx_getinfo  driver  entry  point  (see  get‐
       info(9E)).  It  provides a method for clients to obtain DDI information
       based on their socket number and client driver name.

STRUCTURE MEMBERS
       The structure members of cs_ddi_info_t are:

       uint32_t	    Socket;	   /* socket number */
       char*	    driver_name;   /* unique driver name */
       dev_info_t   *dip;	   /* dip */
       int32_t	    instance;	   /* instance */

       The fields are defined as follows:

       Socket	       This field must be set to the  physical	socket	number
		       that  the  client  is interested in getting information
		       about.

       driver_name     This field must be set to a string containing the  name
		       of the client driver to get information about.

       If  csx_CS_DDI_Info()  is  used in a client's xx_getinfo function, then
       the client will typically extract the Socket value from the *arg	 argu‐
       ment and it must set the driver_name field to the same string used with
       csx_RegisterClient(9F).

       If the driver_name is found on the Socket, the csx_CS_DDI_Info()	 func‐
       tion  returns both the dev_info pointer and the instance fields for the
       requested driver instance.

RETURN VALUES
       CS_SUCCESS		       Successful operation.

       CS_BAD_SOCKET		       Client not found on Socket.

       CS_UNSUPPORTED_FUNCTION	       No PCMCIA hardware installed.

CONTEXT
       This function may be called from user or kernel context.

EXAMPLES
       Example 1: : Using csx_CS_DDI_Info

       The  following  example	 shows	 how   a   client   might   call   the
       csx_CS_DDI_Info() in the client's xx_getinfo function to return the dip
       or the instance number:

       static int
       pcepp_getinfo(dev_info_t *dip, ddi_info_cmd_t cmd, void *arg,
							    void **result)
       {
	       int			    error = DDI_SUCCESS;
	       pcepp_state_t		    *pps;
	       cs_ddi_info_t		    cs_ddi_info;

	  switch (cmd) {

	       case DDI_INFO_DEVT2DEVINFO:
		 cs_ddi_info.Socket = getminor((dev_t)arg) & 0x3f;
		 cs_ddi_info.driver_name = pcepp_name;
		 if (csx_CS_DDI_Info(&cs_ddi_info) != CS_SUCCESS)
			  return (DDI_FAILURE);
		 if (!(pps = ddi_get_soft_state(pcepp_soft_state_p,
			       cs_ddi_info.instance))) {
			   *result = NULL;
		 } else {
			   *result = pps->dip;
		 }
		 break;

	       case DDI_INFO_DEVT2INSTANCE:
		 cs_ddi_info.Socket = getminor((dev_t)arg) & 0x3f;
		 cs_ddi_info.driver_name = pcepp_name;
		 if (csx_CS_DDI_Info(&cs_ddi_info) != CS_SUCCESS)
				return (DDI_FAILURE);
		 *result = (void *)cs_ddi_info.instance;
		 break;

	       default:
		 error = DDI_FAILURE;
		 break;

	  }

	       return (error);
       }

SEE ALSO
       getinfo(9E), csx_RegisterClient(9F), ddi_get_instance(9F)

       PC Card 95 Standard, PCMCIA/JEIDA

SunOS 5.10			  19 Jul 1996		   csx_CS_DDI_Info(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