zoukankan      html  css  js  c++  java
  • [转发]Linux的系统调用宏

    原来在linux/include/linux/syscalls.h 中定义了如下的宏:

    复制代码
    #define SYSCALL_DEFINE1(name, ...) SYSCALL_DEFINEx(1, _##name, __VA_ARGS__)

    #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)

    #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)

    #define SYSCALL_DEFINE4(name, ...) SYSCALL_DEFINEx(4, _##name, __VA_ARGS__)

    #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)

    #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__)
    复制代码
     

    还有:

    复制代码
    #define SYSCALL_DEFINEx(x, sname, ...)                         

           __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)

    #define __SYSCALL_DEFINEx(x, name, ...)                              

           asmlinkage long sys##name(__SC_DECL##x(__VA_ARGS__));       

           static inline long SYSC##name(__SC_DECL##x(__VA_ARGS__)); 

           asmlinkage long SyS##name(__SC_LONG##x(__VA_ARGS__))            

           {                                                     

                  __SC_TEST##x(__VA_ARGS__);                           

                  return (long) SYSC##name(__SC_CAST##x(__VA_ARGS__)); 

           }                                                     

           SYSCALL_ALIAS(sys##name, SyS##name);                       

           static inline long SYSC##name(__SC_DECL##x(__VA_ARGS__))
    复制代码
     

  • 相关阅读:
    MySQL热备脚本
    从库查看状态的时候显示“ Last_Error”
    Jenkins+svn+maven
    confluence的安装、备份和恢复(wiki)
    RAP在centos上的部署
    不停止MySQL服务的情况下修改root的密码
    给Linux装图形化界面
    大文件传输工具
    MySQL server PID file could not be found!
    find常见用法
  • 原文地址:https://www.cnblogs.com/eaglexmw/p/3874672.html
Copyright © 2011-2022 走看看