91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 25KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-12
  • 語言: 其他
  • 標簽: linux??U盤??

資源簡介

根據linux下的usb-skeleton.c改寫的U盤驅動程序,包括.c .o文件和Makefile文件,可以直接編譯

資源截圖

代碼片段和文件信息

/*
?*?My?UDisk?driver?-?0.1
?*
?*?TODO:
?* -?fix?urb->status?race?condition?in?write?sequence
?* -?move?minor_table?to?a?dynamic?list.
?*
?*?History:
?*
?*?2008_01_9?-?0.1?-?zero?out?dev?in?probe?function?for?devices?that?do
?*?
?*/
#define?__KERNEL__
#define?MODULE
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#define?MAJOR_NR 42 //?定義主設備號
#define?DEVICE_NAME “myudisk“ //?定義設備名
#define?DEVICE_NR(device) (MINOR(device))
#define?DEVICE_ON(device)
#define?DEVICE_OFF(device)
#define?DEVICE_NO_RANDOM
#include?
#define?MYUDISK_SECTOR_BITS 9 /*?2**9?byte?hardware?sector?*/
#define?MYUDISK_BLOCK_SIZE 1024 /*?block?size?*/ //定義了一個塊的大小,以字節為單位
#define?MYUDISK_TOTAL_SIZE 2048 /*?size?in?blocks?*/ //定義了這個虛擬盤的容量,以塊為單位

/*?the?storage?pool?*/
//static?char?*myudisk_storage; //這個指針是全局變量,指向用于虛擬盤的內存

static?int?myudisk_sectorsize?=?1?<static?int?myudisk_blocksize?=?MYUDISK_BLOCK_SIZE;
static?int?myudisk_size?;
static?int?myudisk_readahead?=?4;
#define?CONFIG_USB_DEBUG

#ifdef?CONFIG_USB_DEBUG
static?int?debug?=?1;
#else
static?int?debug;
#endif

/*?Use?our?own?dbg?macro?*/
#undef?dbg
#define?dbg(format?arg...)?do?{?if?(debug)?printk(KERN_DEBUG?__FILE__?“(%s):?“?format?“\n“??__FUNCTION__?##?arg);?}?while?(0)

/*?Version?Information?*/
#define?DRIVER_VERSION?“v0.1“
#define?DRIVER_AUTHOR?“Wen?Yan?Jun?yjwen@nudt.edu.cn“
#define?DRIVER_DESC?“My?UDisk?Driver“

/*?Module?paramaters?*/
MODULE_PARM(debug?“i“);
MODULE_PARM_DESC(debug?“Debug?enabled?or?not“);

/*?Define?these?values?to?match?your?device?*/
#define?MY_UDISK_VENDOR_ID 0x58f
#define?MY_UDISK_PRODUCT_ID 0x9380

/*?table?of?devices?that?work?with?this?driver?*/
/*當usb設備插入時,為了使linux系統自動裝載驅動程序,需要創建一個MODULE_DEVICE_TABLE,這個模塊僅支持某一特定設備*/
static?struct?usb_device_id?myudisk_table?[]?=?{
{?USB_DEVICE(MY_UDISK_VENDOR_ID?MY_UDISK_PRODUCT_ID)?}
{?} /*?Terminating?entry?*/
};

MODULE_DEVICE_TABLE?(usb?myudisk_table);

/*?Get?a?minor?range?for?your?devices?from?the?usb?maintainer?*/
#define?MY_UDISK_MINOR_base 192

/*?we?can?have?up?to?this?number?of?device?plugged?in?at?once?*/
#define?MAX_DEVICES 16


/*?Structure?to?hold?all?of?our?device?specific?stuff?*/
struct?my_udisk?{
struct?usb_device?* udev; /*?保存usb設備指針?*/
struct?usb_interface?* interface; /*?usb所插入接口指針?*/
devfs_handle_t devfs; /*?devfs?device?node?*/
unsigned?char minor; /*?the?starting?minor?number?for?this?device?*/
unsigned?char num_ports; /*?the?number?of?ports?this?device?has?*/
char num_interrupt_in; /*?number?of?interrupt?in?endpoints?we?have?*/

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件????????288??2007-12-28?01:47??Udisk\Makefile

?????文件??????45390??2009-07-17?09:59??Udisk\myudisk.c

?????文件??????31413??2005-12-23?18:47??Udisk\myudisk.o

?????目錄??????????0??2009-07-18?15:43??Udisk

-----------?---------??----------?-----??----

????????????????77091????????????????????4


評論

共有 條評論