| /* xdr_ptrace.h - xdr header for remote ptrace structures */ |
| |
| /* Copyright 1992, 1998 Free Software Foundation, Inc. |
| |
| This code was donated by Wind River Systems, Inc. */ |
| |
| /* |
| modification history |
| -------------------- |
| 01b,25may91,maf now uses counted bytes struct to transfer registers; |
| removed references to old xdr_regs functions. |
| removed includes of "xdr_regs.h" and "reg.h". |
| 01a,05jun90,llk extracted from xdr_ptrace.h. |
| */ |
| |
| |
| /* |
| * Counted byte structure used by READ/WRITE TEXT/DATA |
| * and GET/SET REGS/FPREGS |
| */ |
| struct c_bytes { |
| u_int len; |
| caddr_t bytes; |
| }; |
| typedef struct c_bytes C_bytes; |
| |
| /* |
| * enum for discriminated union ptrace_info |
| */ |
| enum ptype { |
| NOINFO = 0, /* no additional infomation */ |
| DATA = 1 /* c_bytes */ |
| }; |
| typedef enum ptype ptype; |
| |
| /* |
| * discrimnated union for passing additional data to be |
| * written to the debugged process. |
| */ |
| struct ptrace_info { |
| ptype ttype; |
| caddr_t more_data; |
| }; |
| typedef struct ptrace_info Ptrace_info; |
| |
| /* |
| * structure passed to server on all remote ptrace calls |
| */ |
| struct rptrace { |
| int pid; |
| int data; |
| int addr; /* FIX! this really should be caddr_t or something */ |
| Ptrace_info info; |
| }; |
| typedef struct rptrace Rptrace; |
| |
| /* |
| * structure returned by server on all remote ptrace calls |
| */ |
| /* This used to have a field called errno, but that fails on hosts which |
| define errno to be a macro, so it was changed to errno_num. */ |
| struct ptrace_return { |
| int status; |
| int errno_num; |
| Ptrace_info info; |
| }; |
| typedef struct ptrace_return Ptrace_return; |
| |
| bool_t xdr_c_bytes(); |
| bool_t xdr_ptrace_info(); |
| bool_t xdr_rptrace(); |
| bool_t xdr_ptrace_return(); |