📄 xdr_ptrace.c
字号:
/* xdr_ptrace.c - xdr routines for remote ptrace calls */ /* Copyright 1984, 1985, 1986, 1987, 1988, 1989, 1991, 1992, 1993, 1998 Free Software Foundation, Inc. This code was donated by Wind River Systems, Inc. *//*modification history--------------------01b,25may91,maf now uses counted bytes struct to transfer registers. removed xdr_regs_ptr (), xdr_fp_status_ptr (), and xdr_fpa_regs_ptr ().01a,05jun90,llk extracted from xdr_ptrace.h, version 01c.*/#include "defs.h"#include "vxWorks.h"#include <rpc/rpc.h>#include "xdr_ptrace.h"#define MAX_LEN 32000/********************************************************************** xdr_c_bytes -** xdr routine for counted bytes **/bool_t xdr_c_bytes(xdrs,objp) XDR *xdrs; C_bytes *objp; { return(xdr_bytes(xdrs, &objp->bytes, (u_int *) &objp->len, MAX_LEN)); } /* xdr_c_bytes *//********************************************************************** xdr_c_bytes_ptr -** xdr routine for counted bytes branch of ptrace_info**/LOCAL bool_t xdr_c_bytes_ptr(xdrs,objp) XDR *xdrs; C_bytes **objp; { return(xdr_pointer(xdrs, (char **) objp, sizeof(C_bytes), xdr_c_bytes)); } /* xdr_c_bytes_ptr *//********************************************************************** xdr_ptrace_info -** xdr routine for discriminated union ptrace_info**/bool_t xdr_ptrace_info(xdrs,objp) XDR *xdrs; Ptrace_info *objp; { static struct xdr_discrim choices[] = { { (int) DATA, xdr_c_bytes_ptr }, { __dontcare__, NULL } }; return(xdr_union(xdrs, (enum_t *) &objp->ttype, (char *) &objp->more_data, choices, xdr_void)); } /* xdr_ptrace_info *//********************************************************************** xdr_rptrace - ** xdr routine for remote ptrace data into server**/bool_t xdr_rptrace(xdrs,objp) XDR *xdrs; Rptrace *objp; { if (! xdr_int(xdrs, &objp->pid)) return(FALSE); if (! xdr_int(xdrs, &objp->data)) return(FALSE); if (! xdr_int(xdrs, &objp->addr)) return(FALSE); if (! xdr_ptrace_info(xdrs, &objp->info)) return(FALSE); return(TRUE); } /* xdr_rptrace *//********************************************************************** xdr_ptrace_return - ** xdr routine for remote ptrace data returned by server**/bool_t xdr_ptrace_return(xdrs, objp) XDR *xdrs; Ptrace_return *objp; { if (! xdr_int(xdrs, &objp->status)) return(FALSE); if (! xdr_int(xdrs, &objp->errno_num)) return(FALSE); if (! xdr_ptrace_info(xdrs, &objp->info)) return(FALSE); return(TRUE); } /* xdr_ptrace_return */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -