Tuxedo常用函数

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1. tpinit()
功能: 使客户端join到后台应用的BB
语法: int tpinit (TPINIT *tpinfo)
TPINIT 是一个buffer类型,使用时需要用tpalloc()分配空间,在tpinit()后,要用tpfree()来释放分配的空间.如:

TPINIT * tpinfo;
char password[9];
/*prompt user for password*/
if ((tpinfo=(TPINIT *) tpalloc("TPINIT",NULL,TPINITNEED(0)))==NULL)
{
(void) userlog("unable to allocate TPINIT buffer");
exit(1);
}
if (tpinit(tpinfo)==-1)
{
(void)userlog("failed to join application");
tpfree ((char *) tpinfo);
exit(0);
}

如果没有安全级别的控制,可以直接赋NULL,tpinit((TPINIT *)NULL)
自定义类型TPINIT,参见atmi.h文件

2. tpcall()
功能: 以同步方式发送一个消息请求到SERVER端。
相当与tpacall()和tpgetrply()两个函数的作用
语法: int tpcall(char * service, char * sbufp,long slength,char **rbufpp,long * rlength,long flags)
service 需要调用的服务名
sbufp request buffer
slength request buffer 的长度
rbufpp 指向reply buffer 的指针
rlength service返回的reply buffer 的长度
flags 标记,一般置为0

说明: 将send buffer 和reply buffer 分开,是为了有的send buffer 指针,send buffer长度需要保存下来。当然send buffer 和reply buffer 可以为同一个buffer

3. tpacall()
功 能: 以异步方式发送一个消息请求到SERVER端。
语法: int tpacall(char * service, char * bufptr,long length,long flags)
service 需要调用的服务名
bufptr request buffer
length request buffer 的长度
flags 标记,一般置为0

4. tpgetrply()
功能: 异步通讯方式下,检索交易返回结果
语法: int tpgetrply(int *handle,char **bufpp,long *length,long flags)
handle 调用tpacall所返回的客户端句柄指针
buffpp 用来接收返回数据的buffer指针
length 接收buffer长度指针
flags tpgetrply可以使用的其他选项,一般填0即可。

5. tpalloc()
功能: 分配一个特定buffer类型的空间到一个指针变量
语法: char * tpalloc(char *type, char *subtype, long size)
分配空间不成功返回NULL
type buffer类型
subtype buffer子类型,没有子类型,赋NULL,只有VIEW具有子类型

6. tpfree()
功能: 释放tpalloc所分配的内存空间
语法: void tpfree(char *ptr)

7. tpreturn()
功能: 表示service routine 已经完成,相当与C语言的return语句。返回交易处理结果到client端。
在conversation 交易中,tpreturn将断开前后台的连接。
语法: void tpreturn (int rval,long rcode,char *data,long len,long flags)
rval 交易是否成功的标志。TUXEDO有宏定义
TPSUCCESS 交易成功
TPFAIL 交易失败
rcode 应用程序自己定义的返回值。
data reply buffer 的指针

len reply buffer 的长度
flags 一般赋0

8. tpterm()
功能: 客户端断开与BEA TUXEDO应用程序的连接
语法: int tpterm(void)

相关文档
最新文档