亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? char_dev.c

?? LINUX 0.11版內核代碼。 并有代碼分析說明。
?? C
字號:
/** linux/fs/char_dev.c** (C) 1991 Linus Torvalds*/#include <errno.h>		// 錯誤號頭文件。包含系統中各種出錯號。(Linus 從minix 中引進的)。#include <sys/types.h>		// 類型頭文件。定義了基本的系統數據類型。#include <linux/sched.h>	// 調度程序頭文件,定義了任務結構task_struct、初始任務0 的數據,// 還有一些有關描述符參數設置和獲取的嵌入式匯編函數宏語句。#include <linux/kernel.h>	// 內核頭文件。含有一些內核常用函數的原形定義。#include <asm/segment.h>	// 段操作頭文件。定義了有關段寄存器操作的嵌入式匯編函數。#include <asm/io.h>		// io 頭文件。定義硬件端口輸入/輸出宏匯編語句。extern int tty_read (unsigned minor, char *buf, int count);	// 終端讀。extern int tty_write (unsigned minor, char *buf, int count);	// 終端寫。// 定義字符設備讀寫函數指針類型。typedef (*crw_ptr) (int rw, unsigned minor, char *buf, int count,		    off_t * pos);//// 串口終端讀寫操作函數。// 參數:rw - 讀寫命令;minor - 終端子設備號;buf - 緩沖區;cout - 讀寫字節數;// pos - 讀寫操作當前指針,對于終端操作,該指針無用。// 返回:實際讀寫的字節數。static intrw_ttyx (int rw, unsigned minor, char *buf, int count, off_t * pos){  return ((rw == READ) ? tty_read (minor, buf, count) :	  tty_write (minor, buf, count));}//// 終端讀寫操作函數。// 同上rw_ttyx(),只是增加了對進程是否有控制終端的檢測。static intrw_tty (int rw, unsigned minor, char *buf, int count, off_t * pos){// 若進程沒有對應的控制終端,則返回出錯號。  if (current->tty < 0)    return -EPERM;// 否則調用終端讀寫函數rw_ttyx(),并返回實際讀寫字節數。  return rw_ttyx (rw, current->tty, buf, count, pos);}//// 內存數據讀寫。未實現。static intrw_ram (int rw, char *buf, int count, off_t * pos){  return -EIO;}//// 內存數據讀寫操作函數。未實現。static intrw_mem (int rw, char *buf, int count, off_t * pos){  return -EIO;}//// 內核數據區讀寫函數。未實現。static intrw_kmem (int rw, char *buf, int count, off_t * pos){  return -EIO;}// 端口讀寫操作函數。// 參數:rw - 讀寫命令;buf - 緩沖區;cout - 讀寫字節數;pos - 端口地址。// 返回:實際讀寫的字節數。static intrw_port (int rw, char *buf, int count, off_t * pos){  int i = *pos;// 對于所要求讀寫的字節數,并且端口地址小于64k 時,循環執行單個字節的讀寫操作。  while (count-- > 0 && i < 65536)    {// 若是讀命令,則從端口i 中讀取一字節內容并放到用戶緩沖區中。      if (rw == READ)	put_fs_byte (inb (i), buf++);// 若是寫命令,則從用戶數據緩沖區中取一字節輸出到端口i。      else	outb (get_fs_byte (buf++), i);// 前移一個端口。[??]      i++;    }// 計算讀/寫的字節數,并相應調整讀寫指針。  i -= *pos;  *pos += i;// 返回讀/寫的字節數。  return i;}//// 內存讀寫操作函數。static intrw_memory (int rw, unsigned minor, char *buf, int count, off_t * pos){// 根據內存設備子設備號,分別調用不同的內存讀寫函數。  switch (minor)    {    case 0:      return rw_ram (rw, buf, count, pos);    case 1:      return rw_mem (rw, buf, count, pos);    case 2:      return rw_kmem (rw, buf, count, pos);    case 3:      return (rw == READ) ? 0 : count;	/* rw_null */    case 4:      return rw_port (rw, buf, count, pos);    default:      return -EIO;    }}// 定義系統中設備種數。#define NRDEVS ((sizeof (crw_table))/(sizeof (crw_ptr)))// 字符設備讀寫函數指針表。static crw_ptr crw_table[] = {  NULL,				/* nodev *//* 無設備(空設備) */  rw_memory,			/* /dev/mem etc *//* /dev/mem 等 */  NULL,				/* /dev/fd *//* /dev/fd 軟驅 */  NULL,				/* /dev/hd *//* /dev/hd 硬盤 */  rw_ttyx,			/* /dev/ttyx *//* /dev/ttyx 串口終端 */  rw_tty,			/* /dev/tty *//* /dev/tty 終端 */  NULL,				/* /dev/lp *//* /dev/lp 打印機 */  NULL};				/* unnamed pipes *//* 未命名管道 *///// 字符設備讀寫操作函數。// 參數:rw - 讀寫命令;dev - 設備號;buf - 緩沖區;count - 讀寫字節數;pos -讀寫指針。// 返回:實際讀/寫字節數。intrw_char (int rw, int dev, char *buf, int count, off_t * pos){  crw_ptr call_addr;// 如果設備號超出系統設備數,則返回出錯碼。  if (MAJOR (dev) >= NRDEVS)    return -ENODEV;// 若該設備沒有對應的讀/寫函數,則返回出錯碼。  if (!(call_addr = crw_table[MAJOR (dev)]))    return -ENODEV;// 調用對應設備的讀寫操作函數,并返回實際讀/寫的字節數。  return call_addr (rw, MINOR (dev), buf, count, pos);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲乱码国产乱码精品精可以看 | 日本黄色一区二区| 韩国女主播成人在线| 久久精品国产在热久久| 舔着乳尖日韩一区| 日韩福利视频导航| 精品一区在线看| 精品一区二区三区免费| 国产精品1区2区3区在线观看| 国产一区二区中文字幕| 国产成人精品www牛牛影视| 国产91精品免费| 成人av在线电影| 在线观看视频一区二区| 欧美高清性hdvideosex| 精品国产一区二区三区av性色| 91精品免费在线观看| 久久综合99re88久久爱| 欧美国产精品一区| 亚洲精品福利视频网站| 日韩精品乱码av一区二区| 激情综合五月天| 99精品国产99久久久久久白柏| 色视频成人在线观看免| 91精品国产综合久久福利| 精品美女在线观看| 亚洲精品国产成人久久av盗摄| 丝袜亚洲另类丝袜在线| 国产精品自拍一区| 在线观看免费亚洲| 337p粉嫩大胆噜噜噜噜噜91av| 国产精品成人在线观看| 亚洲超碰97人人做人人爱| 国产一区二区91| 欧美亚洲综合色| 久久久亚洲高清| 水蜜桃久久夜色精品一区的特点| 国产不卡在线一区| 欧美欧美午夜aⅴ在线观看| 国产清纯在线一区二区www| 亚洲小说欧美激情另类| 国产激情精品久久久第一区二区 | 久久免费美女视频| 亚洲综合色区另类av| 国产在线视频不卡二| 欧美亚洲国产bt| 国产精品丝袜91| 久久99国产精品免费| 色天天综合色天天久久| 国产精品区一区二区三区| 免费在线观看精品| 欧美日本韩国一区二区三区视频| 国产欧美一区视频| 美女国产一区二区三区| 在线视频一区二区免费| 国产精品成人网| 国产乱子轮精品视频| 91麻豆精品国产91久久久久| 亚洲少妇30p| 懂色av中文字幕一区二区三区| 在线电影院国产精品| 亚洲成人精品一区| 91九色最新地址| 亚洲天堂免费在线观看视频| 国产精品亚洲视频| 久久午夜羞羞影院免费观看| 麻豆精品一区二区三区| 日韩无一区二区| 日韩一区精品视频| 欧美一区二区三区免费观看视频| 亚洲成人免费看| 91麻豆精品国产91久久久久久| 亚洲一区二区三区免费视频| 在线免费观看日本欧美| 亚洲一区在线看| 欧美色爱综合网| 亚洲宅男天堂在线观看无病毒| 一本久久综合亚洲鲁鲁五月天| 亚洲视频你懂的| 欧美视频一区在线观看| 日韩影院在线观看| 精品日韩99亚洲| 国产成人亚洲精品狼色在线| 国产精品情趣视频| 91日韩在线专区| 亚洲影视在线播放| 日韩三级.com| 国产成人免费在线视频| 成人免费一区二区三区在线观看| 色偷偷一区二区三区| 亚洲一线二线三线久久久| 欧美精品一二三区| 韩国成人精品a∨在线观看| 欧美国产精品v| 欧美日韩在线亚洲一区蜜芽| 日本欧美大码aⅴ在线播放| 欧美成人乱码一区二区三区| 成人激情电影免费在线观看| 一区二区不卡在线播放| 欧美精品视频www在线观看| 久久精品噜噜噜成人av农村| 久久久综合激的五月天| 色域天天综合网| 久久电影网站中文字幕| 国产精品理论片在线观看| 欧美日韩免费一区二区三区| 国内精品国产三级国产a久久| 综合久久国产九一剧情麻豆| 欧美久久久久免费| 国产69精品久久777的优势| 一区二区在线免费| 久久在线观看免费| 色网综合在线观看| 国产成人三级在线观看| 午夜日韩在线电影| 欧美激情中文不卡| 欧美一区二区三区电影| 99re这里只有精品首页| 免费人成黄页网站在线一区二区| 欧美激情一区二区| 日韩一区二区在线看片| 在线这里只有精品| 国产精品一二一区| 秋霞成人午夜伦在线观看| 亚洲精品乱码久久久久久久久| 久久一日本道色综合| 欧美日韩国产精品自在自线| 91亚洲精华国产精华精华液| 久久国产夜色精品鲁鲁99| 亚洲大片一区二区三区| 亚洲男女毛片无遮挡| 中文字幕第一区二区| 精品国产区一区| 欧美一级精品在线| 欧美日本乱大交xxxxx| 欧洲av在线精品| 色婷婷av一区二区三区gif| 成人高清免费观看| 国产成人精品亚洲777人妖 | 欧美日韩在线三级| 色香蕉成人二区免费| 99精品欧美一区二区三区小说 | 欧美性大战久久久| 色综合久久天天综合网| 91免费国产在线| aaa国产一区| www.66久久| 99在线精品观看| 91网页版在线| 99re这里只有精品视频首页| 91在线国产观看| 91视频免费看| 色香蕉久久蜜桃| 欧美在线观看视频在线| 欧美日韩在线播放三区| 777色狠狠一区二区三区| 制服.丝袜.亚洲.中文.综合| 91精品黄色片免费大全| 91精品国产综合久久久久久久 | 国产精品亚洲午夜一区二区三区| 国产毛片精品一区| 成人综合日日夜夜| 95精品视频在线| 欧美日韩免费观看一区二区三区 | 久久嫩草精品久久久精品一| 国产亚洲女人久久久久毛片| 欧美激情一区二区三区在线| 亚洲欧美日韩国产另类专区| 偷拍日韩校园综合在线| 美女任你摸久久| 成人h版在线观看| 一本久久a久久精品亚洲| 欧美日韩精品是欧美日韩精品| 欧美一区二区三区性视频| 久久久三级国产网站| 中文字幕一区二区视频| 午夜精品久久久久久久久久久| 麻豆高清免费国产一区| 成人网在线播放| 91精品欧美久久久久久动漫| 久久久久久久综合| 亚洲欧美经典视频| 日韩精品91亚洲二区在线观看| 国产一区三区三区| 日本精品视频一区二区三区| 日韩视频不卡中文| 国产精品日日摸夜夜摸av| 日韩综合小视频| www.亚洲精品| 精品日韩av一区二区| 亚洲女同一区二区| 国产一区视频网站| 欧美精品在线视频| 国产精品国产三级国产普通话蜜臀 | 91国偷自产一区二区三区观看 | 成人av免费在线观看| 欧美久久久久免费| 亚洲精品综合在线| 国产精品911| 日韩免费一区二区|