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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? jit.c

?? Linux驅(qū)動(dòng)程序開(kāi)發(fā)教程源碼
?? C
字號(hào):
/* * jit.c -- the just-in-time module (v2.1) * * Tested with 2.1.43 on the x86 *//* 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 */#include "sysdep-2.1.h"/* * 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){    /* dynamic: low_ino is 0 */    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    EXPORT_NO_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 */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
3d动漫精品啪啪1区2区免费 | 天堂va蜜桃一区二区三区| 日本视频在线一区| 国产成人免费9x9x人网站视频| 94-欧美-setu| 久久久国产精品不卡| 一区二区久久久久久| 懂色av一区二区三区免费看| 欧美精品一级二级| 亚洲一区在线看| 成年人网站91| 久久久www免费人成精品| 午夜精品福利一区二区蜜股av| 丁香六月综合激情| 欧美刺激午夜性久久久久久久| 亚洲国产成人porn| 一本大道久久精品懂色aⅴ | 欧美福利视频一区| 亚洲欧美一区二区三区国产精品| 国产精品99精品久久免费| 欧美日韩在线三区| 亚洲欧美在线aaa| 久久精品99国产国产精| 一本一道波多野结衣一区二区| 欧美精品一区二区蜜臀亚洲| 一区二区免费在线播放| 不卡免费追剧大全电视剧网站| 日韩一区二区三区在线视频| ww亚洲ww在线观看国产| 一区二区三区中文免费| 国产999精品久久久久久| 日韩一卡二卡三卡| 亚洲国产精品视频| 一本大道综合伊人精品热热| 国产日韩欧美在线一区| 久国产精品韩国三级视频| 欧美午夜寂寞影院| 亚洲欧美在线观看| 懂色av中文字幕一区二区三区| 欧美成va人片在线观看| 午夜欧美电影在线观看| 99re66热这里只有精品3直播| 欧美精品第1页| 国产精品区一区二区三区| 久久成人麻豆午夜电影| 欧美日韩五月天| 亚洲午夜影视影院在线观看| 91美女视频网站| 亚洲丝袜美腿综合| 99精品欧美一区二区蜜桃免费| 国产偷v国产偷v亚洲高清| 国产又黄又大久久| 日韩精品一区二区三区中文精品| 性欧美疯狂xxxxbbbb| 欧美三区在线观看| 亚洲一线二线三线视频| 欧美影院一区二区| 亚洲综合一区二区精品导航| 91麻豆精品秘密| 亚洲精品欧美在线| 91在线一区二区| 亚洲女人****多毛耸耸8| 9l国产精品久久久久麻豆| 中文字幕一区二区日韩精品绯色| 成人激情黄色小说| 亚洲欧美影音先锋| 欧美三区在线观看| 裸体健美xxxx欧美裸体表演| 欧美一区二区三区在线看| 蜜桃av一区二区三区电影| 欧美大片一区二区三区| 国产露脸91国语对白| 中文字幕av免费专区久久| 色综合久久中文综合久久97| 亚洲国产成人va在线观看天堂| 91精品国产aⅴ一区二区| 亚洲一二三四在线| 91黄色小视频| 蜜臀国产一区二区三区在线播放 | 亚洲色图制服诱惑| 欧美日韩国产色站一区二区三区| 青青草伊人久久| 精品福利在线导航| 国产一区二区看久久| 久久久久国产精品麻豆| 成人a免费在线看| 五月婷婷欧美视频| 久久精品视频一区二区| 色狠狠综合天天综合综合| 五月天国产精品| 国产欧美一区二区精品性| 91久久精品一区二区三| 久久国产人妖系列| 国产精品国产三级国产| 911精品国产一区二区在线| 国产精品影视在线观看| 亚洲一区二区三区四区五区中文 | 午夜精品久久久久久| 久久久久久久久99精品| 91高清视频在线| 国产一区免费电影| 亚洲成a人v欧美综合天堂下载| 欧美变态tickle挠乳网站| 成人丝袜高跟foot| 五月婷婷激情综合网| 成人免费在线播放视频| 精品国产一区二区三区四区四| 97久久人人超碰| 国产成人午夜电影网| 男人的天堂久久精品| 亚洲综合一区二区精品导航| 国产免费观看久久| 日韩网站在线看片你懂的| 色老汉av一区二区三区| 国产不卡视频一区| 韩日av一区二区| 亚洲aⅴ怡春院| 一个色在线综合| 国产欧美日产一区| 久久无码av三级| 欧美变态tickling挠脚心| 在线欧美日韩国产| 国产成人午夜99999| 国产精品系列在线观看| 久久国产剧场电影| 日韩黄色在线观看| 日韩在线一区二区| 午夜精品福利一区二区蜜股av| 亚洲精选免费视频| 国产精品传媒视频| 国产精品女同一区二区三区| 久久免费美女视频| 欧美成人一区二区三区在线观看| 欧美一区二区三区性视频| 欧美日韩成人一区二区| 在线视频国内自拍亚洲视频| 色哟哟一区二区在线观看| 99久久精品99国产精品| 99久久亚洲一区二区三区青草| 成人亚洲一区二区一| 精品在线你懂的| 日本中文在线一区| 国产最新精品精品你懂的| 国产一区二区精品久久91| 精品一区二区三区av| 国产呦精品一区二区三区网站| 国产一区二区三区美女| 国产一区在线看| 国产69精品久久777的优势| 欧美日韩中文字幕精品| 99视频精品免费视频| 99久久免费精品高清特色大片| 成人av集中营| 99久久亚洲一区二区三区青草| 色婷婷综合久久久| 91高清视频免费看| 91精品国模一区二区三区| 日韩一区二区在线免费观看| 久久综合中文字幕| 国产精品福利在线播放| 亚洲成人自拍网| 久久 天天综合| 91网站最新网址| 51久久夜色精品国产麻豆| 久久嫩草精品久久久久| 久久无码av三级| 国产精品国产三级国产有无不卡 | 精品综合免费视频观看| 国内久久精品视频| 91在线视频18| 91精品蜜臀在线一区尤物| 精品粉嫩超白一线天av| 亚洲欧美另类久久久精品2019| 亚洲成人在线免费| 国产美女视频一区| 日本精品视频一区二区| 日韩欧美一级片| 中文字幕成人在线观看| 天堂av在线一区| 成人午夜视频免费看| 91精品国产综合久久精品图片 | 91无套直看片红桃| 日韩一区二区三区视频| 国产精品高潮呻吟| 免费高清成人在线| 色综合咪咪久久| 精品国产91久久久久久久妲己| 亚洲乱码国产乱码精品精可以看| 蜜桃91丨九色丨蝌蚪91桃色| 94色蜜桃网一区二区三区| 精品日韩av一区二区| 国产精品无人区| 国产成人在线视频播放| 欧美日韩国产精品成人| 亚洲免费色视频| 国产福利一区二区| 日韩欧美一区在线| 午夜精品成人在线视频| 91网站黄www| 中文字幕第一区二区|