18 #define DBR_SUCCESS 0 //成功
19 #define SE_ERRHANDLE (-1) //错误的句柄
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 //调用参数错误
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 //没有连接
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 //角色满
55 #define SE_TG_NOTAG 0x30 //无此标签
56 #define SE_TG_TAGFULL 0x31 //标签满
57 #define SE_TG_NOARCHIVE 0x32 //不归档
59 #define SE_DA_TIME 0x40 //时标错误
60 #define SE_DA_TYPE 0x41 //类型错误
61 #define SE_DA_QA 0x42 //质量错误
62 #define SE_DA_NODATA 0x43 //无数据
64 #define SE_CTRLNOROUTE 0x61 //无路由不能写
65 #define SE_CTRLOUTERR 0x62 //输出错误
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 //试用过期,历史数据服务停止
100 #define MSGCODE_CONNECT_SUCCESS 60001
101 #define MSGCODE_CONNECT_FAILED 60002
102 #define MSGCODE_DISCONNECTED 60003
154 int rdb_setslavedb(
int h,
const char* sip,
unsigned short wport,
const char* sUser,
const char* sPass);
171 int rdb_connectex(
int h,
const char* surl,
const char* sUser,
const char* sPass,
int nTimeOutSec);
182 int rdb_connect(
int h,
const char *sServerIP,
unsigned short wPort,
const char * lpszUser,
const char * lpszPass);
194 int rdb_connectasyn(
int h,
const char *sServerIP,
unsigned short wPort,
const char * lpszUser,
const char * lpszPass);
318 int rdb_tagquery(
int h,
const char* snamefilter,
const char* sdesfilter,
int ndatatype,
int ntagclass,
rdbcb_OnReadTags pfun,
void* pParam);
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);
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);
515 int rbd_countstatuschang(
int h,
const char* sname,
long long lts,
long long lte,
int nlowval,
int nhighval,
int *pnl2h,
int *pnh2l);
529 int rdb_countvaltime(
int h,
const char* sname,
const char *sexp,
long long lts,
long long lte,
long long *pltime,
int *plrecs);
548 long long rdb_localtime2rdbtime(
int nyear,
int nmon,
int nday,
int nhour,
int nmin,
int nsec,
int nmsec);
562 bool rdb_rdbtime2localtime(T_TIME ltime,
int *pnyear,
int *pnmon,
int *pnday,
int *pnhour,
int *pnmin,
int *pnsec,
int *pnmsec);
619 int rdbtime_tostr(int64_t ltime,
char *sout,
size_t outsize);
636 void rdb_md5_encode(
const void* pdata,
int nsize,
unsigned char out[16]);
656 int rdb_base64_decode(
const char* pdata,
int nsize,
unsigned char *sout,
int noutsize);
692 void(*onread)(
rec_tagval pvals[],
int nitems,
void* param),
709 const char* tagnames[],
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
725 int rdb_callmsg(
int h,
const char* request,
int requestsize,
void(*fun)(
const char* response,
int sizeresponse,
void* app_param),
void* app_param);
735 int rdb_putmsg(
int h,
const char* jstr,
int jstrsize);
760 ,
long long lts,
unsigned int autokey,
long long lte,
const char * sexp
771 int rdb_liststation(
int h,
void(*fun)(
const char* jsresp,
int sizeresp,
void* app_param),
void *app_param);
782 int rdb_getruninfo(
int h,
const char* stationid,
void(*fun)(
const char* jsresp,
int sizeresp,
void* app_param),
void *app_param);
long long rdb_time()
获取当前时间的实时库时标
int rdb_liststation(int h, void(*fun)(const char *jsresp, int sizeresp, void *app_param), void *app_param)
从中心站查询当前在线子站列表和概要信息
int rdb_objget(int h, const char *stagname, long long lts, long long lte, rdbcb_OnReadObjs pfun, void *pParam)
读取对象标签历史数据
bool rdb_isconnected(int h)
判断连接状态
int rdb_writevaltodevice(int h, rec_tagval *pval)
写值标签的值到现场设备
void(* rdbcd_onmessage)(int nmsgcode, const char *smsg, void *param)
消息通知回调函数
Definition: rdbapi.h:108
int rdbtime_tostr(int64_t ltime, char *sout, size_t outsize)
实时库时间(从1970-1-1开始的100毫秒数)转换为字符串
int rdb_tagext_get(int h, tag_ext *ptags, int size)
获取一批标签扩展属性
int rdb_valgetsnapshot(int h, rec_tagval vals[], int nsize)
读取值标签快照(读值标签实时数据)
事件记录
Definition: rdbdef.h:262
int rdb_connectex(int h, const char *surl, const char *sUser, const char *sPass, int nTimeOutSec)
高级连接,rdb2020.3版开始增加的接口
int rdb_soesubscription_setfun(int h, rdbcb_OnSscPutSoes fun, void *param)
设置处理订阅的SOE事件处理回调函数
int rdb_tagdel(int h, const char *sname)
删除标签
int rdb_curdb(int h)
获取当前连接的实时库
const char * rdb_geterrmsg(int nerrcode)
根据错误码获取错误描述
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_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_operatoradd(int h, rec_operator*po)
添加用户账号
角色记录
Definition: rdbdef.h:251
int rdb_tagquery(int h, const char *snamefilter, const char *sdesfilter, int ndatatype, int ntagclass, rdbcb_OnReadTags pfun, void *pParam)
查询标签
int rbd_countstatuschang(int h, const char *sname, long long lts, long long lte, int nlowval, int nhighval, int *pnl2h, int *pnh2l)
值标签状态改变统计
值标签数据记录
Definition: rdbdef.h:196
int rdb_putmsg(int h, const char *jstr, int jstrsize)
向实时库推送消息
int rdb_getruninfo(int h, const char *stationid, void(*fun)(const char *jsresp, int sizeresp, void *app_param), void *app_param)
从中心站查询子站运行信息
int rdb_taginport(int h, unsigned int dwflag, rec_tag *ptag, int *presult)
导入(添加,更改)标签
int rdb_operatorsget(int h, rec_operator opts[], int nrecbufsize, int *pnopts)
读取账号表
int rdb_objgetsnapshot(int h, rec_tagobj pobjs[], int nsize)
读取对象标签快照数据(读对象标签实时数据)
int rdb_setmessagenotify(int h, rdbcd_onmessage fun, void *param)
设置消息回掉函数
标签扩展属性
Definition: rdbdef.h:282
对象数据记录
Definition: rdbdef.h:207
int rdb_actorsget(int h, rec_actor actors[], int nrecbufsize, int *pnacts)
读取角色表
int rdb_regctrltag(int h, const char *stagname)
注册控制标签
int rdb_operatordel(int h, const char *sname)
删除用户账号
对象标签数据记录
Definition: rdbdef.h:227
账号记录
Definition: rdbdef.h:236
void(* rdbcb_OnSscPutSoes)(rec_soe psoes[], int nitems, void *param)
服务器推送的订阅SOE记录回调函数
Definition: rdbapi.h:90
bool(* rdbcb_OnReadTags)(rec_tag ptags[], int nitems, void *pParam)
标签查询回调函数,nitems <= 256 return false表示终止查询
Definition: rdbapi.h:75
int rdb_operatormodifypass(int h, const char *sname, const char *soldpass, const char *snewpass)
更改自己密码
值数据记录
Definition: rdbdef.h:175
int rdb_objputsnapshot(int h, rec_tagobj pobjs[], int nsize)
写对象标签快照(写对象标签实时数据)
int rdb_soeput(int h, rec_soe psoe[], int nsize)
写入SOE事件
int rdb_actordel(int h, const char *sname)
删除用户角色
bool(* ctrl_OnObjWriteToDevice)(rec_tagobj *pobj, void *pParam)
对象标签写设备回调函数
Definition: rdbapi.h:98
int rdb_connect(int h, const char *sServerIP, unsigned short wPort, const char *lpszUser, const char *lpszPass)
连接实时库
int rdb_soesubscription_ex(int h, int flag, const char *station)
订阅SOE的高级版,支持通过中心站订阅子站SOE
long long rdb_localtime2rdbtime(int nyear, int nmon, int nday, int nhour, int nmin, int nsec, int nmsec)
本地时间合成为实时库时标T_TIME
int rdb_tagget(int h, rec_tag *ptag)
读取标签属性记录
int rdb_writeobjtodevice(int h, rec_tagobj *pobj)
写对象标签的值到现场设备
标签属性记录
Definition: rdbdef.h:133
int rdb_base64_encode(const void *pdata, int nsize, char *sout, int noutsize)
base64快速编码
bool rdb_rdbtime2localtime(T_TIME ltime, int *pnyear, int *pnmon, int *pnday, int *pnhour, int *pnmin, int *pnsec, int *pnmsec)
实时库时标T_TIME分解为本地时间
int rdb_soeupdate(int h, rec_soe psoe[], int nsize)
更新SOE事件记录
bool(* ctrl_OnValWriteToDevice)(rec_tagval *pval, void *pParam)
值标签写设备回调函数
Definition: rdbapi.h:94
int rdb_initwritetodevice(int h, ctrl_OnValWriteToDevice funvalw, void *paramvalw, ctrl_OnObjWriteToDevice funobjw, void *paramobjw)
初始化写设备回调函数
int rdb_valinsert(int h, rec_tagval vals[], int nsize)
补录值标签数据(写值标签历史数据)
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_connectasyn(int h, const char *sServerIP, unsigned short wPort, const char *lpszUser, const char *lpszPass)
异步连接实时库
int rdb_curdb_inver(int h)
获取当前实时库的内部版本
int rdb_manual_del(int h, const char *stagname)
取消人工置数
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)
读取快照,不分值标签还是对象标签
bool(* rdbcb_OnReadObjs)(rec_obj pobjs[], int nitems, void *pParam)
对象记录查询回调函数,nitems <= 64 return false表示终止查询
Definition: rdbapi.h:83
int rdb_valputsnapshot(int h, rec_tagval vals[], int nsize)
写值标签快照(写值标签实时数据)
int rdb_soesubscription(int h, int flag)
订阅SOE事件
int rdb_manual_set(int h, rec_tagval *pval)
设置人工置数
int rdb_destory(int h)
删除句柄
int rdb_objinsert(int h, rec_tagobj pobjs[], int nsize)
补录对象标签历史数据(写对象标签历史数据)
int rdb_valgetsection(int h, long long ltime, int nflag, rec_tagval vals[], int nsize)
读取值标签历史断面数据
void rdb_md5_encode(const void *pdata, int nsize, unsigned char out[16])
计算md5散列值
int rdb_setslavedb(int h, const char *sip, unsigned short wport, const char *sUser, const char *sPass)
设置从库
int rdb_getoutlimit_snaps(int h, const char *station, void(*onread)(rec_tagval pvals[], int nitems, void *param), void *puserparam)
读取当前越限标签快照
int rdb_actoradd(int h, rec_actor *pa)
添加用户角色
int rdb_disconnect(int h)
断开实时库
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_callmsg(int h, const char *request, int requestsize, void(*fun)(const char *response, int sizeresponse, void *app_param), void *app_param)
向实时库请求消息;
bool(* rdbcb_OnReadSoes)(rec_soe psoes[], int nitems, void *pParam)
SOE记录查询回调函数,nitems <= 128 return false表示终止查询
Definition: rdbapi.h:87
int rdb_base64_decode(const char *pdata, int nsize, unsigned char *sout, int noutsize)
base64快速解码
int rdb_tagext_del(int h, const char *tagname)
删除一个标签的扩展属性
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_tagext_inport(int h, tag_ext *pext, uint32_t umask)
导入标签扩展属性
bool(* rdbcb_OnReadVals)(rec_val pvals[], int nitems, void *pParam)
值记录查询回调函数,nitems <= 2560 return false表示终止查询
Definition: rdbapi.h:79
int64_t rdbtime_fromstr(const char *str, size_t zlen)
本地字符串表达的时间转换为实时库时间