memory.c
上传用户:nvosite88
上传日期:2007-01-17
资源大小:4983k
文件大小:2k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* memory.c - xdr routine for coding/decoding WDB memory structures */
  2. /* Copyright 1994-1998 Wind River Systems, Inc. */
  3. #include "copyright_wrs.h"
  4. /*
  5. modification history
  6. --------------------
  7. 01f,22jan98,c_c  Removed EXT_FUNC references.
  8. 01e,30jan96,elp added windll.h, changed xdr_TGT_ADDR_T in macro.
  9. 01d,10jun95,pad Included rpc/rpc.h
  10. 01c,04apr95,ms  new data types.
  11. 01b,06nov94,tpr added comments
  12. 01a,03oct94,tpr written.
  13. */
  14. /*
  15. DESCRIPTION
  16. This module contains the eXternal Data Representation (XDR) routine
  17. for the WDB_MEM_REGION, WDB_MEM_XFER, and WDB_MEM_SCAN_DESC structures.
  18. */
  19. /* includes */
  20. #include <rpc/rpc.h>
  21. #include "wdbP.h"
  22. /*******************************************************************************
  23. *
  24. * xdr_WDB_MEM_REGION - code, decode or free the WDB_MEM_REGION structure.
  25. *
  26. * RETURNS: TRUE if it succeeds, FALSE otherwise.
  27. */
  28. BOOL xdr_WDB_MEM_REGION
  29.     (
  30.     XDR * xdrs, /* xdr handle */
  31.     WDB_MEM_REGION * objp /* pointer to the WDB_MEM_REGION structure */
  32.     )
  33.     {
  34.     if (!xdr_TGT_ADDR_T (xdrs, &objp->baseAddr))
  35. return (FALSE);
  36.     if (!xdr_TGT_INT_T (xdrs, &objp->numBytes))
  37. return (FALSE);
  38.     if (!xdr_UINT32 (xdrs, &objp->param))
  39. return (FALSE);
  40.     return (TRUE);
  41.     }
  42. /*******************************************************************************
  43. *
  44. * xdr_WDB_MEM_XFER - code, decode or free the WDB_MEM_XFER structure. 
  45. *
  46. * RETURNS: TRUE if it succeeds, FALSE otherwise.
  47. */
  48. BOOL xdr_WDB_MEM_XFER
  49.     (
  50.     XDR * xdrs,
  51.     WDB_MEM_XFER * objp
  52.     )
  53.     {
  54.     if (!xdr_TGT_INT_T (xdrs, &objp->numBytes))
  55. return (FALSE);
  56.     if (!xdr_TGT_ADDR_T (xdrs, &objp->destination))
  57. return (FALSE);
  58.     if (!xdr_WDB_OPQ_DATA_T (xdrs, &objp->source, objp->numBytes))
  59. return (FALSE);
  60.     return (TRUE);
  61.     }
  62. /******************************************************************************
  63. *
  64. * xdr_WDB_MEM_SCAN_DESC
  65. */ 
  66. BOOL xdr_WDB_MEM_SCAN_DESC
  67.     (
  68.     XDR * xdrs,
  69.     WDB_MEM_SCAN_DESC * objp
  70.     )
  71.     {
  72.     if (!xdr_WDB_MEM_REGION (xdrs, &objp->memRegion))
  73. return (FALSE);
  74.     if (!xdr_WDB_MEM_XFER (xdrs, &objp->memXfer))
  75. return (FALSE);
  76.     return (TRUE);
  77.     }