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

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

?? jit.c

?? 通過本書,你可以學會寫自己的設備驅動程序,并且可以鉆研內核的相關部分.
?? C
字號:
/* * jit.c -- the just-in-time module * * Tested with 2.0 on the x86, Sparc *//* BUGS: this module is not reentrant: only one file can be read at a time *       the module usage count is not used: you could remove the module *           while reading it, thus asking for troubles */ #ifndef __KERNEL__#  define __KERNEL__#endif#ifndef MODULE#  define MODULE#endif#include <linux/module.h>#define VERSION_CODE(vers,rel,seq) ( ((vers)<<16) | ((rel)<<8) | (seq) )#if LINUX_VERSION_CODE < VERSION_CODE(1,99,4)#  error "This module needs Linux 1.99.4 or newer"#else#include <linux/sched.h>#include <linux/kernel.h> /* printk() */#include <linux/fs.h>     /* everything... */#include <linux/proc_fs.h>#include <linux/errno.h>  /* error codes */#include <linux/types.h>  /* size_t *//* * This module is a silly one: it only embeds short code fragments * that show how time delays can be handled in the kernel. */int jit_delay = 1; /* the default delay in read() */char jit_spoke[] = "This is a meaningless string, fiftysix characters long.\n";#define LIMIT (PAGE_SIZE-128) /* don't print any more after this size */static int jit_print(char *buf){    int len = 0;    while(len < LIMIT)        len += sprintf(buf+len,"%s",jit_spoke);    return len;}int jit_read_busy(char *buf, char **start, off_t offset,                   int len, int unused){    /* delay one second (or the chosen value), before printing */    unsigned long j= jiffies + jit_delay * HZ;    while (jiffies < j)	/* nothing */;    return jit_print(buf);}int jit_read_sched(char *buf, char **start, off_t offset,                   int len, int unused){    /* delay one second (or the chosen value), before printing */    unsigned long j= jiffies + jit_delay * HZ;    while (jiffies < j)	schedule();    return jit_print(buf);}int jit_read_queue(char *buf, char **start, off_t offset,                   int len, int unused){    /* delay one second (or the chosen value), before printing */    unsigned long j= jiffies + jit_delay * HZ;        struct wait_queue *wait = NULL;    current->timeout = j;    interruptible_sleep_on(&wait);    return jit_print(buf);}int jit_read_self(char *buf, char **start, off_t offset,                   int len, int unused){    /* delay one second (or the chosen value), before printing */    unsigned long j= jiffies + jit_delay * HZ;    current->timeout = j;    current->state = TASK_INTERRUPTIBLE;    schedule();    current->timeout = 0; /* reset the timeout */    return jit_print(buf);}struct proc_dir_entry jit_proc_busy = {        0,                 /* low_ino: the inode -- dynamic */        7, "jitbusy",      /* len of name and name */        S_IFREG | S_IRUGO, /* mode */        1, 0, 0,           /* nlinks, owner, group */        0, NULL,           /* size - unused; operations -- use default */        &jit_read_busy,    /* function used to read data */        /* nothing more */    };struct proc_dir_entry jit_proc_sched = {        0,                 /* low_ino: the inode -- dynamic */        8, "jitsched",     /* len of name and name */        S_IFREG | S_IRUGO, /* mode */        1, 0, 0,           /* nlinks, owner, group */        0, NULL,           /* size - unused; operations -- use default */        &jit_read_sched,   /* function used to read data */        /* nothing more */    };struct proc_dir_entry jit_proc_queue = {        0,                 /* low_ino: the inode -- dynamic */        8, "jitqueue",     /* len of name and name */        S_IFREG | S_IRUGO, /* mode */        1, 0, 0,           /* nlinks, owner, group */        0, NULL,           /* size - unused; operations -- use default */        &jit_read_queue,    /* function used to read data */        /* nothing more */    };struct proc_dir_entry jit_proc_self = {        0,                 /* low_ino: the inode -- dynamic */        7, "jitself",      /* len of name and name */        S_IFREG | S_IRUGO, /* mode */        1, 0, 0,           /* nlinks, owner, group */        0, NULL,           /* size - unused; operations -- use default */        &jit_read_self,    /* function used to read data */        /* nothing more */    };/* * There is also a silly file returning the current time. */int jit_read_current(char *buf, char **start, off_t offset,                   int len, int unused){    struct timeval tv1, tv2;    unsigned long flags;    do_gettimeofday(&tv1);    save_flags(flags);    cli();    tv2 = xtime;    restore_flags(flags);    len=0;    len += sprintf(buf,"gettime: %9i.%06i\nxtime:   %9i.%06i\njiffies: %li\n",                   tv1.tv_sec, tv1.tv_usec,                   tv2.tv_sec, tv2.tv_usec, jiffies);    return len;}struct proc_dir_entry jit_proc_current = {        0,                 /* low_ino: the inode -- dynamic */        10, "currentime",  /* len of name and name */        S_IFREG | S_IRUGO, /* mode */        1, 0, 0,           /* nlinks, owner, group */        0, NULL,           /* size - unused; operations -- use default */        &jit_read_current, /* function used to read data */        /* nothing more */    };int init_module(void){    proc_register_dynamic(&proc_root, &jit_proc_busy);    proc_register_dynamic(&proc_root, &jit_proc_sched);    proc_register_dynamic(&proc_root, &jit_proc_queue);    proc_register_dynamic(&proc_root, &jit_proc_self);    proc_register_dynamic(&proc_root, &jit_proc_current);#ifndef JIT_DEBUG    register_symtab(NULL); /* hide symbols */#endif    return 0; /* succeed */}void cleanup_module(void){    proc_unregister(&proc_root, jit_proc_busy.low_ino);    proc_unregister(&proc_root, jit_proc_sched.low_ino);    proc_unregister(&proc_root, jit_proc_queue.low_ino);    proc_unregister(&proc_root, jit_proc_self.low_ino);    proc_unregister(&proc_root, jit_proc_current.low_ino);}#endif /* version 1.99.4 or newer */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
处破女av一区二区| 亚洲午夜精品网| 国产视频一区二区三区在线观看| 欧美精品视频www在线观看| 91麻豆精品国产91久久久使用方法 | 精品视频在线免费| 69久久99精品久久久久婷婷 | 99re亚洲国产精品| 91精品国产入口| 欧美国产日韩精品免费观看| 日韩制服丝袜av| 丁香一区二区三区| 日韩欧美国产三级| 亚洲国产va精品久久久不卡综合| 国产揄拍国内精品对白| 欧美日本免费一区二区三区| 久久久久久免费毛片精品| 亚洲影视在线观看| 成人一区二区三区中文字幕| 日韩免费观看2025年上映的电影| 一区二区三区在线观看动漫| 一区二区三区欧美激情| 91福利国产精品| 久久精品这里都是精品| 久久激情综合网| 欧美日韩dvd在线观看| 亚洲一区二区三区视频在线播放| 91在线国产观看| 亚洲欧洲日本在线| 粉嫩一区二区三区性色av| 国产精品国产三级国产专播品爱网 | www.日韩精品| 国产精品国产三级国产有无不卡 | 久久99国产精品免费| 日韩欧美国产综合在线一区二区三区| 亚洲线精品一区二区三区八戒| 91视频国产资源| 午夜精品久久久久影视| 欧美α欧美αv大片| 国产91精品一区二区麻豆网站| 国产精品毛片大码女人| 制服.丝袜.亚洲.中文.综合| 国产乱一区二区| 午夜精品久久久久久久久久| 国产色产综合色产在线视频| 欧美性做爰猛烈叫床潮| 国产美女娇喘av呻吟久久| 亚洲男人的天堂在线观看| 精品99一区二区三区| 在线亚洲人成电影网站色www| 久草热8精品视频在线观看| 一区二区三区中文免费| 国产精品国产三级国产aⅴ中文| 欧美精品一级二级| 在线区一区二视频| 91玉足脚交白嫩脚丫在线播放| 韩日欧美一区二区三区| 日本成人在线看| 免费在线欧美视频| 日韩一区精品字幕| 日韩精品视频网站| 亚洲大片免费看| 亚洲乱码一区二区三区在线观看| 国产精品免费免费| 久久综合久色欧美综合狠狠| 精品入口麻豆88视频| 欧美成人国产一区二区| 26uuu色噜噜精品一区| 欧美v日韩v国产v| 久久亚洲一级片| 国产精品夫妻自拍| 亚洲国产精品久久艾草纯爱| 亚洲午夜电影网| 麻豆精品一区二区三区| 久久99国产乱子伦精品免费| 92精品国产成人观看免费| 播五月开心婷婷综合| 欧美色国产精品| 日韩精品在线一区二区| 欧美国产一区视频在线观看| 亚洲午夜私人影院| 免费成人在线网站| 91免费国产在线| 日韩欧美在线1卡| 亚洲欧美国产77777| 久久精品国产77777蜜臀| av一本久道久久综合久久鬼色| 欧美猛男gaygay网站| 国产精品毛片a∨一区二区三区| 亚洲国产sm捆绑调教视频| 国产美女av一区二区三区| 欧美三级视频在线| 国产精品久久三区| 国产一区二区三区不卡在线观看| jvid福利写真一区二区三区| 91精品国产乱码| 亚洲精品国产精华液| 成人蜜臀av电影| 国产精品久久久久久户外露出| 另类小说欧美激情| 欧美人牲a欧美精品| 亚洲精品欧美在线| 一本大道久久a久久精品综合| 国产欧美在线观看一区| 国产盗摄一区二区| 欧美激情一区二区三区在线| 风间由美一区二区三区在线观看| 精品欧美一区二区在线观看| 久久99精品久久久久久国产越南| 91麻豆精品国产综合久久久久久| 日韩不卡免费视频| www一区二区| 91网站在线观看视频| 亚洲国产美国国产综合一区二区| 欧美日韩国产大片| 久久精品国产久精国产| 国产精品国产三级国产| 欧美午夜一区二区三区免费大片| 亚洲综合久久av| 精品国产1区2区3区| 成人一区二区三区在线观看 | 国产精品正在播放| 欧美极品少妇xxxxⅹ高跟鞋 | 制服丝袜日韩国产| 国产精品一区二区视频| 亚洲一区免费观看| 国产亚洲1区2区3区| 欧美日韩电影在线播放| 日韩电影在线观看一区| 亚洲天堂av一区| 91精品国产综合久久久久| a亚洲天堂av| 粉嫩一区二区三区在线看| 亚洲成人精品一区二区| 日韩理论电影院| 久久青草国产手机看片福利盒子 | 91福利精品视频| 91小宝寻花一区二区三区| 日韩电影在线一区二区| 亚洲成av人片在线| 一区二区久久久久久| 自拍偷自拍亚洲精品播放| 国产精品免费视频一区| 国产午夜精品一区二区三区嫩草 | 精品国产乱码久久久久久夜甘婷婷| 国产xxx精品视频大全| 国产精品亚洲视频| 国产在线视频一区二区| 国产一区日韩二区欧美三区| 国产剧情一区二区| 国产凹凸在线观看一区二区| 成人福利视频在线看| 国产麻豆日韩欧美久久| 成人av在线网| 欧美精品tushy高清| 日韩欧美123| 亚洲人成影院在线观看| 亚洲一区二区在线免费观看视频 | 亚洲国产激情av| 亚洲人成网站影音先锋播放| 日韩精品久久理论片| 蜜桃视频在线观看一区| 国产乱子伦一区二区三区国色天香 | 欧美精品日韩一本| 国产欧美一区二区精品性色超碰| 亚洲日本在线看| 麻豆成人免费电影| av一区二区三区黑人| 国产日韩欧美在线一区| 天天爽夜夜爽夜夜爽精品视频| 99久久精品国产观看| 欧美r级电影在线观看| 亚洲少妇30p| 国产成人精品1024| 欧美电影免费观看高清完整版| 亚洲成人av福利| 欧美日韩精品一区二区在线播放| 日本一区二区三区免费乱视频 | 久久蜜桃香蕉精品一区二区三区| 国产精品传媒视频| 99久久综合狠狠综合久久| 亚洲国产精华液网站w| 成人a区在线观看| 亚洲另类中文字| 日本韩国精品一区二区在线观看| 亚洲男同性恋视频| 91久久线看在观草草青青| 亚洲欧洲日本在线| 欧美日韩一本到| 亚洲成a人片在线观看中文| 91麻豆精品国产91久久久久久久久 | 国产精品免费观看视频| 成人av在线播放网站| 午夜亚洲国产au精品一区二区| 欧美羞羞免费网站| 麻豆中文一区二区| **性色生活片久久毛片| 欧美色网一区二区| 国产一区二区三区久久悠悠色av| 国产精品三级电影|