rdbapi 5.1.1.4 实时数据库接口API

- 首页
- 相关页面
- 结构体
- 文件

- 文件列表
- 全局定义

rdbapi.h
浏览该文件的文档.
1
13 #ifndef RDBAPI_H
14 #define RDBAPI_H
15
16 #include "rdbdef.h"
17
18 #define DBR_SUCCESS 0 //成功
19 #define SE_ERRHANDLE (-1) //错误的句柄
20
21 //错误码
22 #define SE_OK 0x00 //成功
23 #define SE_SUCCESS SE_OK //成功
24 #define SE_FAILED 0x01 //失败
25 #define SE_TCP_CONNECT 0x02 //TCP连接错误
26 #define SE_TCP_PROXY_CONNECT 0x03 //SOCKET5代理错误
27 #define SE_TCP_PROXY_AUTH 0x04 //SOCKET5代理验证错误
28 #define SE_TCP_DISCONNECT 0x05 //TCP连接断开
29 #define SE_TCP_IO 0x06 //TCP网络IO错误
30 #define SE_TCP_CONSVRFAIL 0x07 //TCP连接服务器失败
31 #define SE_TCP_SENDBLOCK 0x08 //TCP发送阻塞
32 #define SE_TCP_ERRPKG 0x0A //TCP报文错误
33 #define SE_TCPCALLTIMEOUT 0x0B //TCP调用超时
34 #define SE_ERRARGS 0x0C //调用参数错误
35
36 #define SE_EXP 0x10 //表达式错误
37 #define SE_EXPVAR 0x11 //表达式引用变量错误
38 #define SE_EXPVAROVER 0x12 //表达式引用变量太多，最多允许4个
39 #define SE_BUSY 0x13 //服务器忙，未完成请求任务
40 #define SE_NOTCONNECT 0x1F //没有连接
41
42 #define SE_OPT_OK 0 //成功
43 #define SE_OPT_NOACTOR 0x20 //无此角色
44 #define SE_OPT_NOUSER 0x21 //无此账号
45 #define SE_OPT_PASSERR 0x22 //密码错误
46 #define SE_OPT_NOPOWER 0x23 //无此权限
47 #define SE_OPT_USEREXIST 0x24 //账号重复
48 #define SE_OPT_ACTOREXIST 0x25 //角色重复
49 #define SE_OPT_ACTORUSE 0x26 //角色正在使用
50 #define SE_OPT_NOLOGIN 0x27 //没有登录
51 #define SE_OPT_NOTACTIVE 0x28 //账号冻结
52 #define SE_OPT_OPTFULL 0x29 //账号满
53 #define SE_OPT_ACTFULL 0x2A //角色满
54
55 #define SE_TG_NOTAG 0x30 //无此标签
56 #define SE_TG_TAGFULL 0x31 //标签满
57 #define SE_TG_NOARCHIVE 0x32 //不归档
58
59 #define SE_DA_TIME 0x40 //时标错误
60 #define SE_DA_TYPE 0x41 //类型错误
61 #define SE_DA_QA 0x42 //质量错误
62 #define SE_DA_NODATA 0x43 //无数据
63
64 #define SE_CTRLNOROUTE 0x61 //无路由不能写
65 #define SE_CTRLOUTERR 0x62 //输出错误
66
67 #define SE_SRV_FRMNOOD 0xFF //无此命令
68 #define SE_SRV_FRMERR 0xFE //报文错误
69 #define SE_SRV_DBVER 0xFD //API和实时库版本不一致
70 #define SE_SRV_BACKUOPSRV 0XFB //备份服务器
71 #define SE_SRV_DEMOOVER 0xFC //试用过期,历史数据服务停止
72
75 typedef bool(*rdbcb_OnReadTags)(rec_tag ptags[], int nitems, void* pParam);
76
79 typedef bool(*rdbcb_OnReadVals)(rec_val pvals[], int nitems, void* pParam);
80
83 typedef bool(*rdbcb_OnReadObjs)(rec_obj pobjs[], int nitems, void* pParam);
84
87 typedef bool(*rdbcb_OnReadSoes)(rec_soe psoes[], int nitems, void* pParam);
88
90 typedef void(*rdbcb_OnSscPutSoes)(rec_soe psoes[], int nitems, void* param);
91
94 typedef bool(*ctrl_OnValWriteToDevice)(rec_tagval* pval, void* pParam);
95
98 typedef bool(*ctrl_OnObjWriteToDevice)(rec_tagobj* pobj, void* pParam);
99
100 #define MSGCODE_CONNECT_SUCCESS 60001
101 #define MSGCODE_CONNECT_FAILED 60002
102 #define MSGCODE_DISCONNECTED 60003
103
104
108 typedef void(*rdbcd_onmessage)(int nmsgcode, const char* smsg, void* param);
109
110 #ifdef __cplusplus
111 extern "C" {
112 #endif
113
125 int rdb_create();
126
132 int rdb_curdb(int h);
133
139 int rdb_curdb_inver(int h);
140
154 int rdb_setslavedb(int h, const char* sip, unsigned short wport, const char* sUser, const char* sPass);
155
162 int rdb_destory(int h);
163
171 int rdb_connectex(int h, const char* surl, const char* sUser, const char* sPass, int nTimeOutSec);
172
182 int rdb_connect(int h, const char *sServerIP, unsigned short wPort, const char * lpszUser, const char * lpszPass);
183
194 int rdb_connectasyn(int h, const char *sServerIP, unsigned short wPort, const char * lpszUser, const char * lpszPass);
195
202 int rdb_disconnect(int h);
203
209 bool rdb_isconnected(int h);
210
218 int rdb_actoradd(int h, rec_actor* pa);
219
227 int rdb_actordel(int h, const char *sname);
228
238 int rdb_actorsget(int h, rec_actor actors[], int nrecbufsize, int *pnacts);
239
247 int rdb_operatoradd(int h, rec_operator* po);
248
256 int rdb_operatordel(int h, const char *sname);
257
267 int rdb_operatorsget(int h, rec_operator opts[], int nrecbufsize, int *pnopts);
268
277 int rdb_operatormodifypass(int h, const char *sname, const char*soldpass, const char *snewpass);
278
287 int rdb_taginport(int h, unsigned int dwflag, rec_tag* ptag, int *presult);
288
295 int rdb_tagget(int h, rec_tag* ptag);
296
304 int rdb_tagdel(int h, const char *sname);
305
318 int rdb_tagquery(int h, const char* snamefilter, const char* sdesfilter, int ndatatype, int ntagclass, rdbcb_OnReadTags pfun, void* pParam);
319
330 int rdb_valputsnapshot(int h, rec_tagval vals[], int nsize);
331
339 int rdb_valgetsnapshot(int h, rec_tagval vals[], int nsize);
340
350 int rdb_valinsert(int h, rec_tagval vals[], int nsize);
351
362 int rdb_valgetsection(int h, long long ltime, int nflag, rec_tagval vals[], int nsize);
363
388 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);
389
400 int rdb_objputsnapshot(int h, rec_tagobj pobjs[], int nsize);
401
409 int rdb_objgetsnapshot(int h, rec_tagobj pobjs[], int nsize);
410
418 int rdb_objinsert(int h, rec_tagobj pobjs[], int nsize);
419
431 int rdb_objget(int h, const char* stagname, long long lts, long long lte, rdbcb_OnReadObjs pfun, void* pParam);
432
441 int rdb_soeput(int h, rec_soe psoe[], int nsize);
442
455 int rdb_soequery(int h, long long lts, unsigned int autokey, long long lte, const char * sexp, rdbcb_OnReadSoes pfun, void* pParam);
456
465 int rdb_soeupdate(int h, rec_soe psoe[], int nsize);
466
473 int rdb_soesubscription(int h, int flag);
474
483 int rdb_soesubscription_setfun(int h, rdbcb_OnSscPutSoes fun, void* param);
484
500 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);
501
515 int rbd_countstatuschang(int h, const char* sname, long long lts, long long lte, int nlowval, int nhighval, int *pnl2h, int *pnh2l);
516
529 int rdb_countvaltime(int h, const char* sname, const char *sexp, long long lts, long long lte, long long *pltime, int *plrecs);
530
535 long long rdb_time();
536
548 long long rdb_localtime2rdbtime(int nyear, int nmon, int nday, int nhour, int nmin, int nsec, int nmsec);
549
562 bool rdb_rdbtime2localtime(T_TIME ltime, int *pnyear, int *pnmon, int *pnday, int *pnhour, int *pnmin, int *pnsec, int *pnmsec);
563
574 int rdb_initwritetodevice(int h, ctrl_OnValWriteToDevice funvalw, void* paramvalw, ctrl_OnObjWriteToDevice funobjw, void* paramobjw);
575
584 int rdb_regctrltag(int h, const char* stagname);
585
593 int rdb_writevaltodevice(int h, rec_tagval *pval);
594
602 int rdb_writeobjtodevice(int h, rec_tagobj *pobj);
603
610 int rdb_setmessagenotify(int h, rdbcd_onmessage fun, void* param);
611
619 int rdbtime_tostr(int64_t ltime, char *sout, size_t outsize);
620
627 int64_t rdbtime_fromstr(const char *str, size_t zlen);
628
636 void rdb_md5_encode(const void* pdata, int nsize, unsigned char out[16]);
637
646 int rdb_base64_encode(const void* pdata, int nsize, char *sout, int noutsize);
647
656 int rdb_base64_decode(const char* pdata, int nsize, unsigned char *sout, int noutsize);
657
663 const char* rdb_geterrmsg(int nerrcode);
664
671 int rdb_manual_set(int h, rec_tagval *pval);
672
679 int rdb_manual_del(int h, const char* stagname);
680
689 int rdb_getoutlimit_snaps(
690 int h,
691 const char *station,
692 void(*onread)(rec_tagval pvals[], int nitems, void* param),
693 void* puserparam);
694
707 int rdb_getsnapshot(
708 int h,//in 句柄
709 const char* tagnames[], //标签名数组
710 int nsize,//个数
711 void(*funval)(const rec_tagval vals[], size_t valsize, void *param), void* param_val,
712 void(*funobj)(const rec_tagobj objs[], size_t objsize, void *param), void* param_obj
713 );
714
725 int rdb_callmsg(int h, const char* request, int requestsize, void(*fun)(const char* response, int sizeresponse, void* app_param), void* app_param);
726
735 int rdb_putmsg(int h, const char* jstr, int jstrsize);
736
744 int rdb_soesubscription_ex(int h, int flag, const char* station);
745
759 int rdb_soequery_ex(int h, const char* station
760 , long long lts, unsigned int autokey, long long lte, const char * sexp
761 , rdbcb_OnReadSoes pfun, void* puserparam);
762
771 int rdb_liststation(int h, void(*fun)(const char* jsresp, int sizeresp, void* app_param), void *app_param);
772
782 int rdb_getruninfo(int h, const char* stationid, void(*fun)(const char* jsresp, int sizeresp, void* app_param), void *app_param);
783
791 int rdb_tagext_inport(int h, tag_ext* pext, uint32_t umask);//导入单个标签的扩展属性.
792
800 int rdb_tagext_get(int h, tag_ext* ptags, int size);
801
808 int rdb_tagext_del(int h, const char* tagname);
809
810 #ifdef __cplusplus
811 }
812 #endif
813
814 #endif //RDBAPI_H
rdb_time
long long rdb_time()
获取当前时间的实时库时标
rdb_liststation
int rdb_liststation(int h, void(*fun)(const char *jsresp, int sizeresp, void *app_param), void *app_param)
从中心站查询当前在线子站列表和概要信息
rdb_objget
int rdb_objget(int h, const char *stagname, long long lts, long long lte, rdbcb_OnReadObjs pfun, void *pParam)
读取对象标签历史数据
rdb_isconnected
bool rdb_isconnected(int h)
判断连接状态
rdb_writevaltodevice
int rdb_writevaltodevice(int h, rec_tagval *pval)
写值标签的值到现场设备
rdbcd_onmessage
void(* rdbcd_onmessage)(int nmsgcode, const char *smsg, void *param)
消息通知回调函数
Definition: rdbapi.h:108
rdbtime_tostr
int rdbtime_tostr(int64_t ltime, char *sout, size_t outsize)
实时库时间(从1970-1-1开始的100毫秒数)转换为字符串
rdb_tagext_get
int rdb_tagext_get(int h, tag_ext *ptags, int size)
获取一批标签扩展属性
rdb_valgetsnapshot
int rdb_valgetsnapshot(int h, rec_tagval vals[], int nsize)
读取值标签快照(读值标签实时数据)
rec_soe
事件记录
Definition: rdbdef.h:262
rdb_connectex
int rdb_connectex(int h, const char *surl, const char *sUser, const char *sPass, int nTimeOutSec)
高级连接,rdb2020.3版开始增加的接口
rdb_soesubscription_setfun
int rdb_soesubscription_setfun(int h, rdbcb_OnSscPutSoes fun, void *param)
设置处理订阅的SOE事件处理回调函数
rdb_tagdel
int rdb_tagdel(int h, const char *sname)
删除标签
rdb_curdb
int rdb_curdb(int h)
获取当前连接的实时库
rdb_geterrmsg
const char * rdb_geterrmsg(int nerrcode)
根据错误码获取错误描述
rdb_countvaltime
int rdb_countvaltime(int h, const char *sname, const char *sexp, long long lts, long long lte, long long *pltime, int *plrecs)
值标签数据c持续时间统计
rdb_valquery
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)
查询值标签历史数据记录
rdb_operatoradd
int rdb_operatoradd(int h, rec_operator*po)
添加用户账号
rec_actor
角色记录
Definition: rdbdef.h:251
rdb_tagquery
int rdb_tagquery(int h, const char *snamefilter, const char *sdesfilter, int ndatatype, int ntagclass, rdbcb_OnReadTags pfun, void *pParam)
查询标签
rbd_countstatuschang
int rbd_countstatuschang(int h, const char *sname, long long lts, long long lte, int nlowval, int nhighval, int *pnl2h, int *pnh2l)
值标签状态改变统计
rec_tagval
值标签数据记录
Definition: rdbdef.h:196
rdb_putmsg
int rdb_putmsg(int h, const char *jstr, int jstrsize)
向实时库推送消息
rdb_getruninfo
int rdb_getruninfo(int h, const char *stationid, void(*fun)(const char *jsresp, int sizeresp, void *app_param), void *app_param)
从中心站查询子站运行信息
rdb_taginport
int rdb_taginport(int h, unsigned int dwflag, rec_tag *ptag, int *presult)
导入(添加,更改)标签
rdb_operatorsget
int rdb_operatorsget(int h, rec_operator opts[], int nrecbufsize, int *pnopts)
读取账号表
rdb_objgetsnapshot
int rdb_objgetsnapshot(int h, rec_tagobj pobjs[], int nsize)
读取对象标签快照数据(读对象标签实时数据)
rdb_setmessagenotify
int rdb_setmessagenotify(int h, rdbcd_onmessage fun, void *param)
设置消息回掉函数
tag_ext
标签扩展属性
Definition: rdbdef.h:282
rec_obj
对象数据记录
Definition: rdbdef.h:207
rdb_actorsget
int rdb_actorsget(int h, rec_actor actors[], int nrecbufsize, int *pnacts)
读取角色表
rdb_regctrltag
int rdb_regctrltag(int h, const char *stagname)
注册控制标签
rdb_operatordel
int rdb_operatordel(int h, const char *sname)
删除用户账号
rec_tagobj
对象标签数据记录
Definition: rdbdef.h:227
rec_operator
账号记录
Definition: rdbdef.h:236
rdbcb_OnSscPutSoes
void(* rdbcb_OnSscPutSoes)(rec_soe psoes[], int nitems, void *param)
服务器推送的订阅SOE记录回调函数
Definition: rdbapi.h:90
rdbcb_OnReadTags
bool(* rdbcb_OnReadTags)(rec_tag ptags[], int nitems, void *pParam)
标签查询回调函数,nitems <= 256 return false表示终止查询
Definition: rdbapi.h:75
rdb_operatormodifypass
int rdb_operatormodifypass(int h, const char *sname, const char *soldpass, const char *snewpass)
更改自己密码
rec_val
值数据记录
Definition: rdbdef.h:175
rdb_objputsnapshot
int rdb_objputsnapshot(int h, rec_tagobj pobjs[], int nsize)
写对象标签快照(写对象标签实时数据)
rdb_soeput
int rdb_soeput(int h, rec_soe psoe[], int nsize)
写入SOE事件
rdb_actordel
int rdb_actordel(int h, const char *sname)
删除用户角色
ctrl_OnObjWriteToDevice
bool(* ctrl_OnObjWriteToDevice)(rec_tagobj *pobj, void *pParam)
对象标签写设备回调函数
Definition: rdbapi.h:98
rdb_connect
int rdb_connect(int h, const char *sServerIP, unsigned short wPort, const char *lpszUser, const char *lpszPass)
连接实时库
rdb_soesubscription_ex
int rdb_soesubscription_ex(int h, int flag, const char *station)
订阅SOE的高级版，支持通过中心站订阅子站SOE
rdb_localtime2rdbtime
long long rdb_localtime2rdbtime(int nyear, int nmon, int nday, int nhour, int nmin, int nsec, int nmsec)
本地时间合成为实时库时标T_TIME
rdb_tagget
int rdb_tagget(int h, rec_tag *ptag)
读取标签属性记录
rdb_writeobjtodevice
int rdb_writeobjtodevice(int h, rec_tagobj *pobj)
写对象标签的值到现场设备
rec_tag
标签属性记录
Definition: rdbdef.h:133
rdb_base64_encode
int rdb_base64_encode(const void *pdata, int nsize, char *sout, int noutsize)
base64快速编码
rdb_rdbtime2localtime
bool rdb_rdbtime2localtime(T_TIME ltime, int *pnyear, int *pnmon, int *pnday, int *pnhour, int *pnmin, int *pnsec, int *pnmsec)
实时库时标T_TIME分解为本地时间
rdb_soeupdate
int rdb_soeupdate(int h, rec_soe psoe[], int nsize)
更新SOE事件记录
ctrl_OnValWriteToDevice
bool(* ctrl_OnValWriteToDevice)(rec_tagval *pval, void *pParam)
值标签写设备回调函数
Definition: rdbapi.h:94
rdb_initwritetodevice
int rdb_initwritetodevice(int h, ctrl_OnValWriteToDevice funvalw, void *paramvalw, ctrl_OnObjWriteToDevice funobjw, void *paramobjw)
初始化写设备回调函数
rdb_valinsert
int rdb_valinsert(int h, rec_tagval vals[], int nsize)
补录值标签数据(写值标签历史数据)
rdb_soequery_ex
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事件高级版，支持通过中心站从子站查询
rdb_connectasyn
int rdb_connectasyn(int h, const char *sServerIP, unsigned short wPort, const char *lpszUser, const char *lpszPass)
异步连接实时库
rdb_curdb_inver
int rdb_curdb_inver(int h)
获取当前实时库的内部版本
rdb_manual_del
int rdb_manual_del(int h, const char *stagname)
取消人工置数
rdb_getsnapshot
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)
读取快照,不分值标签还是对象标签
rdbcb_OnReadObjs
bool(* rdbcb_OnReadObjs)(rec_obj pobjs[], int nitems, void *pParam)
对象记录查询回调函数,nitems <= 64 return false表示终止查询
Definition: rdbapi.h:83
rdb_valputsnapshot
int rdb_valputsnapshot(int h, rec_tagval vals[], int nsize)
写值标签快照(写值标签实时数据)
rdb_soesubscription
int rdb_soesubscription(int h, int flag)
订阅SOE事件
rdb_manual_set
int rdb_manual_set(int h, rec_tagval *pval)
设置人工置数
rdb_destory
int rdb_destory(int h)
删除句柄
rdb_objinsert
int rdb_objinsert(int h, rec_tagobj pobjs[], int nsize)
补录对象标签历史数据(写对象标签历史数据)
rdb_valgetsection
int rdb_valgetsection(int h, long long ltime, int nflag, rec_tagval vals[], int nsize)
读取值标签历史断面数据
rdb_md5_encode
void rdb_md5_encode(const void *pdata, int nsize, unsigned char out[16])
计算md5散列值
rdb_setslavedb
int rdb_setslavedb(int h, const char *sip, unsigned short wport, const char *sUser, const char *sPass)
设置从库
rdb_getoutlimit_snaps
int rdb_getoutlimit_snaps(int h, const char *station, void(*onread)(rec_tagval pvals[], int nitems, void *param), void *puserparam)
读取当前越限标签快照
rdb_actoradd
int rdb_actoradd(int h, rec_actor *pa)
添加用户角色
rdb_disconnect
int rdb_disconnect(int h)
断开实时库
rdb_soequery
int rdb_soequery(int h, long long lts, unsigned int autokey, long long lte, const char *sexp, rdbcb_OnReadSoes pfun, void *pParam)
查询SOE事件
rdb_callmsg
int rdb_callmsg(int h, const char *request, int requestsize, void(*fun)(const char *response, int sizeresponse, void *app_param), void *app_param)
向实时库请求消息;
rdbcb_OnReadSoes
bool(* rdbcb_OnReadSoes)(rec_soe psoes[], int nitems, void *pParam)
SOE记录查询回调函数,nitems <= 128 return false表示终止查询
Definition: rdbapi.h:87
rdb_base64_decode
int rdb_base64_decode(const char *pdata, int nsize, unsigned char *sout, int noutsize)
base64快速解码
rdb_create
int rdb_create()
创建接口
rdb_tagext_del
int rdb_tagext_del(int h, const char *tagname)
删除一个标签的扩展属性
rdb_countvalue
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)
值标签数据记录统计
rdb_tagext_inport
int rdb_tagext_inport(int h, tag_ext *pext, uint32_t umask)
导入标签扩展属性
rdbcb_OnReadVals
bool(* rdbcb_OnReadVals)(rec_val pvals[], int nitems, void *pParam)
值记录查询回调函数,nitems <= 2560 return false表示终止查询
Definition: rdbapi.h:79
rdbtime_fromstr
int64_t rdbtime_fromstr(const char *str, size_t zlen)
本地字符串表达的时间转换为实时库时间