1991-03-28 16:28:29 +00:00
|
|
|
/* xdr_ptrace.h - xdr header for remote ptrace structures */
|
|
|
|
|
1992-10-23 10:15:18 +00:00
|
|
|
/* Copyright 1992 Free Software Foundation, Inc.
|
|
|
|
|
|
|
|
This code was donated by Wind River Systems, Inc. */
|
|
|
|
|
1991-03-28 16:28:29 +00:00
|
|
|
/*
|
|
|
|
modification history
|
|
|
|
--------------------
|
1992-04-14 21:34:01 +00:00
|
|
|
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".
|
1991-03-28 16:28:29 +00:00
|
|
|
01a,05jun90,llk extracted from xdr_ptrace.h.
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Counted byte structure used by READ/WRITE TEXT/DATA
|
1992-04-14 21:34:01 +00:00
|
|
|
* and GET/SET REGS/FPREGS
|
1991-03-28 16:28:29 +00:00
|
|
|
*/
|
|
|
|
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 */
|
1992-04-14 21:34:01 +00:00
|
|
|
DATA = 1 /* c_bytes */
|
1991-03-28 16:28:29 +00:00
|
|
|
};
|
|
|
|
typedef enum ptype ptype;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* discrimnated union for passing additional data to be
|
1992-04-14 21:34:01 +00:00
|
|
|
* written to the debugged process.
|
1991-03-28 16:28:29 +00:00
|
|
|
*/
|
|
|
|
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;
|
1992-04-14 21:34:01 +00:00
|
|
|
|
1991-03-28 16:28:29 +00:00
|
|
|
/*
|
|
|
|
* structure returned by server on all remote ptrace calls
|
|
|
|
*/
|
1998-11-06 03:02:44 +00:00
|
|
|
/* 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. */
|
1991-03-28 16:28:29 +00:00
|
|
|
struct ptrace_return {
|
|
|
|
int status;
|
1998-11-06 03:02:44 +00:00
|
|
|
int errno_num;
|
1991-03-28 16:28:29 +00:00
|
|
|
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();
|