一 。 内核模块可选信号

  1 . 模块申明

    (1). MODULE_LICENSE(遵守的协议)

      申明该模块遵守的许可证协议,如:“GPL”、"GPL V2"

    (2). MODULE_AUTHOR(作者)

      申请模块的作者

    (3). MODULE_DESCRIPTION(模块的功能描述)

      申请模块的功能

    (4). MODULE_VERSION(v1.0)

      申请模块的版本

  2 . 模块参数

    通过宏module_param指定保存模块参数的变量。模块参数用于在加载模块时传递参数给模块。

      module_param(name,type,perm)

    #name:变量的名称

    #type:变量类型,bool:布尔型int:整型charp:字符串型

    #perm是访问权限。S_IRUGO:读权限S_IWUSR:写权限

    #例 :

      int a = 3;

      char *st;

      module_param(a,int, S_IRUGO);

      module_param(st,charp, S_IRUGO);

  3 . 符号输出(将内核模块里面的符号导出,输出的值就可以被其他内核模块所调用)

        内核符号的导出使用宏

      EXPORT_SYMBOL(符号名)

     EXPORT_SYMBOL_GPL(符号名)

    说明:其中EXPORT_SYMBOL_GPL只能用于包含GPL许可证的模块。

  

Linux 内核模块可选信号的更多相关文章

  1. Linux内核模块简介

    一. 摘要 这篇文章主要介绍了Linux内核模块的相关概念,以及简单的模块开发过程.主要从模块开发中的常用指令.内核模块程序的结构.模块使用计数以及模块的编译等角度对内核模块进行介绍.在Linux系统 ...

  2. Smart210学习记录-------linux内核模块

    Linux 驱动工程师需要牢固地掌握 Linux 内核的编译方法以为嵌入式系统构建可运行的Linux 操作系统映像.在编译 LDD6410 的内核时,需要配置内核,可以使用下面命令中的 一个: #ma ...

  3. linux内核模块相关命令:lsmod,depmod,modprobe,modinfo,insmod,rmmod 使用说明

    加载内核驱动的通常流程: 1.先将.ko文件拷贝到/lib/module/`uname -r`(内核版本号)/kernel/driver/...目录下, 根据具体用途的区别分为net.ide.scsi ...

  4. Linux内核模块编写详解

    内核编程常常看起来像是黑魔法,而在亚瑟 C 克拉克的眼中,它八成就是了.Linux内核和它的用户空间是大不相同的:抛开漫不经心,你必须小心翼翼,因为你编程中的一个bug就会影响到整个系统,本文给大家介 ...

  5. Linux内核模块编程与内核模块LICENSE -《具体解释(第3版)》预读

    Linux内核模块简单介绍 Linux内核的总体结构已经很庞大,而其包括的组件或许多.我们如何把须要的部分都包括在内核中呢?一种方法是把全部须要的功能都编译到Linux内核.这会导致两个问题.一是生成 ...

  6. linux内核模块编译makefile

    linux内核可加载模块的makefile 在开发linux内核驱动时,免不了要接触到makefile的编写和修改,尽管网上的makefile模板一大堆,做一些简单的修改就能用到自己的项目上,但是,对 ...

  7. linux系统编程--信号

    信号的概念 man 7 siganl  查看man手册 信号在我们的生活中随处可见, 如:古代战争中摔杯为号:现代战争中的信号弹:体育比赛中使用的信号枪......他们都有共性:1. 简单 2. 不能 ...

  8. 【Linux开发】编写属于你的第一个Linux内核模块

    曾经多少次想要在内核游荡?曾经多少次茫然不知方向?你不要再对着它迷惘,让我们指引你走向前方-- 内核编程常常看起来像是黑魔法,而在亚瑟 C 克拉克的眼中,它八成就是了.Linux内核和它的用户空间是大 ...

  9. linux 内核模块开发相关的文章搜集和模块开发过程中的小技巧

    最近需要开发一些内核模块,进行探究linux内核的一些特征,现在把一些遇到的比较好的文章和知识点,进行简要记录和备忘: 内核模块开发相关链接: https://www.thegeekstuff.com ...

随机推荐

  1. Flex SuperTabNavigator Tab标签图片不显示或图片显示不完全

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...

  2. PostgreSQL关闭不了时怎么办

    停止模式分为: smart, fast, immediate : 分别对应着:    SIGTERM, SIGINT, SIGQUIT 信号 当我采用 fast模式无法关机的时候,可以使用如下办法: ...

  3. Codeforces Beta Round #5 C. Longest Regular Bracket Sequence 栈/dp

    C. Longest Regular Bracket Sequence Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.c ...

  4. C#窗体钉在桌面、置底、嵌入桌面的办法

    想做一个桌面时钟,钉在桌面上不影响正常使用,只在看桌面的时候显示. 从网上多方寻找找到这么个代码,但是还是有不方便的地方,大家探讨一下. 这个程序在使用“显示桌面”的时候还可以显示,将程序的Form1 ...

  5. 视频流服务器配置[windows平台][转]

    视频流服务器配置[windows平台] 搭建一个Flv视频播放服务器 作者:笨小孩 发布于:2013-9-1 20:18 分类:环境架设 IIS,Apache,Nginx环境都可以很好的支持视频的播放 ...

  6. Dojo系列教程

    Dojo学习笔记一: 认识Dojo http://blog.csdn.net/lfsfxy9/article/details/8623897 <dojo 边学边用> http://www. ...

  7. 【JavaScript】javascript常用的东西

    DOM编程.AJAX编程.异步编程(nodejs会涉及的相对多一点,事件.ajax) 函数.函数表达式.回调函数是基础. JavaScript的函数是一个核心. 回调函数有点类似于Android中的回 ...

  8. [Angular 2] Style Angular 2 Components

    Each Angular 2 Component can have its own styles which will remained contained inside the component. ...

  9. j疑难杂症:java.lang.VerifyError: class org.hibernate.type.WrappedMaterializedBlobType overrides final method getReturnedClass.()Ljava/lang/Class;

    问题: java.lang.VerifyError: class org.hibernate.type.WrappedMaterializedBlobType overrides final meth ...

  10. java字符串分解 StringTokenizer用法(比split()方法效率高)

    Java中substring方法可以分解字符串,返回的是原字符串的一个子字符串.如果要讲一个字符串分解为一个一个的单词或者标记,StringTokenizer可以帮你. int countTokens ...