Imported Upstream version 0.5.3
[platform/upstream/ltrace.git] / sysdeps / README
1 Each operating system must have a subdir here, with a Makefile
2 The first target of that Makefile must build a file "sysdep.o" in this
3 directory.
4 The "clean" target of that Makefile must undo all the efects of the
5 first target, and must remove "sysdep.o" in this dir.
6
7 Files "sysdep.h", "signalent.h" and "syscallent.h" must be present
8 inside the directory after invoking the first target of the Makefile.
9
10 -----------
11 "sysdep.o" must export the following functions:
12
13 Event * next_event(void);
14 void continue_after_breakpoint(Process * proc, Breakpoint * sbp, int delete_it);
15 void continue_after_signal(pid_t pid, int signum);
16 void continue_enabling_breakpoint(pid_t pid, Breakpoint * sbp);
17 void continue_process(pid_t pid);
18 void enable_breakpoint(pid_t pid, Breakpoint * sbp);
19 void disable_breakpoint(pid_t pid, Breakpoint * sbp);
20 int fork_p(int sysnum);
21 int exec_p(int sysnum);
22 int syscall_p(Process * proc, int status, int * sysnum);
23 void * get_instruction_pointer(pid_t pid);
24 void * get_stack_pointer(pid_t pid);
25 void * get_return_addr(pid_t pid, void * stack_pointer);
26 long gimme_arg(enum tof type, Process * proc, arg_type_info*);
27 int umovestr(Process * proc, void * addr, int len, void * laddr);
28 int umovelong(Process * proc, void * addr, long * result);
29 char * pid2name(pid_t pid);
30 void trace_me(void);
31 int trace_pid(pid_t pid);
32 void untrace_pid(pid_t pid);