Version:
~ [ 0.6-2.3.46 ] ~
Architecture:
~ [ um ] ~
** Warning: Cannot open xref database.
1 #ifndef __KERN_UTIL_H__
2 #define __KERN_UTIL_H__
3
4 #define x(s) #s
5 #define xx(s) x(s)
6
7 #ifndef _UNISTD_H
8 extern int write(int, const char *, int);
9 #endif
10
11 #define KERN_UNTESTED() \
12 do { char buf[100]; \
13 static int stop_here = 1; \
14 if(stop_here){ \
15 sprintf(buf, "Untested (%d) [0x%p]: " __FILE__ " line " xx(__LINE__) \
16 "\n", linux_getpid(), &stop_here); \
17 write(1, buf, strlen(buf)); \
18 stop(); \
19 } \
20 } while(0)
21
22 extern int ncpus;
23
24 extern int kernel_fork(unsigned long flags, int (*fn)(void *), void * arg);
25 extern unsigned long stack_sp(unsigned long page);
26 extern int kernel_thread_proc(void *data);
27 extern int execute_syscall(int syscall, unsigned long *args);
28 extern void syscall_segv(int sig);
29 extern int current_pid(void *t);
30 extern void do_bh(void);
31 extern void set_extern_pid(int task_pid, int pid);
32 extern unsigned long alloc_stack(void);
33 extern int do_signal(void *t, int *error, int *signalled);
34 extern int current_external_pid(void);
35 extern void store_syscall(void *t, int syscall, unsigned long arg1,
36 unsigned long arg2, unsigned long arg3,
37 unsigned long arg4, unsigned long arg5);
38 extern int current_syscall(void *t, unsigned long *args_out);
39 extern int is_stack_fault(unsigned long sp);
40 extern void segv(unsigned long address, int is_write);
41 extern int set_user_thread(void *task, int on);
42 extern void syscall_ready(void);
43 extern void set_syscall_result(void *t, int result, int again, int for_real);
44 extern void set_tracing(void *t, int tracing);
45 extern int is_tracing(void *task);
46 extern int get_want_tracing(void *task);
47 extern int segv_syscall(void);
48 extern int ret_from_sys_call(void *t);
49 extern void add_perm_vma(unsigned long start, unsigned long end, char rperm,
50 char wperm, char xperm, char private,
51 unsigned long offset);
52 extern void kern_finish_exec(void *task, unsigned long ip, unsigned long sp,
53 int pid);
54 extern unsigned long *fork_regs(void *task);
55 extern int page_size(void);
56 extern int need_finish_fork(void);
57 extern int do_proc_op(void *t, int proc_id);
58 extern void free_stack(unsigned long stack);
59 extern void add_input_request(int op, int fd, void (*proc)(int));
60 extern int get_input_request(void *t, int *fd_out, void (**proc_out)(int),
61 int *pid_out);
62 extern char *current_comm(void);
63 extern void signal_deliverer(int sig);
64 extern int sys_execve(char *file, char **argv, char **env);
65 extern void *current_sigstack(void *t);
66 extern int temp_syscall_result(void *task, int *again_out);
67 extern void set_forced_fault(void *task, unsigned long addr);
68 extern unsigned long forced_fault(void);
69 extern char *current_cmd(void);
70 extern void timer_handler(int signal);
71 extern int sigs_blocked(void *task);
72 extern int set_signals(void *t, int on);
73 extern void force_sigbus(void);
74 extern int pid_to_processor_id(int pid);
75 extern void block_signals(void *t);
76 extern void unblock_signals(void *t);
77 extern void deliver_signals(void *t);
78 extern void input_handler(unsigned long ignore);
79 extern void input_notify(int index);
80 extern void lock_syscall(void);
81 extern void unlock_syscall(void);
82 extern void lock_trap(void);
83 extern void unlock_trap(void);
84 extern void lock_pid(void);
85 extern void unlock_pid(void);
86 extern int cpu_idle(void);
87 extern int kernel_thread1(int (*fn)(void *), void * arg, unsigned long flags,
88 int cpu, int *extern_pid_out);
89 extern void finish_fork(void);
90 extern void *get_current_task(void);
91 #endif
92
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.