freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

word版可編輯-linux字符設(shè)備驅(qū)動(dòng)課程設(shè)計(jì)報(bào)告精心整理docxdocx-在線瀏覽

2024-08-25 11:33本頁(yè)面
  

【正文】 時(shí)候沒有啟用sudo模式,導(dǎo)致很多命令不能執(zhí)行,啟用模式的時(shí)候需要輸入密碼,但是輸入密碼的時(shí)候是不顯示東西的以為出錯(cuò),查閱資料之后才知道是應(yīng)有的現(xiàn)象。有一次測(cè)試程序,不能卸載驅(qū)動(dòng),用lsmod查看有兩個(gè)進(jìn)程使用,后來(lái)強(qiáng)制關(guān)機(jī)才能正常使用,原因不明,以后要加強(qiáng)學(xué)習(xí)。k39。module_param(ly_major, int, S_IRUGO)。 /*設(shè)備結(jié)構(gòu)體指針*/struct cdev cdev。/*文件打開函數(shù)*/int ly_open(struct inode *inode, struct file *filp){ struct ly_dev *dev。 if (num = MYDEV_NR_DEVS) return ENODEV。ly_devp[num]。 return 0。}/*讀函數(shù)*/static ssize_t ly_read(struct file *filp, char __user *buf, size_t size, loff_t *ppos){ unsigned long p = *ppos。 int ret = 0。 /*獲得設(shè)備結(jié)構(gòu)體指針*/ /*判斷讀位置是否有效*/ if (p = MYDEV_SIZE) return 0。 /*讀數(shù)據(jù)到用戶空間*/ if (copy_to_user(buf, (void*)(devdata + p), count)) { ret = EFAULT。 ret = count。 } return ret。 unsigned int count = size。 struct ly_dev *dev = filpprivate_data。 if (count MYDEV_SIZE p) count = MYDEV_SIZE p。 else { *ppos += count。 printk(KERN_INFO written %d bytes(s) from %lx\n, count, p)。}/*I\O控制函數(shù)*/static int ioctl (struct file *file, unsigned int cmd, unsigned long arg){ if(_IOC_TYPE(cmd)!=SCULL_IOC_MAGIC) { return EFAULT。 } switch(cmd){case SCULL_IOCRESET: printk(SCULL_IOCRESET + %lx,arg)。case SCULL_IOCSQUANTUM: /* Set: arg points to the value */ printk(SCULL_IOCSQUANTUM + %lx,arg)。case SCULL_IOCTQUANTUM: /* Tell: arg is the value */ printk(SCULL_IOCTQUANTUM + %lx,arg)。case SCULL_IOCGQUANTUM: /* Get: arg is pointer to result */ printk(SCULL_IOCGQUANTUM + %lx,arg)。case SCULL_IOCUANTUM: /* Query: return it (it39。 break。 break。 break。 }/* seek文件定位函數(shù) */static loff_t ly_llseek(struct file *filp, loff_t offset, int whence){ loff_t newpos。 break。 break。 break。t happen */ return EINVAL。 filpf_pos = newpos。}/*文件操作結(jié)構(gòu)體*/static const struct file_operations ly_fops ={ .owner = THIS_MODULE, .llseek = ly_llseek, .read = ly_read, .write = ly_write, .open = ly_open, .release = ly_release, .unlocked_ioctl = ioctl,}。 int i。 /* 靜態(tài)申請(qǐng)?jiān)O(shè)備號(hào)*/ if (ly_major) result = register_chrdev_region(devno, 2, lydev)。devno, 0, 2, lydev)。 } if (result 0) return result。cdev, amp。 = THIS_MODULE。ly_fops。cdev, MKDEV(ly_major, 0), MYDEV_NR_DEVS)。 if (!ly_devp) /*申請(qǐng)失敗*/ { result = ENOMEM。 } memset
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1