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
39 extern void math_error(void);
40 NORET_TYPE void panic(const char * fmt, ...)
41 __attribute__ ((NORET_AND format (printf, 1, 2)));
42 NORET_TYPE void do_exit(long error_code)
43 ATTRIB_NORET;
44 extern unsigned long simple_strtoul(const char *,char **,unsigned int);
45 extern int sprintf(char * buf, const char * fmt, ...);
46 extern int vsprintf(char *buf, const char *, va_list);
47
48 extern int session_of_pgrp(int pgrp);
49
50 extern int kill_proc(int pid, int sig, int priv);
51 extern int kill_pg(int pgrp, int sig, int priv);
52 extern int kill_sl(int sess, int sig, int priv);
53
54 asmlinkage 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
73 struct 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