




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京奥德计算机技术有限公司 第 -11- 页 共 11 页Tuxedo服务器端ATMI说明:本文档描述TUXEDO服务器端ATMI接口调用函数,注意一个service函数能作为client端使用所有客户端ATMI。1. Server端ATMI:(1) voidtpservice(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) voidtpfree(char *bufptr)功 能:释放已分配缓冲区。输入参数:bufptr已分配缓冲区指针。输出参数:返 回:(6) inttpchkauth()功 能:获取安全认证级别。输入参数:输出参数:返 回:TPNOAUTH不需要密码。TPSYSAUTH需要密码。TPAPPAUTH需要密码及应用特别信息。TPACLAUTH访问控制表处于活动状态。其他失败。(7) inttpinit(TPINIT *tpinfo)功 能:初始化一个应用。输入参数:tpinfo初始化信息结构。该结构定义如下:structcharusrname32;(用户名,32字节)charcltname32;(终端名称,32字节)charpasswd32;(密码,前8字节有意义)chargrpname32;(组名,32字节)longflags;(通知类型及系统访问方式标志)TPU_SIG选择信号通知。TPU_DIP投入式通知(用tpchkunsol()检查)。TPU_IGN忽略通知。TPSA_FASTPATH系统快捷访问。TPSA_PROTECTED系统保护访问。longdatalen;(应用特别信息长度)longdata;(应用特别信息索引)输出参数:返 回:-1失败。其他成功。(8) inttpterm()功 能:结束应用。输入参数:输出参数:返 回:-1失败。其他成功。(9) inttpacall(char *service, char *bufptr, long length, long flags)功 能:发送服务请求。输入参数:service请求服务名称。bufptr发送缓冲区指针。length发送缓冲区长度(只有缓冲区类型为CARRAY时需要,其他均为0)。flags标志:TPNOTRAN交易模式下不调用。TPNOREPLY无返回。TPNOBLOCK延时不等待。TPNOTIME无超时。TPSIGRSTRT允许信号。输出参数:返 回:-1失败。其他应用服务句柄。(10) inttpgetreply(int *handle, char *bufpp, long *length, long flags)功 能:获取服务返回。输入参数:handle由tpacall()返回的应用服务句柄。flags标志(与tpacall()相同,另增如下):TPGETANY忽略应用服务句柄,接收任意有效返回。TPNOCHANGE接收与请求相同类型缓冲区返回。输出参数:bufpp接收返回信息缓冲区指针的指针。length返回信息长度指针。返 回:-1失败。其他成功。(11) inttpcancel(int handle)功 能:取消一个交易(服务请求)。输入参数:handle由tpacall()返回的应用服务句柄。输出参数:返 回:-1失败。其他成功。(12) inttpcall(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) inttpgprio()功 能:获取最后服务请求(发送或返回)优先级别。输入参数:输出参数:返 回:-1失败。其他最后服务优先级别。(14) inttpsprio(int prio, long flags)功 能:设置下一个服务请求(发送或返回)优先级别。输入参数:prio优先级,1100。flags标志:0默认优先级。TPABSOLUTE由prio指定值。输出参数:返 回:-1失败。其他成功。2. 通知处理:(1) inttpnotify(CLIENTID *clientid, char *data, long len, long flags)功 能:向指定客户端发送一个通知。输入参数:clientid客户端编号。data要发送的通知信息指针。len发送信息长度(只有缓冲区类型为CARRAY时需要,其他均为0)。flags标志:TPNOBLOCK延时不等待。TPNOTIME无超时。TPSIGRSTRT允许信号。TPACK输出参数:返 回:-1失败。其他成功。(2) inttpbroadcast(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) inttpchkunsol()功 能:检查是否有通知。输入参数:输出参数:返 回:-1失败。其他通知数量。(4) void*tpsetunsol(void(*myfunc) (char *data, long len, long flags)功 能:设置客户端自己的通知处理函数。输入参数:myfunc客户端自己的通知处理函数指针。输出参数:返 回:3. API缓冲区类型:(1) STRING:以0结束字符串;变长文本或指针数据;在不同机器和体系结构间传输加解密。(2) CARRAY:指定长度数组;机器依赖数据;传输不透明;传输中需要指定长度;传输中不加解密。(3) FML,FML32:可以用域名描述的数据,例如数据库表;不传输未使用的域;域名可以重复(称为第几重域,为处理简单明了起见,建议不要使用重复域,所有涉及第几重域的地方均使用第0重域)。(4) VIEW,VIEW32:C语言结构。4. 交易处理(1) inttpbegin(int timeout, long flags)功 能:开始一个全局交易。输入参数:timeout超时时间(秒,0-2-1)。flags0输出参数:返 回:-1失败。其他成功。(2) inttpcommit(long flags)功 能:提交当前交易。输入参数:flags0输出参数:返 回:-1失败。其他交易控制字符。(3) voidtpabort(long flags)功 能:中断当前交易。输入参数:flags0输出参数:返 回:(4) inttpsuspend(TPTRANID *tranid, long flags)功 能:挂起当前交易。输入参数:tranid交易句柄。flags0输出参数:返 回:-1失败。其他成功。(5) inttpresume(TPTRANID *tranid, long flags)功 能:恢复挂起交易。输入参数:tranid交易句柄。flags0输出参数:返 回:-1失败。其他成功。(6) inttpscmt(long flags)功 能:设置交易控制字符。输入参数:flags交易控制字符。输出参数:返 回:-1失败。其他成功。(7) inttpgetlev()功 能:返回当前交易层次。输入参数:输出参数:返 回:-1失败。0 不在交易中。1 正在交易中。(8) inttpopen()功 能:打开服务组资源管理器。输入参数:输出参数:返 回:-1失败。其他成功。(9) inttpclose()功 能:关闭服务组资源管理器。输入参数:输出参数:返 回:-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()。输入参数:FFML/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类型缓冲区所需长度。输入参数:FFML/FML32类型域的数量。V域长度(字节数)。输出参数:返 回:所需长度(字节数)。(4) intFinit(FBFR *fbfr, FLDLEN buflen)intFinit32(FBFR32 *fbfr, FLDLEN32 buflen)功 能:清除FML/FML32类型缓冲区,用于重新使用。输入参数:fbfr指向FML/FML32类型缓冲区指针。buflen新缓冲区长度。输出参数:返 回:-1失败。其他成功。(5) intFadd(FBFR *fbfr, FLDID fieldid, char *value, FLDLEN len)intFadd32(FBFR32 *fbfr, FLDID32 fieldid, char *value, FLDLEN32 len)功 能:向FML/FML32类型缓冲区指定域赋值。输入参数:fbfr指向FML/FML32类型缓冲区指针。fieldid指定域索引。value所赋值的指针。len赋值长度。输出参数:返 回:-1失败。其他成功。(6) intFchg(FBFR *fbfr, FLDID fieldid, int occ, char *value, FLDLEN len)intFchg32(FBFR32 *fbfr, FLDID32 fieldid, int occ, char *value, FLDLEN32 len)功 能:改变FML/FML32类型缓冲区指定域指定值。输入参数:fbfr指向FML/FML32类型缓冲区指针。fieldid指定域索引。Occ指定域第几重域(从0开始)。value所赋值的指针。len赋值长度。输出参数:返 回:-1失败。其他成功。(7) intFget(FBFR *fbfr, FLDID fieldid, int occ, char *value, FLDLEN *maxlen)intFget32(FBFR32 *fbfr, FLDID32 fieldid, int occ, char *value, FLDLEN32 *maxlen)功 能:从FML/FML32类型缓冲区中读取指定域指定值。输入参数:fbfr指向FML/FML32类型缓冲区指针。fieldid指定域索引。Occ指定域第几重域(从0开始)。maxlen读取值的最大长度。输出参数:value输出值缓冲区的指针。返 回:-1失败。其他成功。(8) intFcpy(FBFR *dest, FBFR *src)intFcpy32(FBFR32 *dest, FBFR32 *src)功 能:拷贝FML/FML32类型缓冲区。输入参数:src源地址。输出参数:dest目标地址。返 回:-1失败。其他成功。(9) intFprint(FBFR *fbfr)intFprint32(FBFR32 *fbfr)功 能:打印FML/FML32类型缓冲区内容到标准输出。输入参数:fbfr指向FML/FML32类型缓冲区指针。输出参数:返 回:(10) intFfprint(FBFR *fbfr, FILE *iop)intFfprint32(FBFR32 *fbfr, FILE *iop)功 能:打印FML/FML32类型缓冲区内容到输出文件。输入参数:fbfr指向FML/FML32类型缓冲区指针。iop输出文件句柄。输出参数:返 回:(11) intFextread(FBFR *fbfr, FILE *iop)intFextread32(FBFR *fbfr, FILE *iop)功 能:从输入文件读取FML/FML32类型缓冲区内容。输入参数:iop输入文件句柄。输出参数:fbfr指向FML/FML32类型缓冲区指针。返 回:(12) intFvftos(FBFR *fbfr, char *cstruct, char *view)intFvftos32(FBFR32 *fbfr, char *cstruct, char *view)功 能:将FML/FML32类型缓冲区转换为VIEW/VIEW32类型缓冲区。转换规则如下:如果FML/FML32类型域名在VIEW/VIEW32类型结构中没有,忽略该域;如果FML/FML32类型某域重数比VIEW/VIEW32类型结构中多,忽略该域;如果FML/FML32类型某域重数比VIEW/VIEW32类型结构中少,C结构相应域填空值。输入参数:fbfr指向FML/FML32类型缓冲区指针。viewVIEW/VIEW32类型结构名称。输出参数:cstruct指向C结构指针。返 回:(13) intFvstosf(FBFR *fbfr, char *cstruct, int mode, char *view)intFvstosf32(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类型结构的所有域。viewVIEW/VIEW32类型结构名称。输出参数:fbfr指向FML/FML32类型缓冲区指针。返 回:6. TX交易处理(开放标准交易处理)(1) inttx_begin()功 能:开始一个两步式全局交易。输入参数:输出参数:返 回:TX_OK成功。其他失败。(2) inttx_set_transaction_timeout(long timeout)功 能:设置交易超时时间。输入参数:timeout超时时间(秒,0-2-1)。输出参数:返 回:TX_OK成功。其他失败。(3) inttx_set_transaction_control(long control)功 能:设置交易超时时间。输入参数:control交易模式:TX_UNCHAINED非联接模式。TX_CHAINED联接模式。输出参数:返 回:TX_OK成功。其他失败。(4) inttx_commit()功 能:提交两步式交易。输入参数:输出参数:返 回:TX_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届浙江省台州市温岭市五校联考英语九年级第一学期期末联考试题含解析
- 浙江省金华、丽水市2026届九年级化学第一学期期中质量检测模拟试题含解析
- 贵州省黔南州名校2026届英语九上期末综合测试试题含解析
- 2026届辽宁省海城市第六中学化学九年级第一学期期末监测试题含解析
- 山西省太原市名校2026届化学九上期中检测模拟试题含解析
- 开发商原因退房合同5篇
- 离职补偿协议范本:针对离职员工职业发展培训及提升
- 研发机构劳务派遣个人合同范本(含知识产权归属)
- 砼工程施工进度控制与协调劳务分包合同范本
- 生态保护区物业管理股权收购与生态保护合作合同
- 2025年水发集团有限公司招聘(216人)考试模拟试题及答案解析
- 3.1 生活在新型民主国家(教学课件) 2025-2026学年度道德与法治 九年级上册
- 2025年安徽省政府采购评审专家考试真题库(带答案)
- 急性白血病课件
- GB/T 46142-2025智慧城市基础设施智慧交通快速响应矩阵码应用指南
- 场景速写课件讲解
- 2025广东惠州惠城区招聘社区工作站工作人员66人笔试备考题库及答案解析
- 餐饮四个人合伙合同协议
- 人体十二经络系统解析
- 2025年巷道掘砌工(技师)职业技能鉴定理论考试题库(含答案)
- 2025年交通安全宣传周知识竞赛考试题库及答案(含各题型)
评论
0/150
提交评论