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