W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
本節(jié)總結本章介紹的符號:
#include <linux/usb.h>
所有和 USB 相關的頭文件. 它必須被所有的 USB 設備驅動包含.
struct usb_driver;
描述 USB 驅動的結構.
struct usb_device_id;
描述這個驅動支持的 USB 設備的結構.
int usb_register(struct usb_driver *d);
用來從USB核心注冊和注銷一個 USB 驅動的函數(shù).
struct usb_device *interface_to_usbdev(struct usb_interface *intf);
從 struct usb_interface 獲取控制 struct usb_device *.
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 中的私有數(shù)據(jù)指針部分的函數(shù).
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 結構的函數(shù).
struct urb;
描述一個 USB 數(shù)據(jù)傳輸?shù)慕Y構.
struct urb *usb_alloc_urb(int iso_packets, int mem_flags);
void usb_free_urb(struct urb *urb);
用來創(chuàng)建和銷毀一個 struct usb urb*的函數(shù).
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 數(shù)據(jù)傳輸?shù)暮瘮?shù).
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);
用來在被提交給 USB 核心之前初始化一個 struct urb 的函數(shù).
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);
用來發(fā)送和接受 USB 數(shù)據(jù)的函數(shù), 不必使用一個 struct urb.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: