zoukankan      html  css  js  c++  java
  • linux C 调用系统接口卸载模块 范例

    代码
    #include <stdio.h>
    #include 
    <stdlib.h>
    # include 
    <sys/syscall.h>    // syscall() , __NR_init_module
    #include <sys/stat.h>
    #include 
    <errno.h>               // ENOEXEC

    #include 
    <fcntl.h>        // O_RDONLY 
    #include <sys/mman.h>    // PROT_READ , MAP_PRIVATE , MAP_FAILED

    # define init_module(mod, len, opts) syscall(__NR_init_module, mod, len, opts)
    # define delete_module(mod, flags) syscall(__NR_delete_module, mod, flags)

    #define MPI_NAME "ct_def"    //

    void moderror(int err)
    {
        
    switch (err) {
        
    case -1/* btw: it's -EPERM */
            printf(
    "no such module");
            
    return;
        
    case ENOEXEC:
            printf( 
    "invalid module format");
            
    return;
        
    case ENOENT:
            printf( 
    "unknown symbol in module, or unknown parameter");
            
    return;
        
    case ESRCH:
            printf(
    "module has wrong symbol version");
            
    return ;
        
    case ENOSYS:
            printf(
    "kernel does not support requested operation");
            
    return ;
        
    default :
            printf(
    "unknown errcode(%d)",err);
            
    return ;
        }
    }

     

     



    int main(void )
    {
        unsigned flags 
    = O_NONBLOCK | O_EXCL;
        
    int ret;

        errno
    =0;
        ret
    =delete_module(MPI_NAME, flags);
               
    if (ret != 0) { 
            printf(
    "cannot rmmod  : ");
            moderror(errno);
            printf(
    "\n ");
        }
        printf(
    "removed\n");
        
    return 0;
    }

     

    错误的码的定义在Linux/include/asm-generic/errno-base.h 文件中

     

     


  • 相关阅读:
    javascript中 分号的问题
    IIFE(立即执行函数表达式)
    函数_回调函数
    数据_变量_内存
    严格区别变量类型与数据类型
    什么时候给变量赋值为null
    JavaScript Promise迷你书(中文版)
    python txt文件读写(追加、覆盖)
    python re:正向肯定预查(?=)和反向肯定预查(?<=)
    python re:正则表达式中使用变量
  • 原文地址:https://www.cnblogs.com/leaven/p/1717791.html
Copyright © 2011-2022 走看看