1与缓冲区使用有关的ATMI
1.1tpalloc
char * tpalloc(char *type, char *subtype, long size)
描述:分配缓冲区
参数:type:缓冲区的类型
subtype:缓冲区的子类型,只有VIEW有子类型,其他的缓冲区该参数要设为NULL
long:缓冲区的大小
返回值: 成功返回一个指向所分配空间首地址的CHAR *形指针,失败返回NULL。
1.2tprealloc
char * tprealloc(char *ptr, long size)
描述:重新分配缓冲区
参数:ptr:指向原缓冲区首地址的指针
size:新缓冲区的大小
返回值: 成功返回一个指向新分配空间首地址的CHAR *形指针,失败返回NULL。
1.3tpfree
void tpfree(char *bufptr)
描述:释放由TPALLOC()或TPREALLOC()分配的缓冲区
参数:bufptr:指向要释放的缓冲区首地址的指针
返回值:无
注意: 用TPALLOC(),TPREALLOC()分配的内存只能有TPFREE()释放掉,不能用FREE()
1.4tptypes
long tptypes(char *ptr, char *type, char *subtype)
描述:返回有ptr所指向的缓冲区的类型及子类型
参数: ptr:指向要进行类型识别的缓冲区首地址的指针
type:类型名
subtype:子类型名(只对VIEW类型有效)
返回值:0成功,-1失败, 错误号保存在全局变量tperrno中。
2常用的FML(FML32)操作函数
2.1Falloc
FBFR*Falloc (FLDOCC F, FLDLEN V)
描述: 分配一块FML缓冲区
参数:
FLDOCC: 该FML缓冲区的字段个数,
FLDLEN: 该FML缓冲区的长度
返回值:成功返回一个指向该FML缓冲区首地址的指针,失败返回NULL,错误号保存在全局
变量Ferror中
注意:该FML缓冲区不能用于TPCALL(),TPACALL(),TPRETURN()等中,在这些函数中用到
的FML缓冲区只能用TPALLOC()分配。
2.2Finit
int Finit(FBFR *fbfr, FLDLEN buflen)
描述: 初始化该FML缓冲区
参数:
fbfr: 一个指向该FML缓冲区首地址的指针
buflen: 该FML缓冲区的长度
返回值:失败为-1, 错误号保存在全局变量Ferror中
2.3Fadd
int Fadd(FBFR *fbfr, FLDID fieldid, char *value, FLDLEN len)
描述: 往FML缓冲区fbfr中ID为fieldid的字段增加一个值value
参数:
fbfr:指向该FML缓冲区首地址的指针
fieldid: 要增加的字段的ID
value:要增加的值,如果时其他类型的要转化为char *
len: 该字段的长度,如果不时CARRARY类型的,可设为0
返回值: 失败为-1, 错误号保存在全局变量Ferror中
2.4Fchg
int Fchg(FBFR *fbfr, FLDID fieldid,int occ, char *value, FLDLEN len)
描述:改变fbfr中ID为fieldid字段的值。
参数:
fbfr:指向该FML缓冲区首地址的指针
fieldid: 要增加的字段的ID
value:该字段的新值,如果时其他类型的要转化为char *
len: 该字段的长度,如果不时CARRARY类型的,可设为0
返回值:失败为-1,错误号保存在全局变量Ferror中
2.5Fget
int Fget(FBFR *fbfr, FLDID fieldid,int occ, char *value, FLDLEN *maxlen)
描述:从fbfr缓冲区中取ID为fieldid字段的值到value中。
参数:
fbfr:指向该FML缓冲区首地址的指针
fieldid: 字段的ID
value:取出的值保存到该指针指向的地址中
maxlen:可以COPY到缓冲区value中的字符串的长度,返回值为真正COPY到该缓冲区的字
符串的长度
返回值:失败为-1, 错误号保存在全局变量Ferror中
2.5Fprint
Fprint(FBFR *fbfr)
描述: 按格式打印fbfr缓冲区的内容。一般用于程序调试中。
参数:
fbfr:指向该FML缓冲区首地址的指针
返回值:失败为-1, 错误号保存在全局变量Ferror中
2.6Ferror
Ferror:
和C语言中的errno类似,当调用FML(FML32)函数出错时,把错误号保存在全局变量Ferror中。
char *Fstrerror(int err)
描述:返回错误号为err的错误描述
参数:err: Ferror的值
返回值:成功返回错误描述,失败返回NULL
(责编:dalishu)