Commit | Line | Data |
---|---|---|
dd3b648e RP |
1 | /* xdr_ptrace.h - xdr header for remote ptrace structures */ |
2 | ||
3 | /* | |
4 | modification history | |
5 | -------------------- | |
8616205a SG |
6 | 01b,25may91,maf now uses counted bytes struct to transfer registers; |
7 | removed references to old xdr_regs functions. | |
8 | removed includes of "xdr_regs.h" and "reg.h". | |
dd3b648e RP |
9 | 01a,05jun90,llk extracted from xdr_ptrace.h. |
10 | */ | |
11 | ||
12 | ||
dd3b648e RP |
13 | /* |
14 | * Counted byte structure used by READ/WRITE TEXT/DATA | |
8616205a | 15 | * and GET/SET REGS/FPREGS |
dd3b648e RP |
16 | */ |
17 | struct c_bytes { | |
18 | u_int len; | |
19 | caddr_t bytes; | |
20 | }; | |
21 | typedef struct c_bytes C_bytes; | |
22 | ||
23 | /* | |
24 | * enum for discriminated union ptrace_info | |
25 | */ | |
26 | enum ptype { | |
27 | NOINFO = 0, /* no additional infomation */ | |
8616205a | 28 | DATA = 1 /* c_bytes */ |
dd3b648e RP |
29 | }; |
30 | typedef enum ptype ptype; | |
31 | ||
32 | /* | |
33 | * discrimnated union for passing additional data to be | |
8616205a | 34 | * written to the debugged process. |
dd3b648e RP |
35 | */ |
36 | struct ptrace_info { | |
37 | ptype ttype; | |
38 | caddr_t more_data; | |
39 | }; | |
40 | typedef struct ptrace_info Ptrace_info; | |
41 | ||
42 | /* | |
43 | * structure passed to server on all remote ptrace calls | |
44 | */ | |
45 | struct rptrace { | |
46 | int pid; | |
47 | int data; | |
48 | int addr; /* FIX! this really should be caddr_t or something */ | |
49 | Ptrace_info info; | |
50 | }; | |
51 | typedef struct rptrace Rptrace; | |
8616205a | 52 | |
dd3b648e RP |
53 | /* |
54 | * structure returned by server on all remote ptrace calls | |
55 | */ | |
56 | struct ptrace_return { | |
57 | int status; | |
58 | int errno; | |
59 | Ptrace_info info; | |
60 | }; | |
61 | typedef struct ptrace_return Ptrace_return; | |
62 | ||
63 | bool_t xdr_c_bytes(); | |
64 | bool_t xdr_ptrace_info(); | |
65 | bool_t xdr_rptrace(); | |
66 | bool_t xdr_ptrace_return(); |