csx_CS_DDI_Info man page on SmartOS

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

CSX_CS_DDI_INFO(9F)					   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

				 Jul 19, 1996		   CSX_CS_DDI_INFO(9F)
[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