📄 kernel.h
字号:
#ifndef _LINUX_KERNEL_H#define _LINUX_KERNEL_H/* * 'kernel.h' contains some often-used function prototypes etc */#ifdef __KERNEL__#include <linux/linkage.h>#define INT_MAX ((int)(~0U>>1))#define UINT_MAX (~0U)#define LONG_MAX ((long)(~0UL>>1))#define ULONG_MAX (~0UL)#define KERN_EMERG "<0>" /* system is unusable */#define KERN_ALERT "<1>" /* action must be taken immediately */#define KERN_CRIT "<2>" /* critical conditions */#define KERN_ERR "<3>" /* error conditions */#define KERN_WARNING "<4>" /* warning conditions */#define KERN_NOTICE "<5>" /* normal but significant condition */#define KERN_INFO "<6>" /* informational */#define KERN_DEBUG "<7>" /* debug-level messages */#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)# define NORET_TYPE __volatile__# define ATTRIB_NORET /**/# define NORET_AND /**/#else# define NORET_TYPE /**/# define ATTRIB_NORET __attribute__((noreturn))# define NORET_AND noreturn,#endifextern void math_error(void);NORET_TYPE void panic(const char * fmt, ...) __attribute__ ((NORET_AND format (printf, 1, 2)));NORET_TYPE void do_exit(long error_code) ATTRIB_NORET;unsigned long simple_strtoul(const char *,char **,unsigned int);int sprintf(char * buf, const char * fmt, ...);int session_of_pgrp(int pgrp);int kill_proc(int pid, int sig, int priv);int kill_pg(int pgrp, int sig, int priv);int kill_sl(int sess, int sig, int priv);asmlinkage int printk(const char * fmt, ...) __attribute__ ((format (printf, 1, 2)));/* * This is defined as a macro, but at some point this might become a * real subroutine that sets a flag if it returns true (to do * BSD-style accounting where the process is flagged if it uses root * privs). The implication of this is that you should do normal * permissions checks first, and check suser() last. */#define suser() (current->euid == 0)#endif /* __KERNEL__ */#define SI_LOAD_SHIFT 16struct sysinfo { long uptime; /* Seconds since boot */ unsigned long loads[3]; /* 1, 5, and 15 minute load averages */ unsigned long totalram; /* Total usable main memory size */ unsigned long freeram; /* Available memory size */ unsigned long sharedram; /* Amount of shared memory */ unsigned long bufferram; /* Memory used by buffers */ unsigned long totalswap; /* Total swap space size */ unsigned long freeswap; /* swap space still available */ unsigned short procs; /* Number of current processes */ char _f[22]; /* Pads structure to 64 bytes */};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -