xatmi.h
上传用户:xfwatch
上传日期:2020-12-14
资源大小:872k
文件大小:4k
源码类别:

中间件编程

开发平台:

Java

  1. /*
  2.  * JBoss, Home of Professional Open Source
  3.  * Copyright 2008, Red Hat, Inc., and others contributors as indicated
  4.  * by the @authors tag. All rights reserved.
  5.  * See the copyright.txt in the distribution for a
  6.  * full listing of individual contributors.
  7.  * This copyrighted material is made available to anyone wishing to use,
  8.  * modify, copy, or redistribute it subject to the terms and conditions
  9.  * of the GNU Lesser General Public License, v. 2.1.
  10.  * This program is distributed in the hope that it will be useful, but WITHOUT A
  11.  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  12.  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  13.  * You should have received a copy of the GNU Lesser General Public License,
  14.  * v.2.1 along with this distribution; if not, write to the Free Software
  15.  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  16.  * MA  02110-1301, USA.
  17.  */
  18. #ifndef XATMI_H
  19. #define XATMI_H
  20. #include "atmiBrokerXatmiMacro.h"
  21. #define TPNOBLOCK 0x00000001
  22. #define TPSIGRSTRT 0x00000002
  23. #define TPNOREPLY 0x00000004
  24. #define TPNOTRAN 0x00000008
  25. #define TPTRAN 0x00000010
  26. #define TPNOTIME 0x00000020
  27. #define TPGETANY 0x00000080
  28. #define TPNOCHANGE 0x00000100
  29. #define TPCONV 0x00000400
  30. #define TPSENDONLY 0x00000800
  31. #define TPRECVONLY 0x00001000
  32. #define TPFAIL 0x00000001
  33. #define TPSUCCESS 0x00000002
  34. struct BLACKTIE_XATMI_DLL tpsvcinfo {
  35. #define XATMI_SERVICE_NAME_LENGTH  15
  36. char name[XATMI_SERVICE_NAME_LENGTH];
  37. char *data;
  38. long len;
  39. long flags;
  40. int cd;
  41. };
  42. typedef struct BLACKTIE_XATMI_DLL tpsvcinfo TPSVCINFO;
  43. #define X_OCTET "X_OCTET"
  44. #define X_C_TYPE "X_C_TYPE"
  45. #define X_COMMON "X_COMMON"
  46. #define TPEBADDESC 2
  47. #define TPEBLOCK 3
  48. #define TPEINVAL 4
  49. #define TPELIMIT 5
  50. #define TPENOENT 6
  51. #define TPEOS 7
  52. #define TPEPROTO 9
  53. #define TPESVCERR 10
  54. #define TPESVCFAIL 11
  55. #define TPESYSTEM 12
  56. #define TPETIME 13
  57. #define TPETRAN 14
  58. #define TPGOTSIG 15
  59. #define TPEITYPE 17
  60. #define TPEOTYPE 18
  61. #define TPEEVENT 22
  62. #define TPEMATCH 23
  63. #define TPEV_DISCONIMM 0x0001
  64. #define TPEV_SVCERR 0x0002
  65. #define TPEV_SVCFAIL 0x0004
  66. #define TPEV_SVCSUCC 0x0008
  67. #define TPEV_SENDONLY 0x0020
  68. // NOW STARTS THE MAIN OPERATION LIST
  69. #ifdef __cplusplus
  70. extern "C" {
  71. #endif
  72. typedef float(*tpservice)(TPSVCINFO *);
  73. extern BLACKTIE_XATMI_DLL char* tpalloc(char* type, char* subtype, long size); // MEMORY
  74. extern BLACKTIE_XATMI_DLL char* tprealloc(char * addr, long size); // MEMORY
  75. extern BLACKTIE_XATMI_DLL int tpcall(char * svc, char* idata, long ilen, char ** odata, long *olen, long flags); // COMMUNICATION
  76. extern BLACKTIE_XATMI_DLL int tpacall(char * svc, char* idata, long ilen, long flags); // COMMUNICATION
  77. extern BLACKTIE_XATMI_DLL int tpgetrply(int *idPtr, char ** odata, long *olen, long flags); // COMMUNICATION
  78. extern BLACKTIE_XATMI_DLL int tpcancel(int id); // COMMUNICATION
  79. extern BLACKTIE_XATMI_DLL long tptypes(char* ptr, char* type, char* subtype); // MEMORY
  80. extern BLACKTIE_XATMI_DLL void tpfree(char* ptr); // MEMORY
  81. extern BLACKTIE_XATMI_DLL void tpreturn(int rval, long rcode, char* data, long len, long flags); // TJJ ADDED
  82. extern BLACKTIE_XATMI_DLL int tpadvertise(char * svcname, void(*func)(TPSVCINFO *)); // SERVER
  83. extern BLACKTIE_XATMI_DLL int tpunadvertise(char * svcname); // SERVER
  84. extern BLACKTIE_XATMI_DLL int tpsend(int id, char* idata, long ilen, long flags, long *revent); // COMMUNICATION
  85. extern BLACKTIE_XATMI_DLL int tprecv(int id, char ** odata, long *olen, long flags, long* event); // COMMUNICATION
  86. extern BLACKTIE_XATMI_DLL int tpconnect(char * svc, char* idata, long ilen, long flags); // COMMUNICATION
  87. extern BLACKTIE_XATMI_DLL int tpdiscon(int id); // COMMUNICATION
  88. extern BLACKTIE_XATMI_DLL int _get_tperrno(void); // CLIENT
  89. extern BLACKTIE_XATMI_DLL long _get_tpurcode(void); // CLIENT
  90. #ifdef __cplusplus
  91. }
  92. #endif
  93. #define tperrno (_get_tperrno()) // CLIENT
  94. #define tpurcode (_get_tpurcode()) // CLIENT
  95. #endif // XATMI_H