wtxexch.h
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:3k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* wtxexch.h - wtx message exchange header file */
  2. /* Copyright 1984-1995 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01c,28sep01,fle  SPR#28684 : added usePMap parameter to wtxExchangeCreate ()
  7. 01b,11may99,fle  changed wtxExchangeInstall declaration since wtxRpcExchange
  8.  changes  SPR 67367
  9. 01a,30sep96,elp  put in share/src/wtx (SPR# 6775).
  10. 01a,15may95s_w  written. Based on original design by John Fogelin
  11. */
  12. #ifndef __INCwtxexchh
  13. #define __INCwtxexchh 1
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif
  17. #include "wtxtypes.h"
  18. #include "wtxerr.h"
  19. /* defines */
  20. #define WTX_EXCHANGE_CTL_TIMEOUT_GET 1
  21. #define WTX_EXCHANGE_CTL_TIMEOUT_SET 2
  22. #define WTX_EXCHANGE_CTL_TRANSPORT_ERR_GET 3
  23. /* typedefs */
  24. typedef struct _wtx_exchange * WTX_XID;
  25. /* function declarations */
  26. #if defined(__STDC__) || defined(__cplusplus) || defined(WIN32_COMPILER)
  27. STATUS wtxExchangeInitialize (WTX_XID * pXid);
  28. STATUS wtxExchangeInstall /* install exchange marshall funcs for handle */
  29.     (
  30.     WTX_XID xid, 
  31.     STATUS (*xCreate) /* connect the exchange id to a WTX server    */
  32. (
  33. WTX_XID, /* WTX exchange ID to create                  */
  34. const char *, /* server key string                          */
  35. BOOL /* do we use port mapper to connect ?         */
  36. ),
  37.     STATUS (*xDelete) /* disconnect exchange id from a WTX server   */
  38. (
  39. WTX_XID /* WTX exchange ID                            */
  40. ), 
  41.     STATUS (*xExchange) /* perform an exchange request                */
  42. (
  43. WTX_XID, /* WTX exchange ID                            */
  44. WTX_REQUEST, /* exchange request number                    */
  45. void *, /* pointer to input arg message               */
  46. void * /* pointer to output arg (result) message     */
  47. ),
  48.     WTX_ERROR_T (*xFree) /* free result of exchange request            */
  49. (
  50. WTX_REQUEST, /* WTX request number                         */
  51. void * /* pointer to result message                  */
  52. ),
  53.     STATUS (*xControl) /* perform misccontrol requests on exchange   */
  54. (
  55. WTX_XID, /* WTX exchange ID                            */
  56. UINT32, /* control request number                     */
  57. void * /* pointer to control request arg data        */
  58. )
  59.     );
  60. WTX_ERROR_T wtxExchangeErrGet (WTX_XID xid);
  61. STATUS wtxExchangeErrClear (WTX_XID xid);
  62. STATUS wtxExchangeTerminate (WTX_XID xid);
  63. STATUS wtxExchange (WTX_XID xid, WTX_REQUEST request, void * pIn, void * pOut);
  64. STATUS wtxExchangeFree (WTX_XID xid, WTX_REQUEST request, void * pData);
  65. STATUS wtxExchangeControl (WTX_XID xid, UINT32 ctlRequest, void * pArg);
  66. STATUS wtxExchangeCreate (WTX_XID xid, const char * key, BOOL usePMap);
  67. STATUS wtxExchangeDelete (WTX_XID xid);
  68. #else /* __STDC__ */
  69. STATUS wtxExchangeInitialize ();
  70. STATUS wtxExchangeInstall ();
  71. WTX_ERROR_T wtxExchangeErrGet ();
  72. STATUS wtxExchangeErrClear ();
  73. STATUS wtxExchangeTerminate ();
  74. WTX_ERROR_T wtxExchange ();
  75. WTX_ERROR_T wtxExchangeFree ();
  76. WTX_ERROR_T wtxExchangeControl ();
  77. WTX_ERROR_T wtxExchangeCreate ();
  78. WTX_ERROR_T wtxExchangeDelete ();
  79. #endif /* __STDC__ */
  80. #ifdef __cplusplus
  81. }
  82. #endif
  83. #endif /* __INCwtxexchh */