tuxedo服务器端ATMI
更新时间:2024-03-25 12:58:01 阅读量: 综合文库 文档下载
- 图片推荐度:
- 相关推荐
北京奥德计算机技术有限公司 第 -1- 页 共 11 页
Tuxedo服务器端ATMI
说明: 本文档描述TUXEDO服务器端ATMI接口调用函数,注意一个service函数能作为
client端使用所有客户端ATMI。 1. Server端ATMI:
(1) void tpservice(TPSVCIBFO *svcinfo)
功 能: 当前错误代号。 输入参数: 输出参数: 返 回:
(2) char *tpstrerror(int tperrno)
功 能: 获取错误信息。 输入参数: tperrno 错误代号。 输出参数:
返 回: 错误信息字符串指针。 (3) char *tpalloc(char *type, char *subtype, long size)
功 能: 申请内存缓冲区。 输入参数: type 缓冲区类型。 subtype 缓冲区子类型。 size 缓冲区长度。 输出参数:
返 回: 缓冲区指针。 如果失败,则返回空指针。 (4) char *tprealloc(char *bufptr, long size)
功 能: 修改已分配缓冲区长度。 输入参数: bufptr 已分配缓冲区指针。 size 新缓冲区长度。 输出参数:
返 回: 新缓冲区指针。 如果失败,则返回空指针。 (5) void tpfree(char *bufptr)
功 能: 释放已分配缓冲区。 输入参数: bufptr 已分配缓冲区指针。 输出参数: 返 回: (6) int tpchkauth()
功 能: 获取安全认证级别。 输入参数: 输出参数:
返 回: TPNOAUTH 不需要密码。 TPSYSAUTH 需要密码。 TPAPPAUTH 需要密码及应用特别信息。 TPACLAUTH 访问控制表处于活动状态。
软件开发中心:陈首会 13-3-26
北京奥德计算机技术有限公司 第 -2- 页 共 11 页
其他 失败。 (7) int tpinit(TPINIT *tpinfo)
功 能: 初始化一个应用。 输入参数: tpinfo 初始化信息结构。该结构定义如下: struct { char usrname[32]; (用户名,32字节) char cltname[32]; (终端名称,32字节) char passwd[32]; (密码,前8字节有意义) char grpname[32]; (组名,32字节) long flags; (通知类型及系统访问方式标志) TPU_SIG 选择信号通知。 TPU_DIP 投入式通知(用tpchkunsol()检
查)。
TPU_IGN 忽略通知。 TPSA_FASTPATH 系统快捷访问。
TPSA_PROTECTED 系统保护访问。
long datalen; (应用特别信息长度) long data; (应用特别信息索引) } 输出参数:
返 回: -1 失败。 其他 成功。 (8) int tpterm()
功 能: 结束应用。 输入参数: 输出参数:
返 回: -1 失败。 其他 成功。 (9) int tpacall(char *service, char *bufptr, long length, long flags)
功 能: 发送服务请求。 输入参数: service 请求服务名称。 bufptr 发送缓冲区指针。 length 发送缓冲区长度(只有缓冲区类型为CARRAY时需要, 其他均为0)。 flags 标志: TPNOTRAN 交易模式下不调用。 TPNOREPLY 无返回。 TPNOBLOCK 延时不等待。 TPNOTIME 无超时。 TPSIGRSTRT 允许信号。 输出参数:
返 回: -1 失败。 其他 应用服务句柄。 (10) int tpgetreply(int *handle, char **bufpp, long *length, long flags)
软件开发中心:陈首会 13-3-26
北京奥德计算机技术有限公司 第 -3- 页 共 11 页
功 能: 获取服务返回。 输入参数: handle 由tpacall()返回的应用服务句柄。 flags 标志(与tpacall()相同,另增如下):
TPGETANY 忽略应用服务句柄,接收任意有效
返回。
TPNOCHANGE 接收与请求相同类型缓冲区返回。 输出参数: bufpp 接收返回信息缓冲区指针的指针。 length 返回信息长度指针。 返 回: -1 失败。 其他 成功。 (11) int tpcancel(int handle)
功 能: 取消一个交易(服务请求)。 输入参数: handle 由tpacall()返回的应用服务句柄。 输出参数:
返 回: -1 失败。 其他 成功。 (12) int tpcall(char *service, char *sbufp, long slength, char **rbufpp,
long *rlength, long flags)
功 能: 发送服务请求并接收应答返回。 输入参数: service 请求服务名称。 sbufp 发送缓冲区指针。 slength 发送缓冲区长度(只有缓冲区类型为CARRAY时需要, 其他均为0)。 flags 标志: TPNOTRAN 交易模式下不调用。 TPNOREPLY 无返回。 TPNOBLOCK 延时不等待。 TPNOTIME 无超时。 TPSIGRSTRT 允许信号。 输出参数: rbufpp 接收返回信息缓冲区指针的指针。 rlength 返回信息长度指针。 返 回: -1 失败。 其他 成功。 (13) int tpgprio()
功 能: 获取最后服务请求(发送或返回)优先级别。 输入参数: 输出参数:
返 回: -1 失败。 其他 最后服务优先级别。 (14) int tpsprio(int prio, long flags)
功 能: 设置下一个服务请求(发送或返回)优先级别。 输入参数: prio 优先级,1—100。 flags 标志: 0 默认优先级。
软件开发中心:陈首会 13-3-26
北京奥德计算机技术有限公司 第 -4- 页 共 11 页
输出参数:
返 回: -1 其他
TPABSOLUTE 失败。 成功。
由prio指定值。
2. 通知处理:
(1) int tpnotify(CLIENTID *clientid, char *data, long len, long flags)
功 能: 向指定客户端发送一个通知。 输入参数: clientid 客户端编号。 data 要发送的通知信息指针。 len 发送信息长度(只有缓冲区类型为CARRAY时需要, 其他均为0)。 flags 标志: TPNOBLOCK 延时不等待。 TPNOTIME 无超时。 TPSIGRSTRT 允许信号。 TPACK 输出参数:
返 回: -1 失败。 其他 成功。 (2) int tpbroadcast(char *lmid, char *usrname, char *cltname, char *data,
long len, long flags)
功 能: 向一个或多个客户端发送一个通知。 输入参数: lmid 目标机器名。 usrname 目标用户名。 cltname 目标客户端名。 data 要发送的通知信息指针。 len 发送信息长度(只有缓冲区类型为CARRAY时需要, 其他均为0)。 flags 标志: TPNOBLOCK 延时不等待。 TPNOTIME 无超时。
TPSIGRSTRT 允许信号。
输出参数:
返 回: -1 失败。 其他 成功。 (3) int tpchkunsol()
功 能: 检查是否有通知。 输入参数: 输出参数:
返 回: -1 失败。 其他 通知数量。 (4) void *tpsetunsol(void(*myfunc) (char *data, long len, long flags))
功 能: 设置客户端自己的通知处理函数。
软件开发中心:陈首会 13-3-26
北京奥德计算机技术有限公司 第 -5- 页 共 11 页
输入参数: myfunc 输出参数: 返 回:
客户端自己的通知处理函数指针。
3. API缓冲区类型:
(1) STRING:
以’\\0’结束字符串; 变长文本或指针数据;
在不同机器和体系结构间传输加解密。
(2) CARRAY:
指定长度数组; 机器依赖数据; 传输不透明;
传输中需要指定长度; 传输中不加解密。
(3) FML,FML32:
可以用域名描述的数据,例如数据库表; 不传输未使用的域;
域名可以重复(称为第几重域,为处理简单明了起见,建议不要使用重复域,所有涉及第几重域的地方均使用第0重域)。 (4) VIEW,VIEW32:
C语言结构。
4. 交易处理
(1) int tpbegin(int timeout, long flags) 功 能: 开始一个全局交易。 输入参数: timeout 超时时间(秒,0--232-1)。
输出参数: 返 回: (2) int 功 能: 输入参数: 输出参数: 返 回: (3) void 功 能: 输入参数: 输出参数: 返 回: (4) int 功 能: 输入参数:
flags 0
-1 失败。 其他 成功。 tpcommit(long flags) 提交当前交易。 flags 0
-1 失败。 其他 交易控制字符。 tpabort(long flags) 中断当前交易。 flags 0
tpsuspend(TPTRANID *tranid, long flags) 挂起当前交易。 tranid 交易句柄。
软件开发中心:陈首会 13-3-26
北京奥德计算机技术有限公司 第 -6- 页 共 11 页
输出参数: 返 回: (5) int 功 能: 输入参数: 输出参数: 返 回: (6) int 功 能: 输入参数: 输出参数: 返 回: (7) int 功 能: 输入参数: 输出参数: 返 回:
(8) int 功 能: 输入参数: 输出参数: 返 回: (9) int 功 能: 输入参数: 输出参数: 返 回:
flags 0
-1 失败。 其他 成功。
tpresume(TPTRANID *tranid, long flags) 恢复挂起交易。 tranid 交易句柄。 flags 0
-1 失败。 其他 成功。 tpscmt(long flags) 设置交易控制字符。 flags 交易控制字符。
-1 失败。 其他 成功。 tpgetlev()
返回当前交易层次。
-1 失败。 0 不在交易中。 1 正在交易中。 tpopen()
打开服务组资源管理器。
-1 失败。 其他 成功。 tpclose()
关闭服务组资源管理器。
-1 失败。 其他 成功。
5. FML/FML32类型处理
FML/FML32域可用类型:short;char;long;float;double;string;carray。 包含头文件fml.h/fml32.h。 (1) FBFR *Falloc(FLDOCC F, FLDLEN V)
FBFR32 *Falloc32(FLDOCC32 F, FLDLEN32 V)
功 能: 申请FML/FML32类型缓冲区,但该缓冲区不能用于tpcall()和tpacall(),请参见函数tpalloc()。
软件开发中心:陈首会 13-3-26
北京奥德计算机技术有限公司 第 -7- 页 共 11 页
输入参数: F FML/FML32类型域的数量。 V 域长度(字节数)。 输出参数:
返 回: NULL 失败。 其他 成功。 (2) long *Fsizeof(FBFR *fbfr)
long *Fsizeof32(FBFR *fbfr)
功 能:返回FML/FML32类型缓冲区的长度。 输入参数: fbfr 指向FML/FML32类型缓冲区指针。 输出参数:
返 回: 缓冲区长度。 (3) long *Fneeded(FLDOCC F, FLDLEN V)
long *Fneeded32(FLDOCC32 F, FLDLEN32 V)
功 能: 获取FML/FML32类型缓冲区所需长度。 输入参数: F FML/FML32类型域的数量。 V 域长度(字节数)。 输出参数:
返 回:所需长度(字节数)。 (4) int Finit(FBFR *fbfr, FLDLEN buflen)
int Finit32(FBFR32 *fbfr, FLDLEN32 buflen)
功 能: 清除FML/FML32类型缓冲区,用于重新使用。 输入参数: fbfr 指向FML/FML32类型缓冲区指针。 buflen 新缓冲区长度。 输出参数:
返 回: -1 失败。
其他 成功。
(5) int Fadd(FBFR *fbfr, FLDID fieldid, char *value, FLDLEN len)
int Fadd32(FBFR32 *fbfr, FLDID32 fieldid, char *value, FLDLEN32 len) 功 能: 向FML/FML32类型缓冲区指定域赋值。 输入参数: fbfr 指向FML/FML32类型缓冲区指针。 fieldid 指定域索引。 value 所赋值的指针。 len 赋值长度。 输出参数:
返 回: -1 失败。
其他 成功。
(6) int Fchg(FBFR *fbfr, FLDID fieldid, int occ, char *value, FLDLEN len)
int Fchg32(FBFR32 *fbfr, FLDID32 fieldid, int occ, char *value, FLDLEN32 len)
功 能: 改变FML/FML32类型缓冲区指定域指定值。 输入参数: fbfr 指向FML/FML32类型缓冲区指针。 fieldid 指定域索引。 Occ 指定域第几重域(从0开始)。 value 所赋值的指针。
软件开发中心:陈首会 13-3-26
北京奥德计算机技术有限公司 第 -8- 页 共 11 页
len 赋值长度。 输出参数:
返 回: -1 失败。
其他 成功。
(7) int Fget(FBFR *fbfr, FLDID fieldid, int occ, char *value, FLDLEN
*maxlen) int Fget32(FBFR32 *fbfr, FLDID32 fieldid, int occ, char *value, FLDLEN32 *maxlen)
功 能: 从FML/FML32类型缓冲区中读取指定域指定值。 输入参数: fbfr 指向FML/FML32类型缓冲区指针。 fieldid 指定域索引。 Occ 指定域第几重域(从0开始)。 maxlen 读取值的最大长度。 输出参数: value 输出值缓冲区的指针。 返 回: -1 失败。
其他 成功。
(8) int Fcpy(FBFR *dest, FBFR *src)
int Fcpy32(FBFR32 *dest, FBFR32 *src) 功 能: 拷贝FML/FML32类型缓冲区。 输入参数: src 源地址。 输出参数: dest 目标地址。 返 回: -1 失败。
其他 成功。
(9) int Fprint(FBFR *fbfr)
int Fprint32(FBFR32 *fbfr)
功 能: 打印FML/FML32类型缓冲区内容到标准输出。 输入参数: fbfr 指向FML/FML32类型缓冲区指针。 输出参数: 返 回: (10) int Ffprint(FBFR *fbfr, FILE *iop)
int Ffprint32(FBFR32 *fbfr, FILE *iop)
功 能: 打印FML/FML32类型缓冲区内容到输出文件。 输入参数: fbfr 指向FML/FML32类型缓冲区指针。 iop 输出文件句柄。 输出参数: 返 回: (11) int Fextread(FBFR *fbfr, FILE *iop)
int Fextread32(FBFR *fbfr, FILE *iop)
功 能: 从输入文件读取FML/FML32类型缓冲区内容。 输入参数: iop 输入文件句柄。 输出参数: fbfr 指向FML/FML32类型缓冲区指针。 返 回: (12) int Fvftos(FBFR *fbfr, char *cstruct, char *view)
int Fvftos32(FBFR32 *fbfr, char *cstruct, char *view)
软件开发中心:陈首会 13-3-26
北京奥德计算机技术有限公司 第 -9- 页 共 11 页
功 能: 将FML/FML32类型缓冲区转换为VIEW/VIEW32类型缓冲区。 转换规则如下: 如果FML/FML32类型域名在VIEW/VIEW32类型结构中没有,忽 略该域;
如果FML/FML32类型某域重数比VIEW/VIEW32类型结构中多,忽略该域;
如果FML/FML32类型某域重数比VIEW/VIEW32类型结构中少,C结构相应域填空值。
输入参数: fbfr 指向FML/FML32类型缓冲区指针。 view VIEW/VIEW32类型结构名称。 输出参数: cstruct 指向C结构指针。 返 回: (13) int Fvstosf(FBFR *fbfr, char *cstruct, int mode, char *view)
int Fvstosf32(FBFR32 *fbfr, char *cstruct, int mode, char *view) 功 能:
输入参数: cstruct 指向C结构指针。 mode 转换模式:
FJOIN 转换C结构与VIEW/VIEW32类型结构都匹配的部分。
FOJOIN 在FJOIN模式基础上转换VIEW/VIEW32类型结构中不匹配的部分。
FUPDATE 在FJOIN模式基础上转换C结构与VIEW/VIEW32类型结构中不匹配的部分。
FCONCAT 转换C结构与VIEW/VIEW32类型结构的所有域。 view VIEW/VIEW32类型结构名称。
输出参数: fbfr 指向FML/FML32类型缓冲区指针。 返 回:
6. TX交易处理(开放标准交易处理)
(1) int tx_begin()
功 能: 开始一个两步式全局交易。 输入参数: 输出参数:
返 回: TX_OK 成功。 其他 失败。 (2) int tx_set_transaction_timeout(long timeout) 功 能: 设置交易超时时间。 输入参数: timeout 超时时间(秒,0--232-1)。
输出参数: 返 回: (3) int 功 能:
TX_OK 成功。 其他 失败。
tx_set_transaction_control(long control) 设置交易超时时间。
软件开发中心:陈首会 13-3-26
北京奥德计算机技术有限公司 第 -10- 页 共 11 页
输入参数: control
交易模式: TX_UNCHAINED TX_CHAINED
非联接模式。 联接模式。
输出参数: 返 回: (4) int 功 能: 输入参数: 输出参数: 返 回: (5) int 功 能: 输入参数: 输出参数: 返 回: (6) int 功 能: 输入参数:
输出参数: 返 回: (7) int 功 能: 输入参数: 输出参数: 返 回: (8) int 功 能: 输入参数: 输出参数:
TX_OK 成功。 其他 失败。 tx_commit()
提交两步式交易。
TX_OK 成功。 其他 失败。 tx_rollback() 回滚当前交易。
TX_OK 成功。 其他 失败。
tx_set_commit_return(long when_return) 设置交易控制何时返回。
when_return 交易控制返回时间安排:
TX_COMMIT_DECISION_LOGED 交易的第一步返回。 TX_COMMIT_COMPLETED 交易的第二步返回。
TX_OK 成功。 其他 失败。 tx_info(TXINFO *info) 获取当前交易信息。 info 交易信息结构。该结构定义如下: typedef TXINFO struct{ XID xid; COMMIT_RETURN when_return; TRANSACTION_CONTROL transaction_control; TRANSACTION_TIMEOUT transaction_timeout; TRANSACTION_STATE transaction_state; } 1 成功。 0 无当前交易。 tx_open()
打开服务组资源管理器,允许TX交易模式。
软件开发中心:陈首会 13-3-26
北京奥德计算机技术有限公司 第 -11- 页 共 11 页
返 回: (9) int 功 能: 输入参数: 输出参数: 返 回: TX_OK 成功。
其他 失败。 tx_close()
关闭服务组资源管理器。
TX_OK 成功。 其他 失败。
7. 其他
(1) 关于建立一个简单client应用的过程,请参阅文档《TUXEDO使用之一》。
(2) 本文档仅供开发组成员参考,如有问题或不够详细的地方,请查阅原文档《BEA
TUSEDO 6.4 ____Application Development Cource》VolumeⅠ和VolumeⅡ。
软件开发中心:陈首会 13-3-26
北京奥德计算机技术有限公司 第 -11- 页 共 11 页
返 回: (9) int 功 能: 输入参数: 输出参数: 返 回: TX_OK 成功。
其他 失败。 tx_close()
关闭服务组资源管理器。
TX_OK 成功。 其他 失败。
7. 其他
(1) 关于建立一个简单client应用的过程,请参阅文档《TUXEDO使用之一》。
(2) 本文档仅供开发组成员参考,如有问题或不够详细的地方,请查阅原文档《BEA
TUSEDO 6.4 ____Application Development Cource》VolumeⅠ和VolumeⅡ。
软件开发中心:陈首会 13-3-26
正在阅读:
tuxedo服务器端ATMI03-25
亲子运动会日记5篇11-21
社会实践活动学生安全责任书03-16
关于江苏省2007年中学化学中青年教师基本功比赛结果的通报11-07
筹资管理习题答案05-18
揭秘央视离职主持生财门道儿12-26
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 服务器
- tuxedo
- ATMI
- 大学新生要做好10个心理调适
- 豆奶行业市场分析
- Activiti工作流数据库表结构
- 幼儿园创建语言文字示范校汇报材料
- 小学语文教师招聘考试专业知识模拟题与答案
- 论跨国公司的成功外派研究
- 2012级机械与电气工程学院机械设计制造及其自动化职教师资班关于
- 苏教版高中化学必修一同步练习:2.8溴碘的提取(1)
- 尔雅2016创新思维期末考试答案
- 220KV变电站一次部分设计论文初稿
- 幼儿园环境创设中对幼儿参与性原则的理解
- 2019年考研政治马克思主义政治经济学核心考点复习笔记(经典)
- (有答案)统计学2013-2014第1学期单选题复习资料
- 基于OPC的注塑机监控系统的研究与实现 - 图文
- 支票、汇票、电汇、保函的区别
- 青云片2012-2013上学期七年级数学第二次联考试卷
- 2018年初级会计资格考试讲义-第八章
- 陈先云小学语文教科书的编写理念和主要特点
- 接 纳
- 工程类试卷注册电气工程师发输变电基础考试公共基础(电气技术基