The website "dmilvdv.narod.ru." is not registered with uCoz.
If you are absolutely sure your website must be here,
please contact our Support Team.
If you were searching for something on the Internet and ended up here, try again:

About uCoz web-service

Community

Legal information

Распечатка 5.8 Структуры данных драйвера периферийного USB устройства

Распечатка 5.8 Структуры данных драйвера периферийного USB устройства

Предыдущая  Содержание  Следующая V*D*V

Распечатка 5.8.

 

struct usb_gadget_driver {

 

  /* Строка, описывающая функции периферийного устройства */

  char *function;

 

  /*

   * Самая высокая скорость, которую поддерживает драйвер.

   * (Одна из USB_SPEED_HIGH, USB_SPEED_FULL, USB_SPEED_LOW)

   */

  enum usb_device_speed speed;

 

  /*

   * Функция подключения устройства, вызываемая из драйвера

   * периферийного устройства во время регистрации

   */

  int (*bind)(struct usb_gadget *);

 

  /*

   * setup вызывается для обработки запросов управления ep0,

   * которые не обрабатываются драйвером контроллера

   */

  int (*setup)(struct usb_gadget *,

               const struct usb_ctrlrequest *);

 

  /* Этого вызов вызывает отключение устройства от хоста */

  void (*disconnect)(struct usb_gadget *);

 

  /* Вызывается после отключения устройства */

  void (*unbind)(struct usb_gadget *);

 

  /* Вызывает приостановку работы USB устройства */

  void (*suspend)(struct usb_gadget *);

 

  /* Вызывает возобновление работы USB устройства */

  void (*resume)(struct usb_gadget *);

}

 

struct usb_ep_ops {

 

  /* Включение или Выключение оконечной точки */

  int (*enable) (struct usb_ep *ep,

               const struct usb_endpoint_descriptor *desc);

  int (*disable) (struct usb_ep *ep);

 

  /* Процедуры выделения и освобождения памяти для URB */

  struct usb_request * (*alloc_request) (struct usb_ep *ep,

                                      int gfp_flags);

  void (*free_request) (struct usb_ep *ep,

                        struct usb_request *req);

  void *(*alloc_buffer)(struct usb_ep *ep, unsigned bytes,

                        dma_addr_t *dma, int gfp_flags);

  void (*free_buffer) (struct usb_ep *ep, void *buf,

                       dma_addr_t dma, unsigned bytes);

 

  /* Функции управления очередью оконечной точки */

  int (*queue) (struct usb_ep *ep, struct usb_request *req,

                int gfp_flags);

  int (*dequeue) (struct usb_ep *ep, struct usb_request *req);

  int (*set_halt) (struct usb_ep *ep, int value);

  int (*fifo_status) (struct usb_ep *ep);

  void (*fifo_flush) (struct usb_ep *ep);

};

 

Предыдущая  Содержание  Следующая