zoukankan      html  css  js  c++  java
  • proc文件(OLD)

    写一个模块测试proc文件的读写:

     1 #include linux/module.h  
     2 #include linux/kernel.h  
     3 #include linux/proc_fs.h  
     4 #include linux/sched.h  
     5 #include asm/uaccess.h  
     6  
     7 #define STRINGLEN 1024  
     8  
     9 char global_buffer[STRINGLEN];  
    10  
    11 struct proc_dir_entry *example_dir, *hello_file;  
    12  
    13 int proc_read_hello(char *page, char **start, off_t off, int count, int *eof,  
    14                 void *data) {  
    15         int len;  
    16         len = sprintf(page, global_buffer); //把global_buffer的内容显示给访问者  
    17         return len;  
    18 }  
    19  
    20 int proc_write_hello(struct file *file, const char *buffer, unsigned long count,  
    21                 void *data) {  
    22         int len;  
    23  
    24         if (count = STRINGLEN)  
    25                 len = STRINGLEN – 1;  
    26         else  
    27                 len = count;  
    28  
    29         copy_from_user(global_buffer, buffer, len);  
    30         global_buffer[len] = 0′;  
    31         return len;  
    32 }  
    33  
    34 static int __init proc_test_init(void) {  
    35         example_dir = proc_mkdir("proc_test", NULL);  
    36         hello_file = create_proc_entry("hello", S_IRUGO, example_dir);  
    37         strcpy(global_buffer, "hello");  
    38         hello_file->read_proc = proc_read_hello;  
    39         hello_file->write_proc = proc_write_hello;  
    40         return 0;  
    41 }  
    42  
    43 static void __exit proc_test_exit(void) {  
    44         remove_proc_entry("hello", example_dir);  
    45         remove_proc_entry(“proc_test”, NULL);  
    46 }  
    47  
    48 module_init(proc_test_init);  
    49 module_exit(proc_test_exit);  


    写入proc文件

    echo "Hello from kernel" /proc/proc_test/hello'
    

    读取proc文件内容,将看到屏幕上显示了我们写入的字符串:Hello from kernel

    cat /proc/proc_test/hello
  • 相关阅读:
    【MFC】对话框自带滚动条的使用
    【MFC】MFC DLEdit 设计属于自己的编辑框_鼠标悬停
    【MFC】MoveWindow();函数使用详解
    【MFC】SetWindowPos函数使用详解
    模板 key+1
    lazyload 分页加载
    缓慢显示隐藏
    js计算日期的前几天的日期
    判断子元素(or属性)是否存在
    动态加载的数据,hover效果
  • 原文地址:https://www.cnblogs.com/soul-stone/p/6131623.html
Copyright © 2011-2022 走看看