OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [insight/] [gdb/] [vx-share/] [xdr_ptrace.c] - Blame information for rev 1765

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.