at v2.6.17 72 lines 2.0 kB view raw
1/* 2 * Copyright (C) 2000, 2001, 2002 Jeff Dike (jdike@karaya.com) 3 * Licensed under the GPL 4 */ 5 6#ifndef __USER_UTIL_H__ 7#define __USER_UTIL_H__ 8 9#include "sysdep/ptrace.h" 10 11/* Copied from kernel.h */ 12#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) 13 14#define CATCH_EINTR(expr) while ((errno = 0, ((expr) < 0)) && (errno == EINTR)) 15 16extern int mode_tt; 17 18extern int grantpt(int __fd); 19extern int unlockpt(int __fd); 20extern char *ptsname(int __fd); 21 22struct cpu_task { 23 int pid; 24 void *task; 25}; 26 27extern struct cpu_task cpu_tasks[]; 28 29extern void (*sig_info[])(int, union uml_pt_regs *); 30 31extern unsigned long low_physmem; 32extern unsigned long high_physmem; 33extern unsigned long uml_physmem; 34extern unsigned long uml_reserved; 35extern unsigned long end_vm; 36extern unsigned long start_vm; 37extern unsigned long long highmem; 38 39extern char host_info[]; 40 41extern char saved_command_line[]; 42 43extern unsigned long _stext, _etext, _sdata, _edata, __bss_start, _end; 44extern unsigned long _unprotected_end; 45extern unsigned long brk_start; 46 47extern int pty_output_sigio; 48extern int pty_close_sigio; 49 50extern void *add_signal_handler(int sig, void (*handler)(int)); 51extern int linux_main(int argc, char **argv); 52extern void set_cmdline(char *cmd); 53extern void input_cb(void (*proc)(void *), void *arg, int arg_len); 54extern int get_pty(void); 55extern void *um_kmalloc(int size); 56extern int switcheroo(int fd, int prot, void *from, void *to, int size); 57extern void do_exec(int old_pid, int new_pid); 58extern void tracer_panic(char *msg, ...) 59 __attribute__ ((format (printf, 1, 2))); 60extern int detach(int pid, int sig); 61extern int attach(int pid); 62extern void kill_child_dead(int pid); 63extern int cont(int pid); 64extern void check_sigio(void); 65extern void arch_check_bugs(void); 66extern int cpu_feature(char *what, char *buf, int len); 67extern int arch_handle_signal(int sig, union uml_pt_regs *regs); 68extern int arch_fixup(unsigned long address, void *sc_ptr); 69extern void arch_init_thread(void); 70extern int raw(int fd); 71 72#endif