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