| Juan Cespedes | 1afec69 | 1997-08-23 21:31:46 +0200 | [diff] [blame] | 1 | #ifndef _LTRACE_PROCESS_H |
| 2 | #define _LTRACE_PROCESS_H |
| 3 | |
| 4 | /* not ready yet */ |
| 5 | #if 0 |
| 6 | struct symbols_from_filename { |
| 7 | char * filename; |
| 8 | struct library_symbol * list_of_symbols; |
| 9 | } |
| 10 | |
| 11 | struct library_symbol { |
| 12 | char * name; |
| 13 | unsigned long addr; |
| 14 | unsigned long return_addr; |
| 15 | unsigned char old_value[BREAKPOINT_LENGTH]; |
| 16 | struct library_symbol * next; |
| 17 | }; |
| Juan Cespedes | 1afec69 | 1997-08-23 21:31:46 +0200 | [diff] [blame] | 18 | #endif |
| 19 | |
| Juan Cespedes | ef04ba4 | 1997-08-22 21:55:45 +0200 | [diff] [blame] | 20 | struct process { |
| Juan Cespedes | 3268a16 | 1997-08-25 16:45:22 +0200 | [diff] [blame] | 21 | char * filename; /* from execve() (TODO) */ |
| Juan Cespedes | ef04ba4 | 1997-08-22 21:55:45 +0200 | [diff] [blame] | 22 | int pid; |
| Juan Cespedes | 3268a16 | 1997-08-25 16:45:22 +0200 | [diff] [blame] | 23 | int breakpoints_enabled; |
| 24 | int syscall_number; /* outside syscall => -1 */ |
| Juan Cespedes | ef04ba4 | 1997-08-22 21:55:45 +0200 | [diff] [blame] | 25 | struct process * next; |
| 26 | }; |
| 27 | |
| 28 | extern struct process * list_of_processes; |
| 29 | |
| Juan Cespedes | 5e4455b | 1997-08-24 01:48:26 +0200 | [diff] [blame] | 30 | unsigned int instruction_pointer; |
| 31 | |
| Juan Cespedes | 1afec69 | 1997-08-23 21:31:46 +0200 | [diff] [blame] | 32 | int execute_process(const char * file, char * const argv[]); |
| Juan Cespedes | 3268a16 | 1997-08-25 16:45:22 +0200 | [diff] [blame] | 33 | void wait_for_child(void); |
| Juan Cespedes | 1afec69 | 1997-08-23 21:31:46 +0200 | [diff] [blame] | 34 | |
| 35 | #endif |