[转帖]Tuxedo 系列函数简介--缓冲区_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3860 | 回复: 0   主题: [转帖]Tuxedo 系列函数简介--缓冲区        下一篇 
yun
注册用户
等级:少校
经验:1082
发帖:83
精华:4
注册:2012-12-17
状态:离线
发送短消息息给yun 加好友    发送短消息息给yun 发消息
发表于: IP:您无权察看 2012-12-19 11:24:11 | [全部帖] [楼主帖] 楼主

Tuxedo的客户端与服务端之间的数据传送是通过数据缓冲区来进行的。Tuxedo的数据缓冲区主要包括STRING(以“\0”结尾的字符串), GARRAY(不以“\0”结尾的字符串), VIEW, VIEW32, FML,FML32XML

与缓冲区使用有关的ATMI

char *tpalloc(char *type, char *subtype, long size)


描述:分配缓冲区

参数:type:缓冲区的类型

         subtype:缓冲区的子类型,只有VIEW有子类型,其它缓冲区的该参数设为NULL

         long:缓冲区的大小

返回值:成功返回一个指向所分配空间首地址的char*形指针,失败返回NULL

char *tprealloc(char *ptr, long size)


描述:重新分配缓冲区

参数:ptr:指向原缓冲区首地址的指针

                size:新缓冲区的大小

返回值:成功返回一个指向新分配空间首地址的char*形指针,失败返回NULL

void tpfree(char *bufptr)


描述:释放出tpalloc()或tprealloc()分配的缓冲区

参数:bufptr:指向要释放的缓冲区首地址的指针

返回值:无。

long tptypes(char *ptr, char *type, char *subtype)


描述:返回有ptr所指向的缓冲区的类型及子类型

参数:ptr:指向要进行类型识别的缓冲区首地址的指针

         type:类型名

         subtype:子类型名(只对VIEW类型有效)

返回值:0为成功,-1为失败,错误号保存在全局变量tperrno

常用的FMLFML32)操作函数:

FBFR* Falloc (FLDOCC F, FLDLEN V)


描述:分配一块FML缓冲区

参数:FLDOCC:该FML缓冲区的字段个数

                FLDLEN:该FML缓冲区的长度

返回值:成功返回一个指向该FML缓冲区首地址的指针。失败返回NULL,错误号保存在全局变量Ferror

int Finit(FBFR *fbfr, FLDLEN buflen)


描述:初始化该FML缓冲区

参数:fbfr:一个指向该FML缓冲区首地址的指针

                buflen:该FML缓冲区的长度

返回值:失败为-1,错误号保存在全局变量Ferror

int Fadd(FBFR *fbfr,FLDID fielded,char *value,FLDLEN len)


描述:往FML缓冲区fbfrIDfieldid的字段增加一个值value

参数:fbfr:指向该FML缓冲区首地址的指针

                fielded:要增加的字段的ID

                value:要增加的值,如果是其他类型的要转化为char*

                len:该字段的长度,如果不是CARRARY类型的,可设为0

返回值:失败为-1,错误号保存在全局变量Ferror

int Fchg(FBFR *fbfr,FLDID fielded,int occ,char *value,FLDLEN len)


描述:改变fbfrIDfieldid字段的值

参数:fbfr:指向该FML缓冲区首地址的指针

                fielded:要增加的字段的ID

                value:该字段的新值,如果是其它类型的要转化为char*

                len:该字段的长度,如果不是CARRARY类型的,可设为0

返回值:失败为-1,错误号保存在全局变量Ferror

int Fget(FBFR *fbfr,FLDID fielded,int occ,char *value,FLDLEN *maxlen)


描述:从fbfr缓冲区中取IDfieldid字段的值到value

参数:fbfr:指向该FML缓冲区首地址的指针

                fielded:字段的ID

                value:取出的值保存到该指针指向的地址中

                maxlen:可以COPY到缓冲区value中的字符串的长度,返回值为真正COPY到该缓冲区的字符串的长度

返回值:失败为-1,错误号保存在全局变量Ferror

Fprint(FBFR *fbfr)


描述:按格式打印fbfr缓冲区的内容。一般用于程序调试中

参数:fbfr:指向该FML缓冲区首地址的指针

返回值:失败为-1,错误号保存在全局变量Ferror

char* Fstrerror(int err)


描述:返回错误号为err的错误描述

参数:errFerror的值

返回值:成功返回错误描述,失败返回NULL

int pchgd32(long fbfr,long fldid,long occ,double buf)


描述:写一个浮点型数据到FML32缓冲区的指定位置

参数:fbfrFML32缓冲区;

                fldidID号;occ为位置;

                buf为要写入的浮点型数据;

返回值:0为成功,-1失败。

int pchgl32(long fbfr,long fldid,long occ,long buf)


描述:写一个整形数据到FML32缓冲区的指定位置

参数:fbfrFML32缓冲区;fldidID号;occ:位置;

                buf:要写入的整形数据

返回值:0为成功,-1失败。

int pchgs32(long fbfr,long fldid,long occ,string buf)


描述:写一个字符型数据到FML32缓冲区的指定位置

参数:fbfrFML32缓冲区;fldidID号;occ:位置;

         buf:要写入的字符型数据

返回值:0为成功,-1失败。

int pgetd32(long fbfr,long fldid,long occ,ref double buf)


描述:从FML32缓冲区的指定位置中去浮点型数据到输入参数BUF

参数:fbfrFML32缓冲区;fldidID号;occ:位置;

         buf:取出的数据储存到buf

返回值:0为成功,-1失败。

int pgetl32(long fbfr,long fldid,long occ,ref long buf)


描述:从FML32缓冲区的指定位置取整型数据到输入参数buf

参数:fbfrFML32缓冲区;fldidID号;occ:位置;

         buf:取出的数据储存到buf




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论