* symtab.c, dbxread.c, stabsread.c: Fix up ANSI-C isms. Fix
[deliverable/binutils-gdb.git] / gdb / vx-share / xdr_ptrace.c
CommitLineData
dd3b648e
RP
1/* xdr_ptrace.c - xdr routines for remote ptrace calls */
2
17eff8c1
SG
3/* Copyright 1984, 1985, 1986, 1987, 1988, 1989, 1992 Free Software Foundation, Inc.
4
5 This code was donated by Wind River Systems, Inc. */
dd3b648e
RP
6
7/*
8modification history
9--------------------
8616205a
SG
1001b,25may91,maf now uses counted bytes struct to transfer registers.
11 removed xdr_regs_ptr (), xdr_fp_status_ptr (), and
12 xdr_fpa_regs_ptr ().
dd3b648e
RP
1301a,05jun90,llk extracted from xdr_ptrace.h, version 01c.
14*/
15
e829d983 16#include "defs.h"
aa942355 17#include "vxWorks.h"
dd3b648e 18#include <rpc/rpc.h>
aa942355 19#include "xdr_ptrace.h"
dd3b648e
RP
20
21#define MAX_LEN 32000
22
23/********************************************************************
24*
8616205a 25* xdr_c_bytes -
dd3b648e 26*
8616205a 27* xdr routine for counted bytes
dd3b648e
RP
28*
29*/
8616205a 30bool_t xdr_c_bytes(xdrs,objp)
dd3b648e 31 XDR *xdrs;
8616205a 32 C_bytes *objp;
dd3b648e 33 {
8616205a
SG
34 return(xdr_bytes(xdrs, &objp->bytes, (u_int *) &objp->len, MAX_LEN));
35 } /* xdr_c_bytes */
dd3b648e
RP
36
37/********************************************************************
38*
39* xdr_c_bytes_ptr -
40*
41* xdr routine for counted bytes branch of ptrace_info
42*
43*/
44
45LOCAL bool_t xdr_c_bytes_ptr(xdrs,objp)
46 XDR *xdrs;
47 C_bytes **objp;
48 {
49 return(xdr_pointer(xdrs, (char **) objp, sizeof(C_bytes), xdr_c_bytes));
50 } /* xdr_c_bytes_ptr */
51
52/********************************************************************
53*
54* xdr_ptrace_info -
55*
56* xdr routine for discriminated union ptrace_info
57*
58*/
59
60bool_t xdr_ptrace_info(xdrs,objp)
61 XDR *xdrs;
62 Ptrace_info *objp;
63 {
64 static struct xdr_discrim choices[] =
65 {
dd3b648e
RP
66 { (int) DATA, xdr_c_bytes_ptr },
67 { __dontcare__, NULL }
68 };
69
70 return(xdr_union(xdrs, (enum_t *) &objp->ttype,
71 (char *) &objp->more_data, choices, xdr_void));
72 } /* xdr_ptrace_info */
73
74/********************************************************************
75*
76* xdr_rptrace -
77*
78* xdr routine for remote ptrace data into server
79*
80*/
81
82bool_t xdr_rptrace(xdrs,objp)
83 XDR *xdrs;
84 Rptrace *objp;
85 {
86 if (! xdr_int(xdrs, &objp->pid))
87 return(FALSE);
88 if (! xdr_int(xdrs, &objp->data))
89 return(FALSE);
90 if (! xdr_int(xdrs, &objp->addr))
91 return(FALSE);
92 if (! xdr_ptrace_info(xdrs, &objp->info))
93 return(FALSE);
94
95 return(TRUE);
96 } /* xdr_rptrace */
97
98/********************************************************************
99*
100* xdr_ptrace_return -
101*
102* xdr routine for remote ptrace data returned by server
103*
104*/
105
106bool_t xdr_ptrace_return(xdrs, objp)
107 XDR *xdrs;
108 Ptrace_return *objp;
109 {
110 if (! xdr_int(xdrs, &objp->status))
111 return(FALSE);
112 if (! xdr_int(xdrs, &objp->errno))
113 return(FALSE);
114 if (! xdr_ptrace_info(xdrs, &objp->info))
115 return(FALSE);
116
117 return(TRUE);
118 } /* xdr_ptrace_return */
This page took 0.347316 seconds and 4 git commands to generate.