1#ifndef _LINUX_KERNEL_H
2#define _LINUX_KERNEL_H
3
4
5
6
7
8#ifdef __KERNEL__
9
10#include <stdarg.h>
11#include <linux/linkage.h>
12
13#define INT_MAX ((int)(~0U>>1))
14#define UINT_MAX (~0U)
15#define LONG_MAX ((long)(~0UL>>1))
16#define ULONG_MAX (~0UL)
17
18#define STACK_MAGIC 0xdeadbeef
19
20#define KERN_EMERG "<0>"
21#define KERN_ALERT "<1>"
22#define KERN_CRIT "<2>"
23#define KERN_ERR "<3>"
24#define KERN_WARNING "<4>"
25#define KERN_NOTICE "<5>"
26#define KERN_INFO "<6>"
27#define KERN_DEBUG "<7>"
28
29#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
30# define NORET_TYPE __volatile__
31# define ATTRIB_NORET
32# define NORET_AND
33#else
34# define NORET_TYPE
35# define ATTRIB_NORET __attribute__((noreturn))
36# define NORET_AND noreturn,
37#endif
38
39extern void math_error(void);
40NORET_TYPE void panic(const char * fmt, ...)
41 __attribute__ ((NORET_AND format (printf, 1, 2)));
42NORET_TYPE void do_exit(long error_code)
43 ATTRIB_NORET;
44extern unsigned long simple_strtoul(const char *,char **,unsigned int);
45extern int sprintf(char * buf, const char * fmt, ...);
46extern int vsprintf(char *buf, const char *, va_list);
47
48extern int session_of_pgrp(int pgrp);
49
50extern int kill_proc(int pid, int sig, int priv);
51extern int kill_pg(int pgrp, int sig, int priv);
52extern int kill_sl(int sess, int sig, int priv);
53
54asmlinkage int printk(const char * fmt, ...)
55 __attribute__ ((format (printf, 1, 2)));
56
57
58
59
60
61
62
63
64
65
66
67#define suser() (current->euid == 0)
68#define fsuser() (current->fsuid == 0)
69
70#endif
71
72#define SI_LOAD_SHIFT 16
73struct sysinfo {
74 long uptime;
75 unsigned long loads[3];
76 unsigned long totalram;
77 unsigned long freeram;
78 unsigned long sharedram;
79 unsigned long bufferram;
80 unsigned long totalswap;
81 unsigned long freeswap;
82 unsigned short procs;
83 char _f[22];
84};
85
86#endif
87