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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [gdb-5.0/] [gdb/] [vx-share/] [xdr_ptrace.c] - Diff between revs 107 and 1765

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 107 Rev 1765
/* xdr_ptrace.c  - xdr routines for remote ptrace calls */
/* xdr_ptrace.c  - xdr routines for remote ptrace calls */
 
 
/*  Copyright 1984, 1985, 1986, 1987, 1988, 1989, 1992 Free Software Foundation, Inc.
/*  Copyright 1984, 1985, 1986, 1987, 1988, 1989, 1992 Free Software Foundation, Inc.
 
 
    This code was donated by Wind River Systems, Inc. */
    This code was donated by Wind River Systems, Inc. */
 
 
/*
/*
modification history
modification history
--------------------
--------------------
01b,25may91,maf  now uses counted bytes struct to transfer registers.
01b,25may91,maf  now uses counted bytes struct to transfer registers.
                 removed xdr_regs_ptr (), xdr_fp_status_ptr (), and
                 removed xdr_regs_ptr (), xdr_fp_status_ptr (), and
                   xdr_fpa_regs_ptr ().
                   xdr_fpa_regs_ptr ().
01a,05jun90,llk  extracted from xdr_ptrace.h, version 01c.
01a,05jun90,llk  extracted from xdr_ptrace.h, version 01c.
*/
*/
 
 
#include "defs.h"
#include "defs.h"
#include "vxWorks.h"
#include "vxWorks.h"
#include <rpc/rpc.h>
#include <rpc/rpc.h>
#include "xdr_ptrace.h"
#include "xdr_ptrace.h"
 
 
#define MAX_LEN 32000
#define MAX_LEN 32000
 
 
/********************************************************************
/********************************************************************
*
*
* xdr_c_bytes -
* xdr_c_bytes -
*
*
* xdr routine for counted bytes
* xdr routine for counted bytes
*
*
*/
*/
bool_t xdr_c_bytes(xdrs,objp)
bool_t xdr_c_bytes(xdrs,objp)
    XDR *xdrs;
    XDR *xdrs;
    C_bytes *objp;
    C_bytes *objp;
    {
    {
    return(xdr_bytes(xdrs, &objp->bytes, (u_int *) &objp->len, MAX_LEN));
    return(xdr_bytes(xdrs, &objp->bytes, (u_int *) &objp->len, MAX_LEN));
    } /* xdr_c_bytes */
    } /* xdr_c_bytes */
 
 
/********************************************************************
/********************************************************************
*
*
* xdr_c_bytes_ptr -
* xdr_c_bytes_ptr -
*
*
* xdr routine for counted bytes branch of ptrace_info
* xdr routine for counted bytes branch of ptrace_info
*
*
*/
*/
 
 
LOCAL bool_t xdr_c_bytes_ptr(xdrs,objp)
LOCAL bool_t xdr_c_bytes_ptr(xdrs,objp)
    XDR *xdrs;
    XDR *xdrs;
    C_bytes **objp;
    C_bytes **objp;
    {
    {
    return(xdr_pointer(xdrs, (char **) objp, sizeof(C_bytes), xdr_c_bytes));
    return(xdr_pointer(xdrs, (char **) objp, sizeof(C_bytes), xdr_c_bytes));
    } /* xdr_c_bytes_ptr */
    } /* xdr_c_bytes_ptr */
 
 
/********************************************************************
/********************************************************************
*
*
* xdr_ptrace_info -
* xdr_ptrace_info -
*
*
* xdr routine for discriminated union ptrace_info
* xdr routine for discriminated union ptrace_info
*
*
*/
*/
 
 
bool_t xdr_ptrace_info(xdrs,objp)
bool_t xdr_ptrace_info(xdrs,objp)
    XDR *xdrs;
    XDR *xdrs;
    Ptrace_info *objp;
    Ptrace_info *objp;
    {
    {
    static struct xdr_discrim choices[] =
    static struct xdr_discrim choices[] =
        {
        {
            { (int) DATA, xdr_c_bytes_ptr },
            { (int) DATA, xdr_c_bytes_ptr },
            { __dontcare__, NULL }
            { __dontcare__, NULL }
        };
        };
 
 
    return(xdr_union(xdrs, (enum_t *) &objp->ttype,
    return(xdr_union(xdrs, (enum_t *) &objp->ttype,
        (char *) &objp->more_data, choices, xdr_void));
        (char *) &objp->more_data, choices, xdr_void));
    } /* xdr_ptrace_info */
    } /* xdr_ptrace_info */
 
 
/********************************************************************
/********************************************************************
*
*
* xdr_rptrace -
* xdr_rptrace -
*
*
* xdr routine for remote ptrace data into server
* xdr routine for remote ptrace data into server
*
*
*/
*/
 
 
bool_t xdr_rptrace(xdrs,objp)
bool_t xdr_rptrace(xdrs,objp)
    XDR *xdrs;
    XDR *xdrs;
    Rptrace *objp;
    Rptrace *objp;
    {
    {
    if (! xdr_int(xdrs, &objp->pid))
    if (! xdr_int(xdrs, &objp->pid))
        return(FALSE);
        return(FALSE);
    if (! xdr_int(xdrs, &objp->data))
    if (! xdr_int(xdrs, &objp->data))
        return(FALSE);
        return(FALSE);
    if (! xdr_int(xdrs, &objp->addr))
    if (! xdr_int(xdrs, &objp->addr))
        return(FALSE);
        return(FALSE);
    if (! xdr_ptrace_info(xdrs, &objp->info))
    if (! xdr_ptrace_info(xdrs, &objp->info))
        return(FALSE);
        return(FALSE);
 
 
    return(TRUE);
    return(TRUE);
    } /* xdr_rptrace */
    } /* xdr_rptrace */
 
 
/********************************************************************
/********************************************************************
*
*
* xdr_ptrace_return -
* xdr_ptrace_return -
*
*
* xdr routine for remote ptrace data returned by server
* xdr routine for remote ptrace data returned by server
*
*
*/
*/
 
 
bool_t xdr_ptrace_return(xdrs, objp)
bool_t xdr_ptrace_return(xdrs, objp)
    XDR *xdrs;
    XDR *xdrs;
    Ptrace_return *objp;
    Ptrace_return *objp;
    {
    {
    if (! xdr_int(xdrs, &objp->status))
    if (! xdr_int(xdrs, &objp->status))
        return(FALSE);
        return(FALSE);
    if (! xdr_int(xdrs, &objp->errno_num))
    if (! xdr_int(xdrs, &objp->errno_num))
        return(FALSE);
        return(FALSE);
    if (! xdr_ptrace_info(xdrs, &objp->info))
    if (! xdr_ptrace_info(xdrs, &objp->info))
        return(FALSE);
        return(FALSE);
 
 
    return(TRUE);
    return(TRUE);
    } /* xdr_ptrace_return */
    } /* xdr_ptrace_return */
 
 

powered by: WebSVN 2.1.0

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