rdbapi 5.1.1.9
实时数据库C接口 for windows/Linux
 
载入中...
搜索中...
未找到
rdbapi.h
浏览该文件的文档.
1
15#ifndef RDBAPI_H
16#define RDBAPI_H
17
18#include "rdbdef.h"
19
20#define DBR_SUCCESS 0
21#define SE_ERRHANDLE (-1)
22
23//错误码
24#define SE_OK 0x00
25#define SE_SUCCESS SE_OK
26#define SE_FAILED 0x01
27#define SE_TCP_CONNECT 0x02
28#define SE_TCP_PROXY_CONNECT 0x03
29#define SE_TCP_PROXY_AUTH 0x04
30#define SE_TCP_DISCONNECT 0x05
31#define SE_TCP_IO 0x06
32#define SE_TCP_CONSVRFAIL 0x07
33#define SE_TCP_SENDBLOCK 0x08
34#define SE_TCP_ERRPKG 0x0A
35#define SE_TCPCALLTIMEOUT 0x0B
36#define SE_ERRARGS 0x0C
37
38#define SE_EXP 0x10
39#define SE_EXPVAR 0x11
40#define SE_EXPVAROVER 0x12
41#define SE_BUSY 0x13
42#define SE_NOTCONNECT 0x1F
43
44#define SE_OPT_OK 0
45#define SE_OPT_NOACTOR 0x20
46#define SE_OPT_NOUSER 0x21
47#define SE_OPT_PASSERR 0x22
48#define SE_OPT_NOPOWER 0x23
49#define SE_OPT_USEREXIST 0x24
50#define SE_OPT_ACTOREXIST 0x25
51#define SE_OPT_ACTORUSE 0x26
52#define SE_OPT_NOLOGIN 0x27
53#define SE_OPT_NOTACTIVE 0x28
54#define SE_OPT_OPTFULL 0x29
55#define SE_OPT_ACTFULL 0x2A
56#define OPT_NOTMODPSW 0x2B
57
58#define SE_TG_NOTAG 0x30
59#define SE_TG_TAGFULL 0x31
60#define SE_TG_NOARCHIVE 0x32
61#define SE_TG_ERRNAME 0x33
62#define SE_TG_NOSTATION 0x34
63
64#define SE_DA_TIME 0x40
65#define SE_DA_TYPE 0x41
66#define SE_DA_QA 0x42
67#define SE_DA_NODATA 0x43
68#define SE_DA_END 0x44
69#define SE_DA_SIZEOVER 0x48
70#define SE_DA_INSERT 0x49
71#define SE_SSC_OVER_TAGS 0x4A
72#define SE_SSC_OVER_SESSIONS 0x4B
73#define SE_SSC_NOTSSC 0x4C
74
75#define SE_CTRLNOROUTE 0x61
76#define SE_CTRLOUTERR 0x62
77
78#define SE_SRV_FRMNOOD 0xFF
79#define SE_SRV_FRMERR 0xFE
80#define SE_SRV_DBVER 0xFD
81#define SE_SRV_BACKUOPSRV 0XFB
82#define SE_SRV_DEMOOVER 0xFC
83
86typedef bool(*rdbcb_OnReadTags)(rec_tag ptags[], int nitems, void* pParam);
87
90typedef bool(*rdbcb_OnReadVals)(rec_val pvals[], int nitems, void* pParam);
91
94typedef bool(*rdbcb_OnReadObjs)(rec_obj pobjs[], int nitems, void* pParam);
95
98typedef bool(*rdbcb_OnReadSoes)(rec_soe psoes[], int nitems, void* pParam);
99
101typedef void(*rdbcb_OnSscPutSoes)(rec_soe psoes[], int nitems, void* param);
102
105typedef bool(*ctrl_OnValWriteToDevice)(rec_tagval* pval, void* pParam);
106
109typedef bool(*ctrl_OnObjWriteToDevice)(rec_tagobj* pobj, void* pParam);
110
112typedef void(*rdbcb_OnPushValSnaps)(const rec_tagval pvals[], int sizeVals, void* param);
113
115typedef void(*rdbcb_OnPushObjSnaps)(const rec_tagobj pobjs[], int sizeObjs, void* param);
116
118typedef void(*rdbcb_OnPushJsonMsgs)(const char* jstr, int sizejstr, void* param);
119
120#define MSGCODE_CONNECT_SUCCESS 60001
121#define MSGCODE_CONNECT_FAILED 60002
122#define MSGCODE_DISCONNECTED 60003
123
130typedef void(*rdbcd_onmessage)(int nmsgcode, const char* smsg, void* param);
131
132#ifdef __cplusplus
133extern "C" {
134#endif
135
150
168 int rdb_setslavedb(int h, const char* sip, unsigned short wport, const char* sUser, const char* sPass);
169
179 int rdb_setmessagenotify(int h, rdbcd_onmessage fun, void* param);
180
189 int rdb_destory(int h);
190
204 int rdb_connectex(int h, const char* surl, const char* sUser, const char* sPass, int nTimeOutSec);
205
218 int rdb_connect(int h, const char *sServerIP, unsigned short wPort, const char * lpszUser, const char * lpszPass);
219
232 int rdb_connectasyn(int h, const char *sServerIP, unsigned short wPort, const char * lpszUser, const char * lpszPass);
233
242 int rdb_disconnect(int h);
243
251 bool rdb_isconnected(int h);
252
261 int rdb_curdb(int h);
262
270 int rdb_curdb_inver(int h);
271
282 int rdb_actoradd(int h, rec_actor* pa);
283
294 int rdb_actordel(int h, const char *sname);
295
307 int rdb_actorsget(int h, rec_actor actors[], int nrecbufsize, int *pnacts);
308
320
331 int rdb_operatordel(int h, const char *sname);
332
343 int rdb_operatorsget(int h, rec_operator opts[], int nrecbufsize, int *pnopts);
344
354 int rdb_operatormodifypass(int h, const char *sname, const char*soldpass, const char *snewpass);
355
365 int rdb_taginport(int h, unsigned int dwflag, rec_tag* ptag, int *presult);
366
374 int rdb_tagget(int h, rec_tag* ptag);
375
384 int rdb_tagdel(int h, const char *sname);
385
399 int rdb_tagquery(int h, const char* snamefilter, const char* sdesfilter, int ndatatype, int ntagclass, rdbcb_OnReadTags pfun, void* pParam);
400
412 int rdb_valputsnapshot(int h, rec_tagval vals[], int nsize);
413
421 int rdb_valgetsnapshot(int h, rec_tagval vals[], int nsize);
422
433 int rdb_valinsert(int h, rec_tagval vals[], int nsize);
434
446 int rdb_valgetsection(int h, long long ltime, int nflag, rec_tagval vals[], int nsize);
447
473 int rdb_valquery(int h, const char *sname, const char *sexp, long long lts, long long lte, long long lds, int lflag, rdbcb_OnReadVals pfun, void* pParam);
474
486 int rdb_objputsnapshot(int h, rec_tagobj pobjs[], int nsize);
487
496 int rdb_objgetsnapshot(int h, rec_tagobj pobjs[], int nsize);
497
506 int rdb_objinsert(int h, rec_tagobj pobjs[], int nsize);
507
520 int rdb_objget(int h, const char* stagname, long long lts, long long lte, rdbcb_OnReadObjs pfun, void* pParam);
521
531 int rdb_soeput(int h, rec_soe psoe[], int nsize);
532
546 int rdb_soequery(int h, long long lts, unsigned int autokey, long long lte, const char * sexp, rdbcb_OnReadSoes pfun, void* pParam);
547
557 int rdb_soeupdate(int h, rec_soe psoe[], int nsize);
558
566 int rdb_soesubscription(int h, int flag);
567
577 int rdb_soesubscription_setfun(int h, rdbcb_OnSscPutSoes fun, void* param);
578
595 int rdb_countvalue(int h, const char* sname, const char* sexp, long long lts, long long lte, rec_val* pMin, rec_val* pMax, double *pavg, double *psum, int *plrecs);
596
611 int rbd_countstatuschang(int h, const char* sname, long long lts, long long lte, int nlowval, int nhighval, int *pnl2h, int *pnh2l);
612
626 int rdb_countvaltime(int h, const char* sname, const char *sexp, long long lts, long long lte, long long *pltime, int *plrecs);
627
633 long long rdb_time();
634
647 long long rdb_localtime2rdbtime(int nyear, int nmon, int nday, int nhour, int nmin, int nsec, int nmsec);
648
662 bool rdb_rdbtime2localtime(T_TIME ltime, int *pnyear, int *pnmon, int *pnday, int *pnhour, int *pnmin, int *pnsec, int *pnmsec);
663
674 int rdb_initwritetodevice(int h, ctrl_OnValWriteToDevice funvalw, void* paramvalw, ctrl_OnObjWriteToDevice funobjw, void* paramobjw);
675
684 int rdb_regctrltag(int h, const char* stagname);
685
694
703
712 int rdbtime_tostr(int64_t ltime, char *sout, size_t outsize);
713
721 int64_t rdbtime_fromstr(const char *str, size_t zlen);
722
730 void rdb_md5_encode(const void* pdata, int nsize, unsigned char out[16]);
731
741 int rdb_base64_encode(const void* pdata, int nsize, char *sout, int noutsize);
742
752 int rdb_base64_decode(const char* pdata, int nsize, unsigned char *sout, int noutsize);
753
760 const char* rdb_geterrmsg(int nerrcode);
761
769 int rdb_manual_set(int h, rec_tagval *pval);
770
778 int rdb_manual_del(int h, const char* stagname);
779
790 int h,
791 const char *station,
792 void(*onread)(rec_tagval pvals[], int nitems, void* param),
793 void* puserparam);
794
809 int h,//in 句柄
810 const char* tagnames[], //标签名数组
811 int nsize,//个数
812 void(*funval)(const rec_tagval vals[], size_t valsize, void *param), void* param_val,
813 void(*funobj)(const rec_tagobj objs[], size_t objsize, void *param), void* param_obj
814 );
815
827 int rdb_callmsg(int h, const char* request, int requestsize, void(*fun)(const char* response, int sizeresponse, void* app_param), void* app_param);
828
838 int rdb_putmsg(int h, const char* jstr, int jstrsize);
839
848 int rdb_soesubscription_ex(int h, int flag, const char* station);
849
864 int rdb_soequery_ex(int h, const char* station
865 , long long lts, unsigned int autokey, long long lte, const char * sexp
866 , rdbcb_OnReadSoes pfun, void* puserparam);
867
877 int rdb_liststation(int h, void(*fun)(const char* jsresp, int sizeresp, void* app_param), void *app_param);
878
889 int rdb_getruninfo(int h, const char* stationid, void(*fun)(const char* jsresp, int sizeresp, void* app_param), void *app_param);
890
899 int rdb_tagext_inport(int h, tag_ext* pext, uint32_t umask);//导入单个标签的扩展属性.
900
909 int rdb_tagext_get(int h, tag_ext* ptags, int size);
910
918 int rdb_tagext_del(int h, const char* tagname);
919
930 int rdb_datadelete(int h, const char* tagname, const char* datetime_begin, const char* datetime_end, int* pnumdelrecords);
931
943 int rdb_soedelete(int h, const char* datetime_begin, unsigned int ukey_begin, const char* datetime_end, unsigned int ukey_end, int* pnumdelrecords);
944
957 int rdb_valinsertex(int h, const char* tagname, rec_val vals[], int numvals, int* pninsert, int* pnupdate, int* pnignore);
958
971 int rdb_objinsertex(int h, const char* tagname, rec_obj objs[], int numobjs, int* pninsert, int* pnupdate, int* pnignore);
972
994 int rdb_getworkmode(int h, int* pworkmode);
995
1018 int rdb_setworkmode(int h, int workmode, int* pworkmode);
1019
1031 int rdb_pushjsonmessage_setfun(int h, rdbcb_OnPushJsonMsgs fun, void* pfunparam);
1032
1046 int rdb_subscription_setfun(int h, rdbcb_OnPushValSnaps funVal, void* pValparam, rdbcb_OnPushObjSnaps funObj, void* pObjparam);
1047
1063 int h, //in 句柄
1064 int mode, //0:订阅后不推送随后一个记录;1:订阅需要推送最后一笔记录
1065 int codepage, //0:GBK, 1:utf8, 指示参数字符串和回调函数参数字符串使用的编码
1066 const char* tagnames[],//标签名数组
1067 int nsize, //个数
1068 void(*funErr)(const char* tagname, int errcode, void* param),//错误标签回调,有多错误回调多少次。
1069 void* paramFun //funErr里面的param
1070 );
1071
1086 int h, //in 句柄
1087 int codepage, //0:GBK, 1:utf8, 指示参数字符串和回调函数参数字符串使用的编码
1088 const char* tagnames[],//标签名数组
1089 int nsize, //个数
1090 void(*funErr)(const char* tagname, int errcode, void* param),//错误标签回调,有多错误回调多少次。
1091 void* paramFun //funErr里面的param
1092 );
1093
1103 int h //in 句柄
1104 );
1105
1118 int h, //in 句柄
1119 int codepage, //0:GBK, 1:utf8, 指示参数字符串和回调函数参数字符串使用的编码
1120 void(*funTag)(const char* tagname, void* param),//订阅标签回调,有多少标签回调多少次。
1121 void* paramFun //funTag里面的param
1122 );//读取订阅表
1123
1132
1143 int rdb_gbk2utf8(const char* sgbk, size_t gbksize, char* sout, size_t outsize);
1144
1155 int rdb_utf82gbk(const char* sutf8, size_t utf8size, char* sout, size_t outsize);
1156
1168 int rdb_jtime2string(long long jtime, char* out, size_t outsize, int useLocalTimeZone);
1169
1193 long long rdb_string2jtime(const char* sdatetime, size_t zlen);
1194
1195#ifdef __cplusplus
1196}
1197#endif
1198
1199#endif //RDBAPI_H
int rdb_create()
创建接口
int rdb_setmessagenotify(int h, rdbcd_onmessage fun, void *param)
设置消息通知回调函数
int rdb_destory(int h)
删除句柄
int rdb_setslavedb(int h, const char *sip, unsigned short wport, const char *sUser, const char *sPass)
设置从库
int rdb_connect(int h, const char *sServerIP, unsigned short wPort, const char *lpszUser, const char *lpszPass)
连接实时库
int rdb_disconnect(int h)
断开实时库
int rdb_setworkmode(int h, int workmode, int *pworkmode)
设置工作模式
int rdb_apiver()
rdbapi的文件版本
int rdb_connectex(int h, const char *surl, const char *sUser, const char *sPass, int nTimeOutSec)
高级模式连接实时库
int rdb_connectasyn(int h, const char *sServerIP, unsigned short wPort, const char *lpszUser, const char *lpszPass)
异步连接实时库
int rdb_getruninfo(int h, const char *stationid, void(*fun)(const char *jsresp, int sizeresp, void *app_param), void *app_param)
从中心站查询子站运行信息
int rdb_curdb(int h)
获取当前连接的实时库
int rdb_getworkmode(int h, int *pworkmode)
读取工作模式
int rdb_curdb_inver(int h)
获取当前实时库的内部版本
bool rdb_isconnected(int h)
判断连接状态
int rdb_manual_del(int h, const char *stagname)
取消人工置数
int rdb_manual_set(int h, rec_tagval *pval)
设置人工置数
int rdb_operatorsget(int h, rec_operator opts[], int nrecbufsize, int *pnopts)
读取账号表
int rdb_operatordel(int h, const char *sname)
删除用户账号
int rdb_operatoradd(int h, rec_operator *po)
添加用户账号
int rdb_actoradd(int h, rec_actor *pa)
添加用户角色
int rdb_operatormodifypass(int h, const char *sname, const char *soldpass, const char *snewpass)
更改自己密码
int rdb_actorsget(int h, rec_actor actors[], int nrecbufsize, int *pnacts)
读取角色表
int rdb_actordel(int h, const char *sname)
删除用户角色
int rdb_unsscsnaps(int h, int codepage, const char *tagnames[], int nsize, void(*funErr)(const char *tagname, int errcode, void *param), void *paramFun)
取消订阅快照
int rdb_subscription_setfun(int h, rdbcb_OnPushValSnaps funVal, void *pValparam, rdbcb_OnPushObjSnaps funObj, void *pObjparam)
设置订阅标签快照处理回调函数
int rdb_pushjsonmessage_setfun(int h, rdbcb_OnPushJsonMsgs fun, void *pfunparam)
设置处理实时库推送json消息的处理回调函数,用于高级用户自己解析订阅推送的快照和SOE
int rdb_unsscallsnaps(int h)
取消所有订阅
int rdb_sscsnaps(int h, int mode, int codepage, const char *tagnames[], int nsize, void(*funErr)(const char *tagname, int errcode, void *param), void *paramFun)
订阅快照,订阅后,当有新的快照数据写入实时库时,对每个订阅者推送一份快照数据。
int rdb_listsscsnaps(int h, int codepage, void(*funTag)(const char *tagname, void *param), void *paramFun)
读取当前自己的订阅表
int rbd_countstatuschang(int h, const char *sname, long long lts, long long lte, int nlowval, int nhighval, int *pnl2h, int *pnh2l)
值标签状态改变统计
int rdb_countvalue(int h, const char *sname, const char *sexp, long long lts, long long lte, rec_val *pMin, rec_val *pMax, double *pavg, double *psum, int *plrecs)
值标签数据记录统计
int rdb_getsnapshot(int h, const char *tagnames[], int nsize, void(*funval)(const rec_tagval vals[], size_t valsize, void *param), void *param_val, void(*funobj)(const rec_tagobj objs[], size_t objsize, void *param), void *param_obj)
读取快照,不分值标签还是对象标签
int rdb_liststation(int h, void(*fun)(const char *jsresp, int sizeresp, void *app_param), void *app_param)
从中心站查询当前在线子站列表和概要信息
int rdb_callmsg(int h, const char *request, int requestsize, void(*fun)(const char *response, int sizeresponse, void *app_param), void *app_param)
向实时库请求消息;
int rdb_soequery_ex(int h, const char *station, long long lts, unsigned int autokey, long long lte, const char *sexp, rdbcb_OnReadSoes pfun, void *puserparam)
查询SOE事件高级版,支持通过中心站从子站查询
int rdb_valquery(int h, const char *sname, const char *sexp, long long lts, long long lte, long long lds, int lflag, rdbcb_OnReadVals pfun, void *pParam)
查询值标签历史数据记录
int rdb_valgetsection(int h, long long ltime, int nflag, rec_tagval vals[], int nsize)
读取值标签历史断面数据
int rdb_objget(int h, const char *stagname, long long lts, long long lte, rdbcb_OnReadObjs pfun, void *pParam)
读取对象标签历史数据
int rdb_objgetsnapshot(int h, rec_tagobj pobjs[], int nsize)
读取对象标签快照数据(读对象标签实时数据)
int rdb_countvaltime(int h, const char *sname, const char *sexp, long long lts, long long lte, long long *pltime, int *plrecs)
值标签数据c持续时间统计
int rdb_soeput(int h, rec_soe psoe[], int nsize)
写入SOE事件
int rdb_soequery(int h, long long lts, unsigned int autokey, long long lte, const char *sexp, rdbcb_OnReadSoes pfun, void *pParam)
查询SOE事件
int rdb_soesubscription_ex(int h, int flag, const char *station)
订阅SOE的高级版,支持通过中心站订阅子站SOE
int rdb_soesubscription_setfun(int h, rdbcb_OnSscPutSoes fun, void *param)
设置处理订阅的SOE事件处理回调函数
int rdb_soesubscription(int h, int flag)
订阅SOE事件
int rdb_getoutlimit_snaps(int h, const char *station, void(*onread)(rec_tagval pvals[], int nitems, void *param), void *puserparam)
读取当前越限标签快照
int rdb_soeupdate(int h, rec_soe psoe[], int nsize)
更新SOE事件记录
int rdb_soedelete(int h, const char *datetime_begin, unsigned int ukey_begin, const char *datetime_end, unsigned int ukey_end, int *pnumdelrecords)
删除SOE记录, 双机热备时,只删除当前连接的实时库中数据。
int rdb_taginport(int h, unsigned int dwflag, rec_tag *ptag, int *presult)
导入(添加,更改)标签
int rdb_tagquery(int h, const char *snamefilter, const char *sdesfilter, int ndatatype, int ntagclass, rdbcb_OnReadTags pfun, void *pParam)
查询标签
int rdb_tagdel(int h, const char *sname)
删除标签
int rdb_tagext_inport(int h, tag_ext *pext, uint32_t umask)
导入标签扩展属性
int rdb_tagget(int h, rec_tag *ptag)
读取标签属性记录
int rdb_tagext_del(int h, const char *tagname)
删除一个标签的扩展属性
int rdb_tagext_get(int h, tag_ext *ptags, int size)
获取一批标签扩展属性
bool rdb_rdbtime2localtime(T_TIME ltime, int *pnyear, int *pnmon, int *pnday, int *pnhour, int *pnmin, int *pnsec, int *pnmsec)
实时库时标T_TIME分解为本地时间
long long rdb_string2jtime(const char *sdatetime, size_t zlen)
ISO8601字符串格式的时标转换为jtime(int64, 自1970-1-1开始的毫秒数,UTC时标(0时区))
int rdbtime_tostr(int64_t ltime, char *sout, size_t outsize)
实时库时间(从1970-1-1开始的100毫秒数)转换为字符串
long long rdb_localtime2rdbtime(int nyear, int nmon, int nday, int nhour, int nmin, int nsec, int nmsec)
本地时间合成为实时库时标T_TIME
int rdb_utf82gbk(const char *sutf8, size_t utf8size, char *sout, size_t outsize)
UTF8转GBK
const char * rdb_geterrmsg(int nerrcode)
根据错误码获取错误描述
int rdb_base64_decode(const char *pdata, int nsize, unsigned char *sout, int noutsize)
base64快速解码
int rdb_gbk2utf8(const char *sgbk, size_t gbksize, char *sout, size_t outsize)
GBK转UTF8
int rdb_base64_encode(const void *pdata, int nsize, char *sout, int noutsize)
base64快速编码
int rdb_jtime2string(long long jtime, char *out, size_t outsize, int useLocalTimeZone)
js时标转ISO8601格式字字符串时标,例"2023-2-20T12:10:32.123+08:00"
int64_t rdbtime_fromstr(const char *str, size_t zlen)
本地字符串表达的时间转换为实时库时间
void rdb_md5_encode(const void *pdata, int nsize, unsigned char out[16])
计算md5散列值
long long rdb_time()
获取当前时间的实时库时标
int rdb_datadelete(int h, const char *tagname, const char *datetime_begin, const char *datetime_end, int *pnumdelrecords)
删除标签数据记录, 双机热备时,只删除当前连接的实时库中数据。
int rdb_objinsert(int h, rec_tagobj pobjs[], int nsize)
补录对象标签历史数据(写对象标签历史数据)
int rdb_putmsg(int h, const char *jstr, int jstrsize)
向实时库推送消息
int rdb_valinsertex(int h, const char *tagname, rec_val vals[], int numvals, int *pninsert, int *pnupdate, int *pnignore)
值类型标签数据记录增强插入,无压缩插入一个标签的多条记录,用于备份或者数据维护,如果存在,不相同更改。 双机热备时,只在当前连接的实时库中插入数据。
int rdb_objinsertex(int h, const char *tagname, rec_obj objs[], int numobjs, int *pninsert, int *pnupdate, int *pnignore)
对像类型标签数据记录增强插入一个标签的多条记录,用于备份或者数据维护,如果存在,不相同更改。双机热备时,只在当前连接的实时库中插入数据。
int rdb_objputsnapshot(int h, rec_tagobj pobjs[], int nsize)
写对象标签快照(写对象标签实时数据)
int rdb_valputsnapshot(int h, rec_tagval vals[], int nsize)
写值标签快照(写值标签实时数据)
int rdb_valinsert(int h, rec_tagval vals[], int nsize)
补录值标签数据(写值标签历史数据)
int rdb_regctrltag(int h, const char *stagname)
注册控制标签
int rdb_writevaltodevice(int h, rec_tagval *pval)
写值标签的值到现场设备
bool(* rdbcb_OnReadSoes)(rec_soe psoes[], int nitems, void *pParam)
SOE记录查询回调函数,nitems <= 128 return false表示终止查询
Definition rdbapi.h:98
bool(* rdbcb_OnReadTags)(rec_tag ptags[], int nitems, void *pParam)
标签查询回调函数,nitems <= 256 return false表示终止查询
Definition rdbapi.h:86
void(* rdbcb_OnPushValSnaps)(const rec_tagval pvals[], int sizeVals, void *param)
服务器推送的订阅标签快照值数据回调函数
Definition rdbapi.h:112
int rdb_valgetsnapshot(int h, rec_tagval vals[], int nsize)
读取值标签快照(读值标签实时数据)
int rdb_initwritetodevice(int h, ctrl_OnValWriteToDevice funvalw, void *paramvalw, ctrl_OnObjWriteToDevice funobjw, void *paramobjw)
初始化写设备回调函数
int rdb_writeobjtodevice(int h, rec_tagobj *pobj)
写对象标签的值到现场设备
bool(* ctrl_OnObjWriteToDevice)(rec_tagobj *pobj, void *pParam)
对象标签写设备回调函数
Definition rdbapi.h:109
void(* rdbcb_OnPushObjSnaps)(const rec_tagobj pobjs[], int sizeObjs, void *param)
服务器推送的订阅标签快照对象数据回调函数
Definition rdbapi.h:115
void(* rdbcb_OnPushJsonMsgs)(const char *jstr, int sizejstr, void *param)
服务器推送的JSON消息(包括SOE和订阅数据推送)回调函数,适合高级用户自己解析订阅的SOE和订阅的快照数据JSON报文
Definition rdbapi.h:118
void(* rdbcb_OnSscPutSoes)(rec_soe psoes[], int nitems, void *param)
服务器推送的订阅SOE记录回调函数
Definition rdbapi.h:101
bool(* ctrl_OnValWriteToDevice)(rec_tagval *pval, void *pParam)
值标签写设备回调函数
Definition rdbapi.h:105
bool(* rdbcb_OnReadObjs)(rec_obj pobjs[], int nitems, void *pParam)
对象记录查询回调函数,nitems <= 64 return false表示终止查询
Definition rdbapi.h:94
void(* rdbcd_onmessage)(int nmsgcode, const char *smsg, void *param)
消息通知回调函数
Definition rdbapi.h:130
bool(* rdbcb_OnReadVals)(rec_val pvals[], int nitems, void *pParam)
值记录查询回调函数,nitems <= 2560 return false表示终止查询
Definition rdbapi.h:90
实时库数据定义,用于客户端接口和前段数据采集
T_I64 T_TIME
64位时标,精确到100毫秒,UTC/GMT(国际时间)自1970-1-1开始的100毫秒数 = time_t * 10
Definition rdbdef.h:28
角色记录,其中字符串为GBK编码
Definition rdbdef.h:219
对象数据记录
Definition rdbdef.h:174
账号记录,其中字符串为GBK编码
Definition rdbdef.h:204
事件记录
Definition rdbdef.h:230
标签属性记录,其中字符串为GBK编码
Definition rdbdef.h:101
对象标签数据记录
Definition rdbdef.h:195
值标签数据记录,其中字符串为GBK编码
Definition rdbdef.h:164
值数据记录
Definition rdbdef.h:143
标签扩展属性,其中字符串为GBK编码
Definition rdbdef.h:249