воскресенье, 15 мая 2011 г.

13.6. Краткая справка


13.6. Краткая справка
В этом разделе просуммированы символы, введённые в этой главе:

#include
Заголовок файла, где находится всё, связанное с USB. Он должен подключаться всеми драйверами USB устройств.
struct usb_driver;
Структура, которая описывает USB драйвер.
struct usb_device_id;
Структура, которая описывает типы USB устройств, которые поддерживает драйвер.
int usb_register(struct usb_driver *d);
void usb_deregister(struct usb_driver *d);
Функции, которые используются для регистрации и отмены регистрации драйвера USB из USB ядра.
struct usb_device *interface_to_usbdev(struct usb_interface *intf);
Извлекает управляющую struct usb_device * из struct usb_interface *.
struct usb_device;
Структура, которая управляет целиком USB устройством.
struct usb_interface;
Главная структура USB устройства, которую используют все драйверы USB для взаимодействия с ядром USB.
void usb_set_intfdata(struct usb_interface *intf, void *data);
void *usb_get_intfdata(struct usb_interface *intf);
Функции для установки и получения доступа к закрытому разделу указателей данных внутри struct usb_interface.
struct usb_class_driver;
Структура, которая описывает USB драйвер, который хочет использовать старший номер USB для связи с программами пользовательского пространства.
int usb_register_dev(struct usb_interface *intf, struct usb_class_driver *class_driver);
void usb_deregister_dev(struct usb_interface *intf, struct usb_class_driver *class_driver);
Функции, которые используются для регистрации и отмены регистрации указанной структуры struct usb_interface * со структурой struct usb_class_driver *.
struct urb;
Структура, которая описывает передачу данных USB.
struct urb *usb_alloc_urb(int iso_packets, int mem_flags);
void usb_free_urb(struct urb *urb);
Функции, которые используются для создания и уничтожения struct usb urb *.
int usb_submit_urb(struct urb *urb, int mem_flags);
int usb_kill_urb(struct urb *urb);
int usb_unlink_urb(struct urb *urb);
Функции, которые используются для запуска и остановки передачи данных USB.
void usb_fill_int_urb(struct urb *urb, struct usb_device *dev, unsigned int pipe, void *transfer_buffer,
                 int buffer_length, usb_complete_t complete, void *context, int interval);
void usb_fill_bulk_urb(struct urb *urb, struct usb_device *dev, unsigned int pipe, void *transfer_buffer,
                 int buffer_length, usb_complete_t complete, void *context);
void usb_fill_control_urb(struct urb *urb, struct usb_device *dev, unsigned int pipe,
                 unsigned char *setup_packet, void *transfer_buffer, int buffer_ length,
                 usb_complete_t complete, void *context);
Функции, которые используются для инициализации struct urb до её отправки в USB ядро.
int usb_bulk_msg(struct usb_device *usb_dev, unsigned int pipe, void *data, int len, int *actual_length, int timeout);
int usb_control_msg(struct usb_device *dev, unsigned int pipe,
                __u8 request, __u8 requesttype, __u16 value, __u16 index, void *data, __u16 size, int timeout);
Функции, использующиеся для передачи или приёма данных USB, не прибегая к использованию struct urb.

Комментариев нет:

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.