TUXEDO ATMI函数详解:事务监控接口

需积分: 11 0 下载量 112 浏览量 更新于2024-09-12 收藏 48KB DOC 举报
"TUXEDO函数是ATMI(应用程序事务监控接口)的一部分,用于在C语言中实现与TUXEDO服务器的交互。这些函数涵盖了从缓冲区管理、FML32操作到连接建立与断开、服务请求以及错误处理等多个方面。以下是这些功能的详细说明: 1. **与缓冲区使用有关的ATMI** - **tpalloc**:此函数用于分配指定大小的缓冲区。`type`参数定义了缓冲区的类型,`subtype`通常是视图类型的子类型,而`size`指定了所需内存的长度。成功时返回缓冲区的指针,失败则返回NULL。 - **tprealloc**:这个函数允许重新分配已分配的缓冲区大小。`ptr`是原始缓冲区的指针,`size`是新的缓冲区大小。成功时返回新分配内存的指针,失败返回NULL。 - **tpfree**:用于释放由`tpalloc`或`tprealloc`分配的内存。传入`bufptr`即为要释放的缓冲区的指针。注意,只能用`tpfree`释放TP分配的内存,不能使用常规的`free()`函数。 - **tptypes**:这个函数可以获取缓冲区的类型和子类型。`ptr`指向缓冲区,`type`和`subtype`参数用于存储返回的类型信息。 2. **常用的FML(FML32)操作函数** FML32是一种用于数据交换的格式。以下是一些关键函数: - **Falloc**:分配FML32结构体。 - **Finit**:初始化FML32结构体。 - **Fadd**:向FML32结构添加数据项。 - **Fchg**:修改FML32结构中的数据项。 - **Fget**:从FML32结构中获取数据项。 - **Fprint**:打印FML32结构的内容。 - **Ferror**:检查并处理FML32操作中的错误。 3. **连接的建立与断开有关的ATMI** - **tpchkauth**:检查客户端的认证。 - **tpinit**:初始化ATMI环境,启动会话。 - **tpterm**:终止ATMI环境,结束会话。 4. **与请求TUXEDOSERVER有关的ATMI** - **tpcall**:用于调用远程服务,同步方式。 - **tpacall**:异步调用远程服务。 - **tpgetrply**:获取异步调用的响应。 - **tpcancel**:取消正在进行的异步调用。 - **tpgprio**和**tpsprio**:调整服务调用的优先级。 5. **与请求错误处理有关的ATMI** - **tpstrerror**:将错误码转换为可读的错误消息。 - **tperrordetail**:获取错误的详细信息。 - **tpstrerrordetail1**:同上,但可能包含更详细的错误信息。 这些函数构成了TUXEDO应用开发的核心部分,使得开发者能够构建高效、可靠的分布式事务处理系统。了解和熟练掌握这些函数对于构建基于TUXEDO的应用至关重要。"