* dwarf2read.c: Add comment describing memory lifetimes.
[deliverable/binutils-gdb.git] / gdb / vx-share / xdr_rdb.c
CommitLineData
c906108c
SS
1/* xdr_rdb.c - xdr routines for Remote Debug interface to VxWorks */
2
b6ba6518 3/* Copyright 1992, 1993 Free Software Foundation, Inc.
c906108c
SS
4
5 This code was donated by Wind River Systems, Inc. */
6
7/*
8modification history
9--------------------
1001a,21mar90,llk created using modification 01d of xdr_dbx.c.
11*/
12
13/*
14DESCRIPTION
15This module contains the eXternal Data Representation (XDR) routines
16for the RDB interface for VxWorks.
17*/
18
19#include "defs.h"
20#include "vxWorks.h"
21#include <rpc/rpc.h>
22#include "xdr_rdb.h"
23
24/* forward declarations */
25
26bool_t
27xdr_arg_type(xdrs, objp)
28 XDR *xdrs;
29 arg_type *objp;
30{
31 if (!xdr_enum(xdrs, (enum_t *)objp)) {
32 return (FALSE);
33 }
34 return (TRUE);
35}
36
37bool_t
38xdr_arg_value(xdrs, objp)
39 XDR *xdrs;
40 arg_value *objp;
41{
42 if (!xdr_arg_type(xdrs, &objp->type)) {
43 return (FALSE);
44 }
45 switch (objp->type) {
46 case T_BYTE:
47 if (!xdr_char(xdrs, &objp->arg_value_u.v_byte)) {
48 return (FALSE);
49 }
50 break;
51 case T_WORD:
52 if (!xdr_short(xdrs, &objp->arg_value_u.v_word)) {
53 return (FALSE);
54 }
55 break;
56 case T_INT:
57 if (!xdr_int(xdrs, &objp->arg_value_u.v_int)) {
58 return (FALSE);
59 }
60 break;
61 case T_FLOAT:
62 if (!xdr_float(xdrs, &objp->arg_value_u.v_fp)) {
63 return (FALSE);
64 }
65 break;
66 case T_DOUBLE:
67 if (!xdr_double(xdrs, &objp->arg_value_u.v_dp)) {
68 return (FALSE);
69 }
70 break;
71 case T_UNKNOWN:
72 break;
73 }
74 return (TRUE);
75}
76
77bool_t
78xdr_func_call(xdrs, objp)
79 XDR *xdrs;
80 func_call *objp;
81{
82 if (!xdr_int(xdrs, &objp->func_addr)) {
83 return (FALSE);
84 }
85 if (!xdr_array(xdrs, (char **)&objp->args.args_val, (u_int *)&objp->args.args_len, MAX_FUNC_ARGS, sizeof(arg_value), xdr_arg_value)) {
86 return (FALSE);
87 }
88 return (TRUE);
89}
90
91bool_t
92xdr_arg_one(xdrs, objp)
93 XDR *xdrs;
94 arg_one *objp;
95{
96 if (!xdr_string(xdrs, objp, MAX_ARG_LEN)) {
97 return (FALSE);
98 }
99 return (TRUE);
100}
101
102
103
104
105bool_t
106xdr_arg_array(xdrs, objp)
107 XDR *xdrs;
108 arg_array *objp;
109{
110 if (!xdr_array(xdrs, (char **)&objp->arg_array_val, (u_int *)&objp->arg_array_len, MAX_ARG_CNT, sizeof(arg_one), xdr_arg_one)) {
111 return (FALSE);
112 }
113 return (TRUE);
114}
115
116/*********************************************************************
117*
118* xdr_EVENT_TYPE -
119*
120*/
121
122bool_t xdr_EVENT_TYPE(xdrs, objp)
123 XDR *xdrs;
124 EVENT_TYPE *objp;
125
126 {
127 if (!xdr_enum (xdrs, (enum_t *) objp))
128 return (FALSE);
129 return (TRUE);
130 }
131
132/*********************************************************************
133*
134* xdr_RDB_EVENT -
135*
136*/
137
138bool_t xdr_RDB_EVENT (xdrs, objp)
139 XDR *xdrs;
140 RDB_EVENT *objp;
141
142 {
143 if (!xdr_int (xdrs, &objp->status))
144 return (FALSE);
145 if (!xdr_int (xdrs, &objp->taskId))
146 return (FALSE);
147 if (!xdr_EVENT_TYPE (xdrs, &objp->eventType))
148 return (FALSE);
149 if (!xdr_int (xdrs, &objp->sigType))
150 return (FALSE);
151 return (TRUE);
152 }
153
154/*********************************************************************
155*
156* xdr_TASK_START -
157*
158*/
159
160bool_t
161xdr_TASK_START (xdrs, objp)
162 XDR *xdrs;
163 TASK_START *objp;
164
165 {
166 if (!xdr_int (xdrs, &objp->status))
167 return (FALSE);
168 if (!xdr_int (xdrs, &objp->pid))
169 return (FALSE);
170 return (TRUE);
171 }
172
173
174/*********************************************************************
175*
176* xdr_SYMBOL_ADDR -
177*
178*/
179
180bool_t
181xdr_SYMBOL_ADDR (xdrs, objp)
182 XDR *xdrs;
183 SYMBOL_ADDR *objp;
184
185 {
186 if (!xdr_int (xdrs, &objp->status))
187 return (FALSE);
188 if (!xdr_u_int (xdrs, &objp->addr))
189 return (FALSE);
190 return (TRUE);
191 }
192
193/*********************************************************************
194*
195* xdr_SOURCE_STEP -
196*
197*/
198
199bool_t
200xdr_SOURCE_STEP (xdrs, objp)
201 XDR *xdrs;
202 SOURCE_STEP *objp;
203
204 {
205 if (!xdr_int (xdrs, &objp->taskId))
206 return (FALSE);
207 if (!xdr_u_int (xdrs, &objp->startAddr))
208 return (FALSE);
209 if (!xdr_u_int (xdrs, &objp->endAddr))
210 return (FALSE);
211 return (TRUE);
212 }
This page took 0.409373 seconds and 4 git commands to generate.