⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xdr_rdb.c

📁 这个是LINUX下的GDB调度工具的源码
💻 C
字号:
/* xdr_rdb.c  - xdr routines for Remote Debug interface to VxWorks  *//* Copyright 1992, 1993 Free Software Foundation, Inc.   This code was donated by Wind River Systems, Inc. *//*modification history--------------------01a,21mar90,llk  created using modification 01d of xdr_dbx.c.*//*DESCRIPTIONThis module contains the eXternal Data Representation (XDR) routinesfor the RDB interface for VxWorks.*/#include "defs.h"#include "vxWorks.h"#include <rpc/rpc.h>#include "xdr_rdb.h"/* forward declarations */bool_txdr_arg_type(xdrs, objp)        XDR *xdrs;        arg_type *objp;{        if (!xdr_enum(xdrs, (enum_t *)objp)) {                return (FALSE);        }        return (TRUE);}bool_txdr_arg_value(xdrs, objp)        XDR *xdrs;        arg_value *objp;{        if (!xdr_arg_type(xdrs, &objp->type)) {                return (FALSE);        }        switch (objp->type) {        case T_BYTE:                if (!xdr_char(xdrs, &objp->arg_value_u.v_byte)) {                        return (FALSE);                }                break;        case T_WORD:                if (!xdr_short(xdrs, &objp->arg_value_u.v_word)) {                        return (FALSE);                }                break;        case T_INT:                if (!xdr_int(xdrs, &objp->arg_value_u.v_int)) {                        return (FALSE);                }                break;        case T_FLOAT:                if (!xdr_float(xdrs, &objp->arg_value_u.v_fp)) {                        return (FALSE);                }                break;        case T_DOUBLE:                if (!xdr_double(xdrs, &objp->arg_value_u.v_dp)) {                        return (FALSE);                }                break;        case T_UNKNOWN:                break;        }        return (TRUE);}bool_txdr_func_call(xdrs, objp)        XDR *xdrs;        func_call *objp;{        if (!xdr_int(xdrs, &objp->func_addr)) {                return (FALSE);        }        if (!xdr_array(xdrs, (char **)&objp->args.args_val, (u_int *)&objp->args.args_len, MAX_FUNC_ARGS, sizeof(arg_value), xdr_arg_value)) {                return (FALSE);        }        return (TRUE);}bool_txdr_arg_one(xdrs, objp)        XDR *xdrs;        arg_one *objp;{        if (!xdr_string(xdrs, objp, MAX_ARG_LEN)) {                return (FALSE);        }        return (TRUE);}bool_txdr_arg_array(xdrs, objp)        XDR *xdrs;        arg_array *objp;{        if (!xdr_array(xdrs, (char **)&objp->arg_array_val, (u_int *)&objp->arg_array_len, MAX_ARG_CNT, sizeof(arg_one), xdr_arg_one)) {                return (FALSE);        }        return (TRUE);}/*********************************************************************** xdr_EVENT_TYPE -**/bool_t xdr_EVENT_TYPE(xdrs, objp)    XDR *xdrs;    EVENT_TYPE *objp;    {    if (!xdr_enum (xdrs, (enum_t *) objp))	return (FALSE);    return (TRUE);    }/*********************************************************************** xdr_RDB_EVENT -**/bool_t xdr_RDB_EVENT (xdrs, objp)    XDR *xdrs;    RDB_EVENT *objp;    {    if (!xdr_int (xdrs, &objp->status))	return (FALSE);    if (!xdr_int (xdrs, &objp->taskId))	return (FALSE);    if (!xdr_EVENT_TYPE (xdrs, &objp->eventType))	return (FALSE);    if (!xdr_int (xdrs, &objp->sigType))	return (FALSE);    return (TRUE);    }        /*********************************************************************** xdr_TASK_START -**/bool_txdr_TASK_START (xdrs, objp)    XDR *xdrs;    TASK_START *objp;    {    if (!xdr_int (xdrs, &objp->status))	return (FALSE);    if (!xdr_int (xdrs, &objp->pid))	return (FALSE);    return (TRUE);    }/*********************************************************************** xdr_SYMBOL_ADDR -**/bool_txdr_SYMBOL_ADDR (xdrs, objp)    XDR *xdrs;    SYMBOL_ADDR *objp;    {    if (!xdr_int (xdrs, &objp->status))	return (FALSE);    if (!xdr_u_int (xdrs, &objp->addr))	return (FALSE);    return (TRUE);    }/*********************************************************************** xdr_SOURCE_STEP -**/bool_txdr_SOURCE_STEP (xdrs, objp)    XDR *xdrs;    SOURCE_STEP *objp;    {    if (!xdr_int (xdrs, &objp->taskId))	return (FALSE);    if (!xdr_u_int (xdrs, &objp->startAddr))	return (FALSE);    if (!xdr_u_int (xdrs, &objp->endAddr))	return (FALSE);    return (TRUE);    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -