[原创]Tuxedo开发中的常用函数_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
2
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4260 | 回复: 1   主题: [原创]Tuxedo开发中的常用函数        下一篇 
chong.zhang
注册用户
等级:上尉
经验:627
发帖:25
精华:0
注册:1970-1-1
状态:离线
发送短消息息给chong.zhang 加好友    发送短消息息给chong.zhang 发消息
发表于: IP:您无权察看 2014-4-29 20:54:49 | [全部帖] [楼主帖] 楼主

1.tpinit

int tpinit(TPINIT *tpinfo)


描述:客户端程序初始化函数
参数:TPINFO
返回值: 失败返回-1, 错误号保存在全局变量 tperrno 中。

2.tpsvrinit

int tpsvrinit( int argc, char * argv[])


描述:服务端的初始化函数,类似main函数

3.tpalloc

char * tpalloc(char *type, char *subtype, long size)


描述:分配缓冲区
参数:type:缓冲区的类型
subtype:缓冲区的子类型,只有 VIEW 有子类型,其他的缓冲区该参数要设为 NULL
long:缓冲区的大小
返回值: 成功返回一个指向所分配空间首地址的 CHAR *形指针,失败返回 NULL。

4.tpcall

int tpcall(char *svc, char *idata, long ilen, char **odata, long *olen, long flags)


描述:客户端同步调用服务端的名为 svc 的 SERVICE,需要等待服务端响应
参数:
*svc:SERVICE 的名称
char *idata: 输入缓冲区的地址,客户端传给服务端的参数放在该缓冲区内
long ilen: 输入缓冲区的长度
char **odata 输出缓冲区的地址,服务端传给客户端的结果放在该缓冲区内
long *olen:输出缓冲区的长度
long flags: 调用标志
返回值:调用成功返回 0,失败返回-1, 错误号保存在全局变量 tperrno 中。

5.tpacall

int tpacall(char *svc, char *data, long len, long flags)


描述: 客户端异步调用服务端的名为 svc 的 SERVICE,不等服务端返回结果,程序可继续往
下走,在某个地方调用 tpgetrply()取的服务端的返回,其他参考tpcall。

6.tpgetrply

int tpgetrply(int *cd, char **data, long *len, long flags)


描述:取出服务端对 tpacall()的应答。
参数: cd tpacall()返回的 HANDLER
char **data 返回缓冲区的地址,服务端传给客户端的结果放在该缓冲区内
long *len:返回缓冲区的长度
flags:可以是:TPNOBLOCK, TPNOTIME,TPSIGRSTRT,TPGETANY(不管 cd 的值,从服务
器的应答队列中取第一个可用的消息),TPNOCHANGE
返回值: 失败返回-1,错误号保存在全局变量tperrno中。

7.tpfree

void tpfree(char *bufptr)


描述:释放由 TPALLOC()或 TPREALLOC()分配的缓冲区
参数:bufptr:指向要释放的缓冲区首地址的指针
返回值:无
注意: 用tpalloc(),tprealloc()分配的内存只能有tpfree()释放掉,不能用free()。

8.tpterm

int tpterm()


描述: 断开与 TUXEDO SERVER 建立连接
参数:无
返回值: 失败返回-1, 错误号保存在全局变量 tperrno 中。

9.tpreturn

void tpreturn(int rval ,int rcode ,char *data ,long len, long flags )


描述:在服务端用tpreturn代替常规的return函数,执行tpreturn后,server将回应的数据缓冲区返回请求的发起点,交出程序的控制权。
参数:
rval:定义该service的返回值,可以是:
TPSUCCESS:客户端的tpgetrply()活tpcall()会返回一个非0的值,如果用会话方式进行通信,则会产生TPEV_SVCFAIL事件。
TPFAIL:客户端的tpgetreply()或tpcall()会返回-1,如果用CONVERSATION进行通信,则会产生TPEV_SVCFAIL事件。
TPEXIT:和TPFAIL一样,并且进程会自动退出。




赞(0)    操作        顶端 
koei
版主
等级:大校
经验:4186
发帖:7
精华:0
注册:2011-7-21
状态:离线
发送短消息息给koei 加好友    发送短消息息给koei 发消息
发表于: IP:您无权察看 2014-4-30 6:15:59 | [全部帖] [楼主帖] 2  楼

有些是客户端专有的,有些是服务端专有的,还有些是两端通用的,如果分门别类一下就好了



赞(0)    操作        顶端 
总帖数
2
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论