summaryrefslogtreecommitdiffstats
path: root/c/src/librdbg/src/i386/any/remdeb_xdr.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--c/src/librdbg/src/i386/any/remdeb_xdr.c1713
1 files changed, 812 insertions, 901 deletions
diff --git a/c/src/librdbg/src/i386/any/remdeb_xdr.c b/c/src/librdbg/src/i386/any/remdeb_xdr.c
index b3d6cf7a02..721dfdc200 100644
--- a/c/src/librdbg/src/i386/any/remdeb_xdr.c
+++ b/c/src/librdbg/src/i386/any/remdeb_xdr.c
@@ -8,951 +8,862 @@
#define RTEMS_BACK_PORT 2073
bool_t
-xdr_rpc_type (XDR * xdrs, rpc_type * objp)
+xdr_rpc_type (XDR *xdrs, rpc_type *objp)
{
- register int32_t *buf;
+ register int32_t *buf;
- if (!xdr_enum (xdrs, (enum_t *) objp))
- return FALSE;
- return TRUE;
+ if (!xdr_enum (xdrs, (enum_t *) objp))
+ return FALSE;
+ return TRUE;
}
bool_t
-xdr_UDP_MSG (XDR * xdrs, UDP_MSG * objp)
+xdr_UDP_MSG (XDR *xdrs, UDP_MSG *objp)
{
- register int32_t *buf;
+ register int32_t *buf;
- if (!xdr_u_char (xdrs, &objp->type))
- return FALSE;
- if (!xdr_u_char (xdrs, &objp->msg_num))
- return FALSE;
- if (!xdr_u_short (xdrs, &objp->spec))
- return FALSE;
- if (!xdr_long (xdrs, &objp->pid))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->context))
- return FALSE;
- return TRUE;
+ if (!xdr_u_char (xdrs, &objp->type))
+ return FALSE;
+ if (!xdr_u_char (xdrs, &objp->msg_num))
+ return FALSE;
+ if (!xdr_u_short (xdrs, &objp->spec))
+ return FALSE;
+ if (!xdr_long (xdrs, &objp->pid))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->context))
+ return FALSE;
+ return TRUE;
}
-
/*
* Sun request values for the remote ptrace system call
*/
+
bool_t
-xdr_ptracereq (XDR * xdrs, ptracereq * objp)
+xdr_ptracereq (XDR *xdrs, ptracereq *objp)
{
- register int32_t *buf;
+ register int32_t *buf;
- if (!xdr_enum (xdrs, (enum_t *) objp))
- return FALSE;
- return TRUE;
+ if (!xdr_enum (xdrs, (enum_t *) objp))
+ return FALSE;
+ return TRUE;
}
bool_t
-xdr_xdr_regs (XDR * xdrs, xdr_regs * objp)
+xdr_xdr_regs (XDR *xdrs, xdr_regs *objp)
{
- register int32_t *buf;
+ register int32_t *buf;
- int i;
+ int i;
- if (xdrs->x_op == XDR_ENCODE) {
- buf = XDR_INLINE (xdrs, 19 * BYTES_PER_XDR_UNIT);
- if (buf == NULL) {
- if (!xdr_vector (xdrs, (char *) objp->tabreg, 19,
- sizeof (u_int), (xdrproc_t) xdr_u_int))
- return FALSE;
- } else {
- {
- register u_int *genp;
+ if (xdrs->x_op == XDR_ENCODE) {
+ buf = XDR_INLINE (xdrs, ( 19 ) * BYTES_PER_XDR_UNIT);
+ if (buf == NULL) {
+ if (!xdr_vector (xdrs, (char *)objp->tabreg, 19,
+ sizeof (u_int), (xdrproc_t) xdr_u_int))
+ return FALSE;
+ } else {
+ {
+ register u_int *genp;
- for (i = 0, genp = objp->tabreg; i < 19; ++i) {
- IXDR_PUT_U_LONG (buf, *genp++);
- }
- }
- }
- return TRUE;
- } else if (xdrs->x_op == XDR_DECODE) {
- buf = XDR_INLINE (xdrs, 19 * BYTES_PER_XDR_UNIT);
- if (buf == NULL) {
- if (!xdr_vector (xdrs, (char *) objp->tabreg, 19,
- sizeof (u_int), (xdrproc_t) xdr_u_int))
- return FALSE;
- } else {
- {
- register u_int *genp;
+ for (i = 0, genp = objp->tabreg;
+ i < 19; ++i) {
+ IXDR_PUT_U_LONG(buf, *genp++);
+ }
+ }
+ }
+ return TRUE;
+ } else if (xdrs->x_op == XDR_DECODE) {
+ buf = XDR_INLINE (xdrs, ( 19 ) * BYTES_PER_XDR_UNIT);
+ if (buf == NULL) {
+ if (!xdr_vector (xdrs, (char *)objp->tabreg, 19,
+ sizeof (u_int), (xdrproc_t) xdr_u_int))
+ return FALSE;
+ } else {
+ {
+ register u_int *genp;
- for (i = 0, genp = objp->tabreg; i < 19; ++i) {
- *genp++ = IXDR_GET_U_LONG (buf);
- }
- }
- }
- return TRUE;
- }
+ for (i = 0, genp = objp->tabreg;
+ i < 19; ++i) {
+ *genp++ = IXDR_GET_U_LONG(buf);
+ }
+ }
+ }
+ return TRUE;
+ }
- if (!xdr_vector (xdrs, (char *) objp->tabreg, 19,
- sizeof (u_int), (xdrproc_t) xdr_u_int))
- return FALSE;
- return TRUE;
+ if (!xdr_vector (xdrs, (char *)objp->tabreg, 19,
+ sizeof (u_int), (xdrproc_t) xdr_u_int))
+ return FALSE;
+ return TRUE;
}
-
- /*
+ /*
* Memory data for read/write text or data. The size is in data. The target
* addr is in the addr field.
* Be careful before modifying because this value goes into internal
* pipes and is allocated on stack too. Pipes and/or the stack could
* become too small if this value gets incremented.
*/
-bool_t
-xdr_xdr_mem (xdrs, objp)
- XDR *xdrs;
- struct xdr_mem *objp;
-{
- if (!xdr_u_long (xdrs, &objp->addr)) {
- return (FALSE);
- }
- if (!xdr_u_int (xdrs, &objp->dataNb)) {
- return (FALSE);
- }
- return (xdr_opaque (xdrs, objp->data, objp->dataNb));
-}
-
-bool_t
-xdr_break_type (XDR * xdrs, break_type * objp)
-{
- register int32_t *buf;
-
- if (!xdr_enum (xdrs, (enum_t *) objp))
- return FALSE;
- return TRUE;
-}
-
-bool_t
-xdr_xdr_break (XDR * xdrs, xdr_break * objp)
-{
- register int32_t *buf;
-
- int i;
-
- if (xdrs->x_op == XDR_ENCODE) {
- if (!xdr_u_char (xdrs, &objp->type))
- return FALSE;
- if (!xdr_u_char (xdrs, &objp->thread_spec))
- return FALSE;
- buf = XDR_INLINE (xdrs, 4 * BYTES_PER_XDR_UNIT);
- if (buf == NULL) {
- if (!xdr_u_short (xdrs, &objp->handle))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->ee_loc))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->ee_type))
- return FALSE;
- if (!xdr_u_short (xdrs, &objp->length))
- return FALSE;
-
- } else {
- IXDR_PUT_U_SHORT (buf, objp->handle);
- IXDR_PUT_U_LONG (buf, objp->ee_loc);
- IXDR_PUT_U_LONG (buf, objp->ee_type);
- IXDR_PUT_U_SHORT (buf, objp->length);
- }
- if (!xdr_u_char (xdrs, &objp->pass_count))
- return FALSE;
- if (!xdr_u_char (xdrs, &objp->curr_pass))
- return FALSE;
- buf = XDR_INLINE (xdrs, MAX_THRD_BRK * BYTES_PER_XDR_UNIT);
- if (buf == NULL) {
- if (!xdr_vector (xdrs, (char *) objp->thread_list, MAX_THRD_BRK,
- sizeof (u_long), (xdrproc_t) xdr_u_long))
- return FALSE;
- } else {
- {
- register u_long *genp;
-
- for (i = 0, genp = objp->thread_list; i < MAX_THRD_BRK; ++i) {
- IXDR_PUT_U_LONG (buf, *genp++);
- }
- }
- }
- return TRUE;
- } else if (xdrs->x_op == XDR_DECODE) {
- if (!xdr_u_char (xdrs, &objp->type))
- return FALSE;
- if (!xdr_u_char (xdrs, &objp->thread_spec))
- return FALSE;
- buf = XDR_INLINE (xdrs, 4 * BYTES_PER_XDR_UNIT);
- if (buf == NULL) {
- if (!xdr_u_short (xdrs, &objp->handle))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->ee_loc))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->ee_type))
- return FALSE;
- if (!xdr_u_short (xdrs, &objp->length))
- return FALSE;
-
- } else {
- objp->handle = IXDR_GET_U_SHORT (buf);
- objp->ee_loc = IXDR_GET_U_LONG (buf);
- objp->ee_type = IXDR_GET_U_LONG (buf);
- objp->length = IXDR_GET_U_SHORT (buf);
- }
- if (!xdr_u_char (xdrs, &objp->pass_count))
- return FALSE;
- if (!xdr_u_char (xdrs, &objp->curr_pass))
- return FALSE;
- buf = XDR_INLINE (xdrs, MAX_THRD_BRK * BYTES_PER_XDR_UNIT);
- if (buf == NULL) {
- if (!xdr_vector (xdrs, (char *) objp->thread_list, MAX_THRD_BRK,
- sizeof (u_long), (xdrproc_t) xdr_u_long))
- return FALSE;
- } else {
- {
- register u_long *genp;
-
- for (i = 0, genp = objp->thread_list; i < MAX_THRD_BRK; ++i) {
- *genp++ = IXDR_GET_U_LONG (buf);
- }
- }
- }
- return TRUE;
- }
-
- if (!xdr_u_char (xdrs, &objp->type))
- return FALSE;
- if (!xdr_u_char (xdrs, &objp->thread_spec))
- return FALSE;
- if (!xdr_u_short (xdrs, &objp->handle))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->ee_loc))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->ee_type))
- return FALSE;
- if (!xdr_u_short (xdrs, &objp->length))
- return FALSE;
- if (!xdr_u_char (xdrs, &objp->pass_count))
- return FALSE;
- if (!xdr_u_char (xdrs, &objp->curr_pass))
- return FALSE;
- if (!xdr_vector (xdrs, (char *) objp->thread_list, MAX_THRD_BRK,
- sizeof (u_long), (xdrproc_t) xdr_u_long))
- return FALSE;
- return TRUE;
-}
-
-bool_t
-xdr_thread_name (XDR * xdrs, thread_name * objp)
-{
- register int32_t *buf;
-
- if (!xdr_string (xdrs, objp, THREADNAMEMAX))
- return FALSE;
- return TRUE;
-}
-
-bool_t
-xdr_KernThread (XDR * xdrs, KernThread * objp)
-{
- register int32_t *buf;
-
- if (!xdr_u_int (xdrs, &objp->threadLi))
- return FALSE;
- return TRUE;
-}
-
-bool_t
-xdr_thread_list (xdrs, objp)
- XDR *xdrs;
- struct thread_list *objp;
-{
- return (xdr_array (xdrs, (char **) &objp->threads, &objp->nbThread,
- UTHREAD_MAX, sizeof (KernThread), xdr_KernThread));
-}
-
-bool_t
-xdr_ptrace_addr_data_in (XDR * xdrs, ptrace_addr_data_in * objp)
-{
- register int32_t *buf;
-
- if (!xdr_ptracereq (xdrs, &objp->req))
- return FALSE;
- switch (objp->req) {
- case RPT_SETTHREADREGS:
- if (!xdr_xdr_regs (xdrs, &objp->ptrace_addr_data_in_u.regs))
- return FALSE;
- break;
- case RPT_SETREGS:
- if (!xdr_xdr_regs (xdrs, &objp->ptrace_addr_data_in_u.regs))
- return FALSE;
- break;
- case RPT_PSETTHREADREGS:
- if (!xdr_array
- (xdrs, (char **) &objp->ptrace_addr_data_in_u.pregs.pregs_val,
- (u_int *) & objp->ptrace_addr_data_in_u.pregs.pregs_len, ~0,
- sizeof (u_int), (xdrproc_t) xdr_u_int))
- return FALSE;
- break;
- case RPT_PSETREGS:
- if (!xdr_array
- (xdrs, (char **) &objp->ptrace_addr_data_in_u.pregs.pregs_val,
- (u_int *) & objp->ptrace_addr_data_in_u.pregs.pregs_len, ~0,
- sizeof (u_int), (xdrproc_t) xdr_u_int))
- return FALSE;
- break;
- case RPT_SETTHREADNAME:
- if (!xdr_thread_name (xdrs, &objp->ptrace_addr_data_in_u.name))
- return FALSE;
- break;
- case RPT_WRITETEXT:
- if (!xdr_xdr_mem (xdrs, &objp->ptrace_addr_data_in_u.mem))
- return FALSE;
- break;
- case RPT_WRITEDATA:
- if (!xdr_xdr_mem (xdrs, &objp->ptrace_addr_data_in_u.mem))
- return FALSE;
- break;
- case RPT_SETBREAK:
- if (!xdr_xdr_break (xdrs, &objp->ptrace_addr_data_in_u.breakp))
- return FALSE;
- break;
- default:
- if (!xdr_u_int (xdrs, &objp->ptrace_addr_data_in_u.address))
- return FALSE;
- break;
- }
- return TRUE;
-}
-
-bool_t
-xdr_ptrace_addr_data_out (XDR * xdrs, ptrace_addr_data_out * objp)
-{
- register int32_t *buf;
-
- if (!xdr_ptracereq (xdrs, &objp->req))
- return FALSE;
- switch (objp->req) {
- case RPT_GETREGS:
- if (!xdr_xdr_regs (xdrs, &objp->ptrace_addr_data_out_u.regs))
- return FALSE;
- break;
- case RPT_GETTHREADREGS:
- if (!xdr_xdr_regs (xdrs, &objp->ptrace_addr_data_out_u.regs))
- return FALSE;
- break;
- case RPT_PGETREGS:
- if (!xdr_array
- (xdrs, (char **) &objp->ptrace_addr_data_out_u.pregs.pregs_val,
- (u_int *) & objp->ptrace_addr_data_out_u.pregs.pregs_len, ~0,
- sizeof (u_int), (xdrproc_t) xdr_u_int))
- return FALSE;
- break;
- case RPT_PGETTHREADREGS:
- if (!xdr_array
- (xdrs, (char **) &objp->ptrace_addr_data_out_u.pregs.pregs_val,
- (u_int *) & objp->ptrace_addr_data_out_u.pregs.pregs_len, ~0,
- sizeof (u_int), (xdrproc_t) xdr_u_int))
- return FALSE;
- break;
- case RPT_THREADLIST:
- if (!xdr_thread_list (xdrs, &objp->ptrace_addr_data_out_u.threads))
- return FALSE;
- break;
- case RPT_GETTHREADNAME:
- if (!xdr_thread_name (xdrs, &objp->ptrace_addr_data_out_u.name))
- return FALSE;
- break;
- case RPT_READTEXT:
- if (!xdr_xdr_mem (xdrs, &objp->ptrace_addr_data_out_u.mem))
- return FALSE;
- break;
- case RPT_GETNAME:
- if (!xdr_xdr_mem (xdrs, &objp->ptrace_addr_data_out_u.mem))
- return FALSE;
- break;
- case RPT_READDATA:
- if (!xdr_xdr_mem (xdrs, &objp->ptrace_addr_data_out_u.mem))
- return FALSE;
- break;
- case RPT_GETBREAK:
- if (!xdr_xdr_break (xdrs, &objp->ptrace_addr_data_out_u.breakp))
- return FALSE;
- break;
- default:
- if (!xdr_u_int (xdrs, &objp->ptrace_addr_data_out_u.addr))
- return FALSE;
- break;
- }
- return TRUE;
-}
-
-bool_t
-xdr_CHAR_DATA (XDR * xdrs, CHAR_DATA * objp)
-{
- register int32_t *buf;
-
- if (!xdr_bytes
- (xdrs, (char **) &objp->CHAR_DATA_val, (u_int *) & objp->CHAR_DATA_len,
- NET_SAFE))
- return FALSE;
- return TRUE;
-}
-
-#ifndef XRY_MAX_CMD_STR
-#endif /* REMDEB_H */
-
-bool_t
-xdr_xry_inst (XDR * xdrs, xry_inst * objp)
-{
- register int32_t *buf;
-
- if (!xdr_u_char (xdrs, &objp->flags))
- return FALSE;
- if (!xdr_u_char (xdrs, &objp->type))
- return FALSE;
- if (!xdr_u_char (xdrs, &objp->sub_type))
- return FALSE;
- if (!xdr_u_char (xdrs, &objp->res_type))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->value))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->value2))
- return FALSE;
- return TRUE;
-}
-
-bool_t
-xdr_instance (XDR * xdrs, instance * objp)
-{
- register int32_t *buf;
-
- int i;
- if (!xdr_vector (xdrs, (char *) objp->instances, XRY_MAX_INSTANCES,
- sizeof (xry_inst), (xdrproc_t) xdr_xry_inst))
- return FALSE;
- if (!xdr_vector (xdrs, (char *) objp->buffer, XRY_MAX_INST_BUFF,
- sizeof (u_char), (xdrproc_t) xdr_u_char))
- return FALSE;
- return TRUE;
-}
-
-bool_t
-xdr_instance_union (XDR * xdrs, instance_union * objp)
-{
- register int32_t *buf;
-
- if (!xdr_bool (xdrs, &objp->instances))
- return FALSE;
- switch (objp->instances) {
- case TRUE:
- if (!xdr_instance (xdrs, &objp->instance_union_u.inst))
- return FALSE;
- break;
- case FALSE:
- if (!xdr_string (xdrs, &objp->instance_union_u.buffer, XRY_MAX_CMD_STR))
- return FALSE;
- break;
- default:
- return FALSE;
- }
- return TRUE;
-}
-
-bool_t
-xdr_one_arg (XDR * xdrs, one_arg * objp)
-{
- register int32_t *buf;
-
- if (!xdr_string (xdrs, objp, NET_SAFE))
- return FALSE;
- return TRUE;
-}
-
- /*
- * now open_connex() routine which establishes a connection to server
- */
-
-bool_t
-xdr_debug_type (XDR * xdrs, debug_type * objp)
-{
- register int32_t *buf;
-
- if (!xdr_enum (xdrs, (enum_t *) objp))
- return FALSE;
- return TRUE;
-}
-
-#define DEBUGGER_IS_GDB 0x2 /* */
-
-bool_t
-xdr_open_in (XDR * xdrs, open_in * objp)
-{
- register int32_t *buf;
-
- int i;
- if (!xdr_vector (xdrs, (char *) objp->back_port, 16,
- sizeof (u_char), (xdrproc_t) xdr_u_char))
- return FALSE;
- if (!xdr_u_short (xdrs, &objp->debug_type))
- return FALSE;
- if (!xdr_u_short (xdrs, &objp->flags))
- return FALSE;
- if (!xdr_vector (xdrs, (char *) objp->destination, 16,
- sizeof (u_char), (xdrproc_t) xdr_u_char))
- return FALSE;
- if (!xdr_one_arg (xdrs, &objp->user_name))
- return FALSE;
- return TRUE;
-}
-
-bool_t
-xdr_open_out (XDR * xdrs, open_out * objp)
-{
- register int32_t *buf;
-
- int i;
-
- if (xdrs->x_op == XDR_ENCODE) {
- buf = XDR_INLINE (xdrs, (2 + (4)) * BYTES_PER_XDR_UNIT);
- if (buf == NULL) {
- if (!xdr_u_long (xdrs, &objp->port))
- return FALSE;
- if (!xdr_vector (xdrs, (char *) objp->pad, 4,
- sizeof (u_int), (xdrproc_t) xdr_u_int))
- return FALSE;
- if (!xdr_u_int (xdrs, &objp->fp))
- return FALSE;
-
- } else {
- IXDR_PUT_U_LONG (buf, objp->port);
- {
- register u_int *genp;
-
- for (i = 0, genp = objp->pad; i < 4; ++i) {
- IXDR_PUT_U_LONG (buf, *genp++);
- }
- }
- IXDR_PUT_U_LONG (buf, objp->fp);
- }
- if (!xdr_u_char (xdrs, &objp->cmd_table_num))
- return FALSE;
- if (!xdr_u_char (xdrs, &objp->cmd_table_vers))
- return FALSE;
- if (!xdr_u_short (xdrs, &objp->server_vers))
- return FALSE;
- return TRUE;
- } else if (xdrs->x_op == XDR_DECODE) {
- buf = XDR_INLINE (xdrs, (2 + (4)) * BYTES_PER_XDR_UNIT);
- if (buf == NULL) {
- if (!xdr_u_long (xdrs, &objp->port))
- return FALSE;
- if (!xdr_vector (xdrs, (char *) objp->pad, 4,
- sizeof (u_int), (xdrproc_t) xdr_u_int))
- return FALSE;
- if (!xdr_u_int (xdrs, &objp->fp))
- return FALSE;
-
- } else {
- objp->port = IXDR_GET_U_LONG (buf);
- {
- register u_int *genp;
-
- for (i = 0, genp = objp->pad; i < 4; ++i) {
- *genp++ = IXDR_GET_U_LONG (buf);
- }
- }
- objp->fp = IXDR_GET_U_LONG (buf);
- }
- if (!xdr_u_char (xdrs, &objp->cmd_table_num))
- return FALSE;
- if (!xdr_u_char (xdrs, &objp->cmd_table_vers))
- return FALSE;
- if (!xdr_u_short (xdrs, &objp->server_vers))
- return FALSE;
- return TRUE;
- }
-
- if (!xdr_u_long (xdrs, &objp->port))
- return FALSE;
- if (!xdr_vector (xdrs, (char *) objp->pad, 4,
- sizeof (u_int), (xdrproc_t) xdr_u_int))
- return FALSE;
- if (!xdr_u_int (xdrs, &objp->fp))
- return FALSE;
- if (!xdr_u_char (xdrs, &objp->cmd_table_num))
- return FALSE;
- if (!xdr_u_char (xdrs, &objp->cmd_table_vers))
- return FALSE;
- if (!xdr_u_short (xdrs, &objp->server_vers))
- return FALSE;
- return TRUE;
-}
-
- /*
- * now close_connex() routine which detaches from server
- */
-
-bool_t
-xdr_close_control (XDR * xdrs, close_control * objp)
-{
- register int32_t *buf;
-
- if (!xdr_enum (xdrs, (enum_t *) objp))
- return FALSE;
- return TRUE;
-}
-
-bool_t
-xdr_close_in (XDR * xdrs, close_in * objp)
-{
- register int32_t *buf;
-
- if (!xdr_close_control (xdrs, &objp->control))
- return FALSE;
- return TRUE;
-}
-
- /*
- * now send_signal() routine which sends signals to processes like kill(2)
- */
-
-bool_t
-xdr_signal_in (XDR * xdrs, signal_in * objp)
-{
- register int32_t *buf;
-
- if (!xdr_int (xdrs, &objp->pid))
- return FALSE;
- if (!xdr_int (xdrs, &objp->sig))
- return FALSE;
- return TRUE;
-}
-
-bool_t
-xdr_signal_out (XDR * xdrs, signal_out * objp)
-{
- register int32_t *buf;
-
- if (!xdr_int (xdrs, &objp->kill_return))
- return FALSE;
- if (!xdr_int (xdrs, &objp->errNo))
- return FALSE;
- return TRUE;
-}
-
- /*
- * now wait_info() routine which returns results of polling the wait status
- * of a process/actor. It may return 0 if running, else pid or -1
- */
-
-bool_t
-xdr_stop_code (XDR * xdrs, stop_code * objp)
-{
- register int32_t *buf;
-
- if (!xdr_enum (xdrs, (enum_t *) objp))
- return FALSE;
- return TRUE;
-}
-
-bool_t
-xdr_wait_in (XDR * xdrs, wait_in * objp)
-{
- register int32_t *buf;
-
- if (!xdr_int (xdrs, &objp->pid))
- return FALSE;
- return TRUE;
-}
-
-bool_t
-xdr_wait_out (XDR * xdrs, wait_out * objp)
-{
- register int32_t *buf;
-
- if (xdrs->x_op == XDR_ENCODE) {
- buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
- if (buf == NULL) {
- if (!xdr_int (xdrs, &objp->wait_return))
- return FALSE;
- if (!xdr_int (xdrs, &objp->errNo))
- return FALSE;
- if (!xdr_int (xdrs, &objp->status))
- return FALSE;
-
- } else {
- IXDR_PUT_LONG (buf, objp->wait_return);
- IXDR_PUT_LONG (buf, objp->errNo);
- IXDR_PUT_LONG (buf, objp->status);
- }
- if (!xdr_stop_code (xdrs, &objp->reason))
- return FALSE;
- buf = XDR_INLINE (xdrs, 5 * BYTES_PER_XDR_UNIT);
- if (buf == NULL) {
- if (!xdr_int (xdrs, &objp->handle))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->PC))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->SP))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->FP))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->thread))
- return FALSE;
- } else {
- IXDR_PUT_LONG (buf, objp->handle);
- IXDR_PUT_U_LONG (buf, objp->PC);
- IXDR_PUT_U_LONG (buf, objp->SP);
- IXDR_PUT_U_LONG (buf, objp->FP);
- IXDR_PUT_U_LONG (buf, objp->thread);
- }
- return TRUE;
- } else if (xdrs->x_op == XDR_DECODE) {
- buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
- if (buf == NULL) {
- if (!xdr_int (xdrs, &objp->wait_return))
- return FALSE;
- if (!xdr_int (xdrs, &objp->errNo))
- return FALSE;
- if (!xdr_int (xdrs, &objp->status))
- return FALSE;
-
- } else {
- objp->wait_return = IXDR_GET_LONG (buf);
- objp->errNo = IXDR_GET_LONG (buf);
- objp->status = IXDR_GET_LONG (buf);
- }
- if (!xdr_stop_code (xdrs, &objp->reason))
- return FALSE;
- buf = XDR_INLINE (xdrs, 5 * BYTES_PER_XDR_UNIT);
- if (buf == NULL) {
- if (!xdr_int (xdrs, &objp->handle))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->PC))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->SP))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->FP))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->thread))
- return FALSE;
- } else {
- objp->handle = IXDR_GET_LONG (buf);
- objp->PC = IXDR_GET_U_LONG (buf);
- objp->SP = IXDR_GET_U_LONG (buf);
- objp->FP = IXDR_GET_U_LONG (buf);
- objp->thread = IXDR_GET_U_LONG (buf);
- }
- return TRUE;
- }
-
- if (!xdr_int (xdrs, &objp->wait_return))
- return FALSE;
- if (!xdr_int (xdrs, &objp->errNo))
- return FALSE;
- if (!xdr_int (xdrs, &objp->status))
- return FALSE;
- if (!xdr_stop_code (xdrs, &objp->reason))
- return FALSE;
- if (!xdr_int (xdrs, &objp->handle))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->PC))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->SP))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->FP))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->thread))
- return FALSE;
- return TRUE;
-}
-
- /*
- * now ptrace() routine. This matches the Sun UNIX ptrace as well as
- * some additions
- */
-
-bool_t
-xdr_ptrace_in (XDR * xdrs, ptrace_in * objp)
-{
- register int32_t *buf;
-
- if (!xdr_int (xdrs, &objp->pid))
- return FALSE;
- if (!xdr_ptrace_addr_data_in (xdrs, &objp->addr))
- return FALSE;
- if (!xdr_u_int (xdrs, &objp->data))
- return FALSE;
- if (!xdr_u_int (xdrs, &objp->flags))
- return FALSE;
- return TRUE;
-}
-
-bool_t
-xdr_ptrace_out (XDR * xdrs, ptrace_out * objp)
-{
- register int32_t *buf;
-
- if (!xdr_ptrace_addr_data_out (xdrs, &objp->addr))
- return FALSE;
- if (!xdr_int (xdrs, &objp->result))
- return FALSE;
- if (!xdr_int (xdrs, &objp->errNo))
- return FALSE;
- return TRUE;
-}
+bool_t xdr_xdr_mem(xdrs, objp)
+ XDR *xdrs;
+ struct xdr_mem *objp;
+{
+ if (!xdr_u_long(xdrs, &objp->addr)) {
+ return (FALSE);
+ }
+ if (!xdr_u_int(xdrs, &objp->dataNb)) {
+ return(FALSE);
+ }
+ return (xdr_opaque(xdrs, objp->data, objp->dataNb));
+}
+
+bool_t
+xdr_break_type (XDR *xdrs, break_type *objp)
+{
+ register int32_t *buf;
+
+ if (!xdr_enum (xdrs, (enum_t *) objp))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+xdr_xdr_break (XDR *xdrs, xdr_break *objp)
+{
+ register int32_t *buf;
+
+ int i;
+
+ if (xdrs->x_op == XDR_ENCODE) {
+ if (!xdr_u_char (xdrs, &objp->type))
+ return FALSE;
+ if (!xdr_u_char (xdrs, &objp->thread_spec))
+ return FALSE;
+ buf = XDR_INLINE (xdrs, 4 * BYTES_PER_XDR_UNIT);
+ if (buf == NULL) {
+ if (!xdr_u_short (xdrs, &objp->handle))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->ee_loc))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->ee_type))
+ return FALSE;
+ if (!xdr_u_short (xdrs, &objp->length))
+ return FALSE;
+
+ } else {
+ IXDR_PUT_U_SHORT(buf, objp->handle);
+ IXDR_PUT_U_LONG(buf, objp->ee_loc);
+ IXDR_PUT_U_LONG(buf, objp->ee_type);
+ IXDR_PUT_U_SHORT(buf, objp->length);
+ }
+ if (!xdr_u_char (xdrs, &objp->pass_count))
+ return FALSE;
+ if (!xdr_u_char (xdrs, &objp->curr_pass))
+ return FALSE;
+ buf = XDR_INLINE (xdrs, ( MAX_THRD_BRK ) * BYTES_PER_XDR_UNIT);
+ if (buf == NULL) {
+ if (!xdr_vector (xdrs, (char *)objp->thread_list, MAX_THRD_BRK,
+ sizeof (u_long), (xdrproc_t) xdr_u_long))
+ return FALSE;
+ } else {
+ {
+ register u_long *genp;
+
+ for (i = 0, genp = objp->thread_list;
+ i < MAX_THRD_BRK; ++i) {
+ IXDR_PUT_U_LONG(buf, *genp++);
+ }
+ }
+ }
+ return TRUE;
+ } else if (xdrs->x_op == XDR_DECODE) {
+ if (!xdr_u_char (xdrs, &objp->type))
+ return FALSE;
+ if (!xdr_u_char (xdrs, &objp->thread_spec))
+ return FALSE;
+ buf = XDR_INLINE (xdrs, 4 * BYTES_PER_XDR_UNIT);
+ if (buf == NULL) {
+ if (!xdr_u_short (xdrs, &objp->handle))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->ee_loc))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->ee_type))
+ return FALSE;
+ if (!xdr_u_short (xdrs, &objp->length))
+ return FALSE;
+
+ } else {
+ objp->handle = IXDR_GET_U_SHORT(buf);
+ objp->ee_loc = IXDR_GET_U_LONG(buf);
+ objp->ee_type = IXDR_GET_U_LONG(buf);
+ objp->length = IXDR_GET_U_SHORT(buf);
+ }
+ if (!xdr_u_char (xdrs, &objp->pass_count))
+ return FALSE;
+ if (!xdr_u_char (xdrs, &objp->curr_pass))
+ return FALSE;
+ buf = XDR_INLINE (xdrs, ( MAX_THRD_BRK ) * BYTES_PER_XDR_UNIT);
+ if (buf == NULL) {
+ if (!xdr_vector (xdrs, (char *)objp->thread_list, MAX_THRD_BRK,
+ sizeof (u_long), (xdrproc_t) xdr_u_long))
+ return FALSE;
+ } else {
+ {
+ register u_long *genp;
+
+ for (i = 0, genp = objp->thread_list;
+ i < MAX_THRD_BRK; ++i) {
+ *genp++ = IXDR_GET_U_LONG(buf);
+ }
+ }
+ }
+ return TRUE;
+ }
+
+ if (!xdr_u_char (xdrs, &objp->type))
+ return FALSE;
+ if (!xdr_u_char (xdrs, &objp->thread_spec))
+ return FALSE;
+ if (!xdr_u_short (xdrs, &objp->handle))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->ee_loc))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->ee_type))
+ return FALSE;
+ if (!xdr_u_short (xdrs, &objp->length))
+ return FALSE;
+ if (!xdr_u_char (xdrs, &objp->pass_count))
+ return FALSE;
+ if (!xdr_u_char (xdrs, &objp->curr_pass))
+ return FALSE;
+ if (!xdr_vector (xdrs, (char *)objp->thread_list, MAX_THRD_BRK,
+ sizeof (u_long), (xdrproc_t) xdr_u_long))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+xdr_thread_name (XDR *xdrs, thread_name *objp)
+{
+ register int32_t *buf;
+
+ if (!xdr_string (xdrs, objp, THREADNAMEMAX))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+xdr_KernThread (XDR *xdrs, KernThread *objp)
+{
+ register int32_t *buf;
+
+ if (!xdr_u_int (xdrs, &objp->threadLi))
+ return FALSE;
+ return TRUE;
+}
+bool_t xdr_thread_list(xdrs, objp)
+ XDR *xdrs;
+ struct thread_list *objp;
+{
+ return (xdr_array(xdrs, (char**)&objp->threads, &objp->nbThread,
+ UTHREAD_MAX, sizeof(KernThread), xdr_KernThread));
+}
+
+bool_t
+xdr_ptrace_addr_data_in (XDR *xdrs, ptrace_addr_data_in *objp)
+{
+ register int32_t *buf;
+
+ if (!xdr_ptracereq (xdrs, &objp->req))
+ return FALSE;
+ switch (objp->req) {
+ case RPT_SETTHREADREGS:
+ if (!xdr_xdr_regs (xdrs, &objp->ptrace_addr_data_in_u.regs))
+ return FALSE;
+ break;
+ case RPT_SETREGS:
+ if (!xdr_xdr_regs (xdrs, &objp->ptrace_addr_data_in_u.regs))
+ return FALSE;
+ break;
+ case RPT_PSETTHREADREGS:
+ if (!xdr_array (xdrs, (char **)&objp->ptrace_addr_data_in_u.pregs.pregs_val, (u_int *) &objp->ptrace_addr_data_in_u.pregs.pregs_len, ~0,
+ sizeof (u_int), (xdrproc_t) xdr_u_int))
+ return FALSE;
+ break;
+ case RPT_PSETREGS:
+ if (!xdr_array (xdrs, (char **)&objp->ptrace_addr_data_in_u.pregs.pregs_val, (u_int *) &objp->ptrace_addr_data_in_u.pregs.pregs_len, ~0,
+ sizeof (u_int), (xdrproc_t) xdr_u_int))
+ return FALSE;
+ break;
+ case RPT_SETTHREADNAME:
+ if (!xdr_thread_name (xdrs, &objp->ptrace_addr_data_in_u.name))
+ return FALSE;
+ break;
+ case RPT_WRITETEXT:
+ if (!xdr_xdr_mem (xdrs, &objp->ptrace_addr_data_in_u.mem))
+ return FALSE;
+ break;
+ case RPT_WRITEDATA:
+ if (!xdr_xdr_mem (xdrs, &objp->ptrace_addr_data_in_u.mem))
+ return FALSE;
+ break;
+ case RPT_SETBREAK:
+ if (!xdr_xdr_break (xdrs, &objp->ptrace_addr_data_in_u.breakp))
+ return FALSE;
+ break;
+ default:
+ if (!xdr_u_int (xdrs, &objp->ptrace_addr_data_in_u.address))
+ return FALSE;
+ break;
+ }
+ return TRUE;
+}
+
+bool_t
+xdr_ptrace_addr_data_out (XDR *xdrs, ptrace_addr_data_out *objp)
+{
+ register int32_t *buf;
+
+ if (!xdr_ptracereq (xdrs, &objp->req))
+ return FALSE;
+ switch (objp->req) {
+ case RPT_GETREGS:
+ if (!xdr_xdr_regs (xdrs, &objp->ptrace_addr_data_out_u.regs))
+ return FALSE;
+ break;
+ case RPT_GETTHREADREGS:
+ if (!xdr_xdr_regs (xdrs, &objp->ptrace_addr_data_out_u.regs))
+ return FALSE;
+ break;
+ case RPT_PGETREGS:
+ if (!xdr_array (xdrs, (char **)&objp->ptrace_addr_data_out_u.pregs.pregs_val, (u_int *) &objp->ptrace_addr_data_out_u.pregs.pregs_len, ~0,
+ sizeof (u_int), (xdrproc_t) xdr_u_int))
+ return FALSE;
+ break;
+ case RPT_PGETTHREADREGS:
+ if (!xdr_array (xdrs, (char **)&objp->ptrace_addr_data_out_u.pregs.pregs_val, (u_int *) &objp->ptrace_addr_data_out_u.pregs.pregs_len, ~0,
+ sizeof (u_int), (xdrproc_t) xdr_u_int))
+ return FALSE;
+ break;
+ case RPT_THREADLIST:
+ if (!xdr_thread_list (xdrs, &objp->ptrace_addr_data_out_u.threads))
+ return FALSE;
+ break;
+ case RPT_GETTHREADNAME:
+ if (!xdr_thread_name (xdrs, &objp->ptrace_addr_data_out_u.name))
+ return FALSE;
+ break;
+ case RPT_READTEXT:
+ if (!xdr_xdr_mem (xdrs, &objp->ptrace_addr_data_out_u.mem))
+ return FALSE;
+ break;
+ case RPT_GETNAME:
+ if (!xdr_xdr_mem (xdrs, &objp->ptrace_addr_data_out_u.mem))
+ return FALSE;
+ break;
+ case RPT_READDATA:
+ if (!xdr_xdr_mem (xdrs, &objp->ptrace_addr_data_out_u.mem))
+ return FALSE;
+ break;
+ case RPT_GETBREAK:
+ if (!xdr_xdr_break (xdrs, &objp->ptrace_addr_data_out_u.breakp))
+ return FALSE;
+ break;
+ default:
+ if (!xdr_u_int (xdrs, &objp->ptrace_addr_data_out_u.addr))
+ return FALSE;
+ break;
+ }
+ return TRUE;
+}
+
+bool_t
+xdr_CHAR_DATA (XDR *xdrs, CHAR_DATA *objp)
+{
+ register int32_t *buf;
+
+ if (!xdr_bytes (xdrs, (char **)&objp->CHAR_DATA_val, (u_int *) &objp->CHAR_DATA_len, NET_SAFE))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+xdr_one_arg (XDR *xdrs, one_arg *objp)
+{
+ register int32_t *buf;
+
+ if (!xdr_string (xdrs, objp, NET_SAFE))
+ return FALSE;
+ return TRUE;
+}
+ /* now open_connex() routine which establishes a connection to server */
+
+bool_t
+xdr_debug_type (XDR *xdrs, debug_type *objp)
+{
+ register int32_t *buf;
+
+ if (!xdr_enum (xdrs, (enum_t *) objp))
+ return FALSE;
+ return TRUE;
+}
+#define DEBUGGER_IS_GDB 0x2 /* */
+
+bool_t
+xdr_open_in (XDR *xdrs, open_in *objp)
+{
+ register int32_t *buf;
+
+ int i;
+ if (!xdr_vector (xdrs, (char *)objp->back_port, 16,
+ sizeof (u_char), (xdrproc_t) xdr_u_char))
+ return FALSE;
+ if (!xdr_u_short (xdrs, &objp->debug_type))
+ return FALSE;
+ if (!xdr_u_short (xdrs, &objp->flags))
+ return FALSE;
+ if (!xdr_vector (xdrs, (char *)objp->destination, 16,
+ sizeof (u_char), (xdrproc_t) xdr_u_char))
+ return FALSE;
+ if (!xdr_one_arg (xdrs, &objp->user_name))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+xdr_open_out (XDR *xdrs, open_out *objp)
+{
+ register int32_t *buf;
+
+ int i;
+
+ if (xdrs->x_op == XDR_ENCODE) {
+ buf = XDR_INLINE (xdrs, (2 + ( 4 )) * BYTES_PER_XDR_UNIT);
+ if (buf == NULL) {
+ if (!xdr_u_long (xdrs, &objp->port))
+ return FALSE;
+ if (!xdr_vector (xdrs, (char *)objp->pad, 4,
+ sizeof (u_int), (xdrproc_t) xdr_u_int))
+ return FALSE;
+ if (!xdr_u_int (xdrs, &objp->fp))
+ return FALSE;
+
+ } else {
+ IXDR_PUT_U_LONG(buf, objp->port);
+ {
+ register u_int *genp;
-bool_t
-xdr_one_symbol (XDR * xdrs, one_symbol * objp)
-{
- register int32_t *buf;
+ for (i = 0, genp = objp->pad;
+ i < 4; ++i) {
+ IXDR_PUT_U_LONG(buf, *genp++);
+ }
+ }
+ IXDR_PUT_U_LONG(buf, objp->fp);
+ }
+ if (!xdr_u_char (xdrs, &objp->cmd_table_num))
+ return FALSE;
+ if (!xdr_u_char (xdrs, &objp->cmd_table_vers))
+ return FALSE;
+ if (!xdr_u_short (xdrs, &objp->server_vers))
+ return FALSE;
+ return TRUE;
+ } else if (xdrs->x_op == XDR_DECODE) {
+ buf = XDR_INLINE (xdrs, (2 + ( 4 )) * BYTES_PER_XDR_UNIT);
+ if (buf == NULL) {
+ if (!xdr_u_long (xdrs, &objp->port))
+ return FALSE;
+ if (!xdr_vector (xdrs, (char *)objp->pad, 4,
+ sizeof (u_int), (xdrproc_t) xdr_u_int))
+ return FALSE;
+ if (!xdr_u_int (xdrs, &objp->fp))
+ return FALSE;
- if (!xdr_string (xdrs, &objp->symbolName, ~0))
- return FALSE;
- if (!xdr_long (xdrs, &objp->symbolValue))
- return FALSE;
- return TRUE;
-}
+ } else {
+ objp->port = IXDR_GET_U_LONG(buf);
+ {
+ register u_int *genp;
-bool_t
-xdr_all_symbols (XDR * xdrs, all_symbols * objp)
-{
- register int32_t *buf;
+ for (i = 0, genp = objp->pad;
+ i < 4; ++i) {
+ *genp++ = IXDR_GET_U_LONG(buf);
+ }
+ }
+ objp->fp = IXDR_GET_U_LONG(buf);
+ }
+ if (!xdr_u_char (xdrs, &objp->cmd_table_num))
+ return FALSE;
+ if (!xdr_u_char (xdrs, &objp->cmd_table_vers))
+ return FALSE;
+ if (!xdr_u_short (xdrs, &objp->server_vers))
+ return FALSE;
+ return TRUE;
+ }
- if (!xdr_array
- (xdrs, (char **) &objp->all_symbols_val,
- (u_int *) & objp->all_symbols_len, ~0, sizeof (one_symbol),
- (xdrproc_t) xdr_one_symbol))
- return FALSE;
- return TRUE;
+ if (!xdr_u_long (xdrs, &objp->port))
+ return FALSE;
+ if (!xdr_vector (xdrs, (char *)objp->pad, 4,
+ sizeof (u_int), (xdrproc_t) xdr_u_int))
+ return FALSE;
+ if (!xdr_u_int (xdrs, &objp->fp))
+ return FALSE;
+ if (!xdr_u_char (xdrs, &objp->cmd_table_num))
+ return FALSE;
+ if (!xdr_u_char (xdrs, &objp->cmd_table_vers))
+ return FALSE;
+ if (!xdr_u_short (xdrs, &objp->server_vers))
+ return FALSE;
+ return TRUE;
+}
+ /* now close_connex() routine which detaches from server */
+
+bool_t
+xdr_close_control (XDR *xdrs, close_control *objp)
+{
+ register int32_t *buf;
+
+ if (!xdr_enum (xdrs, (enum_t *) objp))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+xdr_close_in (XDR *xdrs, close_in *objp)
+{
+ register int32_t *buf;
+
+ if (!xdr_close_control (xdrs, &objp->control))
+ return FALSE;
+ return TRUE;
+}
+ /* now send_signal() routine which sends signals to processes like kill(2) */
+
+bool_t
+xdr_signal_in (XDR *xdrs, signal_in *objp)
+{
+ register int32_t *buf;
+
+ if (!xdr_int (xdrs, &objp->pid))
+ return FALSE;
+ if (!xdr_int (xdrs, &objp->sig))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+xdr_signal_out (XDR *xdrs, signal_out *objp)
+{
+ register int32_t *buf;
+
+ if (!xdr_int (xdrs, &objp->kill_return))
+ return FALSE;
+ if (!xdr_int (xdrs, &objp->errNo))
+ return FALSE;
+ return TRUE;
+}
+ /* now wait_info() routine which returns results of polling the wait status
+ of a process/actor. It may return 0 if running, else pid or -1 */
+
+bool_t
+xdr_stop_code (XDR *xdrs, stop_code *objp)
+{
+ register int32_t *buf;
+
+ if (!xdr_enum (xdrs, (enum_t *) objp))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+xdr_wait_in (XDR *xdrs, wait_in *objp)
+{
+ register int32_t *buf;
+
+ if (!xdr_int (xdrs, &objp->pid))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+xdr_wait_out (XDR *xdrs, wait_out *objp)
+{
+ register int32_t *buf;
+
+
+ if (xdrs->x_op == XDR_ENCODE) {
+ buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
+ if (buf == NULL) {
+ if (!xdr_int (xdrs, &objp->wait_return))
+ return FALSE;
+ if (!xdr_int (xdrs, &objp->errNo))
+ return FALSE;
+ if (!xdr_int (xdrs, &objp->status))
+ return FALSE;
+
+ } else {
+ IXDR_PUT_LONG(buf, objp->wait_return);
+ IXDR_PUT_LONG(buf, objp->errNo);
+ IXDR_PUT_LONG(buf, objp->status);
+ }
+ if (!xdr_stop_code (xdrs, &objp->reason))
+ return FALSE;
+ buf = XDR_INLINE (xdrs, 5 * BYTES_PER_XDR_UNIT);
+ if (buf == NULL) {
+ if (!xdr_int (xdrs, &objp->handle))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->PC))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->SP))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->FP))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->thread))
+ return FALSE;
+ } else {
+ IXDR_PUT_LONG(buf, objp->handle);
+ IXDR_PUT_U_LONG(buf, objp->PC);
+ IXDR_PUT_U_LONG(buf, objp->SP);
+ IXDR_PUT_U_LONG(buf, objp->FP);
+ IXDR_PUT_U_LONG(buf, objp->thread);
+ }
+ return TRUE;
+ } else if (xdrs->x_op == XDR_DECODE) {
+ buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
+ if (buf == NULL) {
+ if (!xdr_int (xdrs, &objp->wait_return))
+ return FALSE;
+ if (!xdr_int (xdrs, &objp->errNo))
+ return FALSE;
+ if (!xdr_int (xdrs, &objp->status))
+ return FALSE;
+
+ } else {
+ objp->wait_return = IXDR_GET_LONG(buf);
+ objp->errNo = IXDR_GET_LONG(buf);
+ objp->status = IXDR_GET_LONG(buf);
+ }
+ if (!xdr_stop_code (xdrs, &objp->reason))
+ return FALSE;
+ buf = XDR_INLINE (xdrs, 5 * BYTES_PER_XDR_UNIT);
+ if (buf == NULL) {
+ if (!xdr_int (xdrs, &objp->handle))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->PC))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->SP))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->FP))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->thread))
+ return FALSE;
+ } else {
+ objp->handle = IXDR_GET_LONG(buf);
+ objp->PC = IXDR_GET_U_LONG(buf);
+ objp->SP = IXDR_GET_U_LONG(buf);
+ objp->FP = IXDR_GET_U_LONG(buf);
+ objp->thread = IXDR_GET_U_LONG(buf);
+ }
+ return TRUE;
+ }
+
+ if (!xdr_int (xdrs, &objp->wait_return))
+ return FALSE;
+ if (!xdr_int (xdrs, &objp->errNo))
+ return FALSE;
+ if (!xdr_int (xdrs, &objp->status))
+ return FALSE;
+ if (!xdr_stop_code (xdrs, &objp->reason))
+ return FALSE;
+ if (!xdr_int (xdrs, &objp->handle))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->PC))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->SP))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->FP))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->thread))
+ return FALSE;
+ return TRUE;
+}
+ /* now ptrace() routine. This matches the Sun UNIX ptrace as well as
+ some additions */
+
+bool_t
+xdr_ptrace_in (XDR *xdrs, ptrace_in *objp)
+{
+ register int32_t *buf;
+
+ if (!xdr_int (xdrs, &objp->pid))
+ return FALSE;
+ if (!xdr_ptrace_addr_data_in (xdrs, &objp->addr))
+ return FALSE;
+ if (!xdr_u_int (xdrs, &objp->data))
+ return FALSE;
+ if (!xdr_u_int (xdrs, &objp->flags))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+xdr_ptrace_out (XDR *xdrs, ptrace_out *objp)
+{
+ register int32_t *buf;
+
+ if (!xdr_ptrace_addr_data_out (xdrs, &objp->addr))
+ return FALSE;
+ if (!xdr_int (xdrs, &objp->result))
+ return FALSE;
+ if (!xdr_int (xdrs, &objp->errNo))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+xdr_one_symbol (XDR *xdrs, one_symbol *objp)
+{
+ register int32_t *buf;
+
+ if (!xdr_string (xdrs, &objp->symbolName, ~0))
+ return FALSE;
+ if (!xdr_long (xdrs, &objp->symbolValue))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+xdr_all_symbols (XDR *xdrs, all_symbols *objp)
+{
+ register int32_t *buf;
+
+ if (!xdr_array (xdrs, (char **)&objp->all_symbols_val, (u_int *) &objp->all_symbols_len, ~0,
+ sizeof (one_symbol), (xdrproc_t) xdr_one_symbol))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+xdr_get_global_symbols_out (XDR *xdrs, get_global_symbols_out *objp)
+{
+ register int32_t *buf;
+
+ if (!xdr_all_symbols (xdrs, &objp->symbols))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+xdr_get_text_data_in (XDR *xdrs, get_text_data_in *objp)
+{
+ register int32_t *buf;
+
+ if (!xdr_int (xdrs, &objp->pid))
+ return FALSE;
+ if (!xdr_string (xdrs, &objp->actorName, 16))
+ return FALSE;
+ return TRUE;
}
bool_t
-xdr_get_global_symbols_out (XDR * xdrs, get_global_symbols_out * objp)
+xdr_get_text_data_out (XDR *xdrs, get_text_data_out *objp)
{
- register int32_t *buf;
+ register int32_t *buf;
- if (!xdr_all_symbols (xdrs, &objp->symbols))
- return FALSE;
- return TRUE;
-}
-bool_t
-xdr_get_text_data_in (XDR * xdrs, get_text_data_in * objp)
-{
- register int32_t *buf;
+ if (xdrs->x_op == XDR_ENCODE) {
+ buf = XDR_INLINE (xdrs, 6 * BYTES_PER_XDR_UNIT);
+ if (buf == NULL) {
+ if (!xdr_int (xdrs, &objp->result))
+ return FALSE;
+ if (!xdr_int (xdrs, &objp->errNo))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->textStart))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->textSize))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->dataStart))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->dataSize))
+ return FALSE;
+ } else {
+ IXDR_PUT_LONG(buf, objp->result);
+ IXDR_PUT_LONG(buf, objp->errNo);
+ IXDR_PUT_U_LONG(buf, objp->textStart);
+ IXDR_PUT_U_LONG(buf, objp->textSize);
+ IXDR_PUT_U_LONG(buf, objp->dataStart);
+ IXDR_PUT_U_LONG(buf, objp->dataSize);
+ }
+ return TRUE;
+ } else if (xdrs->x_op == XDR_DECODE) {
+ buf = XDR_INLINE (xdrs, 6 * BYTES_PER_XDR_UNIT);
+ if (buf == NULL) {
+ if (!xdr_int (xdrs, &objp->result))
+ return FALSE;
+ if (!xdr_int (xdrs, &objp->errNo))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->textStart))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->textSize))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->dataStart))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->dataSize))
+ return FALSE;
+ } else {
+ objp->result = IXDR_GET_LONG(buf);
+ objp->errNo = IXDR_GET_LONG(buf);
+ objp->textStart = IXDR_GET_U_LONG(buf);
+ objp->textSize = IXDR_GET_U_LONG(buf);
+ objp->dataStart = IXDR_GET_U_LONG(buf);
+ objp->dataSize = IXDR_GET_U_LONG(buf);
+ }
+ return TRUE;
+ }
- if (!xdr_int (xdrs, &objp->pid))
- return FALSE;
- if (!xdr_string (xdrs, &objp->actorName, 16))
- return FALSE;
- return TRUE;
+ if (!xdr_int (xdrs, &objp->result))
+ return FALSE;
+ if (!xdr_int (xdrs, &objp->errNo))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->textStart))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->textSize))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->dataStart))
+ return FALSE;
+ if (!xdr_u_long (xdrs, &objp->dataSize))
+ return FALSE;
+ return TRUE;
}
bool_t
-xdr_get_text_data_out (XDR * xdrs, get_text_data_out * objp)
-{
- register int32_t *buf;
-
- if (xdrs->x_op == XDR_ENCODE) {
- buf = XDR_INLINE (xdrs, 6 * BYTES_PER_XDR_UNIT);
- if (buf == NULL) {
- if (!xdr_int (xdrs, &objp->result))
- return FALSE;
- if (!xdr_int (xdrs, &objp->errNo))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->textStart))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->textSize))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->dataStart))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->dataSize))
- return FALSE;
- } else {
- IXDR_PUT_LONG (buf, objp->result);
- IXDR_PUT_LONG (buf, objp->errNo);
- IXDR_PUT_U_LONG (buf, objp->textStart);
- IXDR_PUT_U_LONG (buf, objp->textSize);
- IXDR_PUT_U_LONG (buf, objp->dataStart);
- IXDR_PUT_U_LONG (buf, objp->dataSize);
- }
- return TRUE;
- } else if (xdrs->x_op == XDR_DECODE) {
- buf = XDR_INLINE (xdrs, 6 * BYTES_PER_XDR_UNIT);
- if (buf == NULL) {
- if (!xdr_int (xdrs, &objp->result))
- return FALSE;
- if (!xdr_int (xdrs, &objp->errNo))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->textStart))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->textSize))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->dataStart))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->dataSize))
- return FALSE;
- } else {
- objp->result = IXDR_GET_LONG (buf);
- objp->errNo = IXDR_GET_LONG (buf);
- objp->textStart = IXDR_GET_U_LONG (buf);
- objp->textSize = IXDR_GET_U_LONG (buf);
- objp->dataStart = IXDR_GET_U_LONG (buf);
- objp->dataSize = IXDR_GET_U_LONG (buf);
- }
- return TRUE;
- }
-
- if (!xdr_int (xdrs, &objp->result))
- return FALSE;
- if (!xdr_int (xdrs, &objp->errNo))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->textStart))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->textSize))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->dataStart))
- return FALSE;
- if (!xdr_u_long (xdrs, &objp->dataSize))
- return FALSE;
- return TRUE;
-}
-
-bool_t
-xdr_one_signal (XDR * xdrs, one_signal * objp)
+xdr_one_signal (XDR *xdrs, one_signal *objp)
{
- register int32_t *buf;
+ register int32_t *buf;
- if (!xdr_u_int (xdrs, &objp->number))
- return FALSE;
- if (!xdr_string (xdrs, &objp->name, ~0))
- return FALSE;
- return TRUE;
-}
-
-bool_t
-xdr_all_signals (XDR * xdrs, all_signals * objp)
-{
- register int32_t *buf;
-
- if (!xdr_array
- (xdrs, (char **) &objp->all_signals_val,
- (u_int *) & objp->all_signals_len, ~0, sizeof (one_signal),
- (xdrproc_t) xdr_one_signal))
- return FALSE;
- return TRUE;
-}
-
-bool_t
-xdr_get_signal_names_out (XDR * xdrs, get_signal_names_out * objp)
-{
- register int32_t *buf;
-
- if (!xdr_all_signals (xdrs, &objp->signals))
- return FALSE;
- return TRUE;
-}
-
- /*
- * now define the actual calls we support
- */
+ if (!xdr_u_int (xdrs, &objp->number))
+ return FALSE;
+ if (!xdr_string (xdrs, &objp->name, ~0))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+xdr_all_signals (XDR *xdrs, all_signals *objp)
+{
+ register int32_t *buf;
+
+ if (!xdr_array (xdrs, (char **)&objp->all_signals_val, (u_int *) &objp->all_signals_len, ~0,
+ sizeof (one_signal), (xdrproc_t) xdr_one_signal))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+xdr_get_signal_names_out (XDR *xdrs, get_signal_names_out *objp)
+{
+ register int32_t *buf;
+
+ if (!xdr_all_signals (xdrs, &objp->signals))
+ return FALSE;
+ return TRUE;
+}
+ /* now define the actual calls we support */