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/* 8modification history 9-------------------- 1001b,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". 1301a,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 */ 21struct c_bytes { 22 u_int len; 23 caddr_t bytes; 24}; 25typedef struct c_bytes C_bytes; 26 27/* 28 * enum for discriminated union ptrace_info 29 */ 30enum ptype { 31 NOINFO = 0, /* no additional infomation */ 32 DATA = 1 /* c_bytes */ 33}; 34typedef enum ptype ptype; 35 36/* 37 * discrimnated union for passing additional data to be 38 * written to the debugged process. 39 */ 40struct ptrace_info { 41 ptype ttype; 42 caddr_t more_data; 43}; 44typedef struct ptrace_info Ptrace_info; 45 46/* 47 * structure passed to server on all remote ptrace calls 48 */ 49struct rptrace { 50 int pid; 51 int data; 52 int addr; /* FIX! this really should be caddr_t or something */ 53 Ptrace_info info; 54}; 55typedef 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. */ 62struct ptrace_return { 63 int status; 64 int errno_num; 65 Ptrace_info info; 66}; 67typedef struct ptrace_return Ptrace_return; 68 69bool_t xdr_c_bytes(); 70bool_t xdr_ptrace_info(); 71bool_t xdr_rptrace(); 72bool_t xdr_ptrace_return(); 73