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一样,并且进程会自动退出。