The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

usb_client_attach (9)
  • >> usb_client_attach (9) ( Solaris man: Ядро )
  •  

    NAME

    usb_client_attach, usb_client_detach - USBA framework registration
    of client USB drivers
     
    

    SYNOPSIS

    #define USBDRV_MAJOR_VER    <major>
    #define USBDRV_MINOR_VER    <minor>
    #include <sys/usb/usba.h>
    
    
    
    int usb_client_attach(dev_info_t *dip, 
       uint_t version, usb_flags_t flags);
    

    void usb_client_detach(dev_info_t *dip, 
       usb_client_dev_data_t *dev_data);
    

     

    INTERFACE LEVEL

    Solaris DDI specific (Solaris DDI)  

    PARAMETERS

    For usb_client_attach():

    dip

    Pointer to the device's dev_info structure.

    version

    Must be set to USBDRV_VERSION. (See below.)

    flags

    Not used.

    For usb_client_detach():

    dip

    Pointer to the device's dev_info structure.

    dev_data

    Pointer to a usb_client_dev_data_t to free. Can be NULL.

     

    DESCRIPTION

    The usb_client_attach() function registers a driver with the USBA framework and must be called before any other USBA function. Usually, usb_client_attach() is followed by a call to usb_get_dev_data(9F).

    The usb_client_detach() function unregisters a driver with the USBA framework. The usb_client_detach() function releases memory for all strings, descriptors and trees set up by usb_get_dev_data(9F) when its dev_data argument is non-NULL. The usb_client_detach() function is the last USBA function a client calls before completing detach(9E). It is not necessary to call usb_client_detach() during a suspend operation.  

    VERSIONING

    USBDRV_VERSION is a macro which creates a version number based on the USBDRV_MAJOR_VER and USBDRV_MINOR_VER definitions. It must be passed as the version argument.

    For drivers version 2.0 or greater, the value of USBDRV_MAJOR_VERSION must match its corresponding USBA_MAJOR_VER value in <sys/usb/usbai.h>, and the value of USBDRV_MINOR_VERSION must not be greater than its corresponding USBA_MINOR_VER value also in <sys/usb/usbai.h>.

    Version 0.8 drivers from previous releases are binary compatible and run on Solaris 10, but are not compilable. Version 0.8 binary compatibility will not be supported in subsequent Solaris OS releases.

    Definitions of USBDRV_MAJOR_VERSION and USBDRV_MINOR_VERSION must appear in the client driver above the reference to <sys/usb/usba.h>. Note that different releases have different USBA_[MAJOR|MINOR]_VER numbers.  

    RETURN VALUES

    For usb_client_attach():

    USB_SUCCESS

    Registration is successful.

    USB_INVALID_ARGS

    dip is NULL.

    USB_INVALID_CONTEXT

    Called from interrupt context. Not called from an attach routine context.

    USB_INVALID_VERSION

    Version passed in version is invalid.

    USB_FAILURE

    Other internal error.

    For usb_client_detach():

    USB_INVALID_ARGS

    dip is NULL.

    USB_INVALID_CONTEXT

    Not called from an attach routine context.

     

    CONTEXT

    The usb_client_attach() function may only be called from attach(9E).

    The usb_client_detach() function may be called only from attach(9E) or detach(9E).  

    EXAMPLES

      if (usb_client_attach(dip, USBDRV_VERSION, 0) != USB_SUCCESS) {
               cmn_err (CE_WARN, "%s%d: Couldn't register USB device",
                   ddi_driver_name(dip), ddi_get_instance(dip));
                   
              return (USB_FAILURE);
      }
    
      if (usb_get_dev_data(dip, &dev_data, USB_PARSE_LVL_IF, 0) !=
          USB_SUCCESS) {
              cmn_err (CE_WARN, "%s%d: Couldn't get device descriptor data.",
                  ddi_driver_name(dip), ddi_get_instance(dip));
    
              return (USB_FAILURE);
      }
                   
    

     

    ATTRIBUTES

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

    ATTRIBUTE TYPEATTRIBUTE VALUE

    ArchitecturePCI-based systems

    Interface stability

    Availability

     

    SEE ALSO

    attributes(5), attach(9E), detach(9E), usb_get_dev_data(9F)


     

    Index

    NAME
    SYNOPSIS
    INTERFACE LEVEL
    PARAMETERS
    DESCRIPTION
    VERSIONING
    RETURN VALUES
    CONTEXT
    EXAMPLES
    ATTRIBUTES
    SEE ALSO


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру