UTIL0.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:3k
源码类别:

Windows编程

开发平台:

Visual C++

  1. /*************************************************************/
  2. /**                                                         **/
  3. /**                 Microsoft RPC Examples                  **/
  4. /**                 Dictionary Application                  **/
  5. /**             Copyright(c) Microsoft Corp. 1992-1996      **/
  6. /**                                                         **/
  7. /*************************************************************/
  8. #include <rpc.h>
  9. /*************************************************************************/
  10. /***                RecordNode / RecordTree free routines              ***/
  11. /*************************************************************************/
  12. void
  13. RecordTreeNodeFree(
  14.     IN RecordTreeNode * node
  15.     );
  16. void
  17. RecordTreeFree(
  18.     IN RecordTreeNode * node
  19.     );
  20. VDict_Status
  21. RDict_Free_Dict(
  22.     IN OUT RDict * r_dict
  23.     );
  24. void
  25. VDict_Print(
  26.     VDict * pvd,
  27.     int indent
  28.     );
  29. /*************************************************************************/
  30. /***                  State Allocate / Free routines                   ***/
  31. /*************************************************************************/
  32. DictState * allocate_state(void);
  33. void free_state(DictState * state);
  34. /*************************************************************************/
  35. /***                     Rdict Duplicate utilities                     ***/
  36. /*************************************************************************/
  37. RDict *
  38. RDict_Duplicate(
  39.     IN RDict * src
  40.     );
  41. DictState *
  42. DictState_Duplicate(
  43.     IN DictState * src
  44.     );
  45. TreeNode *
  46. TreeNode_Duplicate(
  47.     IN TreeNode * src
  48.     );
  49. TreeNode *
  50. Tree_Duplicate(
  51.     IN TreeNode * src
  52.     );
  53. /*************************************************************************/
  54. /***                MIDL_user_allocate / MIDL_user_free                ***/
  55. /*************************************************************************/
  56. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t count);
  57. void __RPC_USER MIDL_user_free(void __RPC_FAR * p);
  58. /*************************************************************************/
  59. /***                    Comparison and Printing routines               ***/
  60. /*************************************************************************/
  61. Record *
  62. makeRecord(
  63.     short key,
  64.     char * name
  65.     );
  66. void
  67. freeRecord(
  68.     Record * pr
  69.     );
  70. Record *
  71. ItemDuplicate(
  72.     Record * item
  73.     );
  74. void
  75. ItemCopy(
  76.     IN Record * src,
  77.     OUT Record * dest
  78.     );
  79. int comp(void* x, void* y);
  80. void printRecord(void* rp);
  81. typedef void (*PrintFun) (void *);
  82. void prinTree(
  83.     int lmargin,
  84.     int indent,
  85.     TreeNode *np,
  86.     PrintFun print);
  87. void
  88. Dict_Print(             /* prints the binary tree (indented right subtree,
  89.                            followed by the root, followed by the indented
  90.                            right dubtree) */
  91.     Dictionary * dp,
  92.     int indent);        /* number of spaces to indent subsequent levels */
  93. TreeNode*
  94. makeNode(void * item);
  95. void
  96. Init_dict(Dictionary * dp);