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