1 /* xdr_ptrace.c - xdr routines for remote ptrace calls */
3 /* Copyright 1984,1985,1986,1987,1988,1989 Wind River Systems, Inc. */
4 /* extern char copyright_wind_river[]; static char *copyright=copyright_wind_river;*/
9 01b,25may91,maf now uses counted bytes struct to transfer registers.
10 removed xdr_regs_ptr (), xdr_fp_status_ptr (), and
12 01a,05jun90,llk extracted from xdr_ptrace.h, version 01c.
17 #include "xdr_ptrace.h"
21 /********************************************************************
25 * xdr routine for counted bytes
28 bool_t
xdr_c_bytes(xdrs
,objp
)
32 return(xdr_bytes(xdrs
, &objp
->bytes
, (u_int
*) &objp
->len
, MAX_LEN
));
35 /********************************************************************
39 * xdr routine for counted bytes branch of ptrace_info
43 LOCAL bool_t
xdr_c_bytes_ptr(xdrs
,objp
)
47 return(xdr_pointer(xdrs
, (char **) objp
, sizeof(C_bytes
), xdr_c_bytes
));
48 } /* xdr_c_bytes_ptr */
50 /********************************************************************
54 * xdr routine for discriminated union ptrace_info
58 bool_t
xdr_ptrace_info(xdrs
,objp
)
62 static struct xdr_discrim choices
[] =
64 { (int) DATA
, xdr_c_bytes_ptr
},
65 { __dontcare__
, NULL
}
68 return(xdr_union(xdrs
, (enum_t
*) &objp
->ttype
,
69 (char *) &objp
->more_data
, choices
, xdr_void
));
70 } /* xdr_ptrace_info */
72 /********************************************************************
76 * xdr routine for remote ptrace data into server
80 bool_t
xdr_rptrace(xdrs
,objp
)
84 if (! xdr_int(xdrs
, &objp
->pid
))
86 if (! xdr_int(xdrs
, &objp
->data
))
88 if (! xdr_int(xdrs
, &objp
->addr
))
90 if (! xdr_ptrace_info(xdrs
, &objp
->info
))
96 /********************************************************************
100 * xdr routine for remote ptrace data returned by server
104 bool_t
xdr_ptrace_return(xdrs
, objp
)
108 if (! xdr_int(xdrs
, &objp
->status
))
110 if (! xdr_int(xdrs
, &objp
->errno
))
112 if (! xdr_ptrace_info(xdrs
, &objp
->info
))
116 } /* xdr_ptrace_return */
This page took 0.030911 seconds and 4 git commands to generate.