21#define SE_ERRHANDLE (-1)
25#define SE_SUCCESS SE_OK
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
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
40#define SE_EXPVAROVER 0x12
42#define SE_NOTCONNECT 0x1F
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
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
64#define SE_DA_TIME 0x40
65#define SE_DA_TYPE 0x41
67#define SE_DA_NODATA 0x43
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
75#define SE_CTRLNOROUTE 0x61
76#define SE_CTRLOUTERR 0x62
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
120#define MSGCODE_CONNECT_SUCCESS 60001
121#define MSGCODE_CONNECT_FAILED 60002
122#define MSGCODE_DISCONNECTED 60003
168 int rdb_setslavedb(
int h,
const char* sip,
unsigned short wport,
const char* sUser,
const char* sPass);
204 int rdb_connectex(
int h,
const char* surl,
const char* sUser,
const char* sPass,
int nTimeOutSec);
218 int rdb_connect(
int h,
const char *sServerIP,
unsigned short wPort,
const char * lpszUser,
const char * lpszPass);
232 int rdb_connectasyn(
int h,
const char *sServerIP,
unsigned short wPort,
const char * lpszUser,
const char * lpszPass);
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);
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);
611 int rbd_countstatuschang(
int h,
const char* sname,
long long lts,
long long lte,
int nlowval,
int nhighval,
int *pnl2h,
int *pnh2l);
626 int rdb_countvaltime(
int h,
const char* sname,
const char *sexp,
long long lts,
long long lte,
long long *pltime,
int *plrecs);
792 void(*onread)(
rec_tagval pvals[],
int nitems,
void* param),
810 const char* tagnames[],
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
827 int rdb_callmsg(
int h,
const char* request,
int requestsize,
void(*fun)(
const char* response,
int sizeresponse,
void* app_param),
void* app_param);
865 ,
long long lts,
unsigned int autokey,
long long lte,
const char * sexp
877 int rdb_liststation(
int h,
void(*fun)(
const char* jsresp,
int sizeresp,
void* app_param),
void *app_param);
889 int rdb_getruninfo(
int h,
const char* stationid,
void(*fun)(
const char* jsresp,
int sizeresp,
void* app_param),
void *app_param);
930 int rdb_datadelete(
int h,
const char* tagname,
const char* datetime_begin,
const char* datetime_end,
int* pnumdelrecords);
943 int rdb_soedelete(
int h,
const char* datetime_begin,
unsigned int ukey_begin,
const char* datetime_end,
unsigned int ukey_end,
int* pnumdelrecords);
957 int rdb_valinsertex(
int h,
const char* tagname,
rec_val vals[],
int numvals,
int* pninsert,
int* pnupdate,
int* pnignore);
971 int rdb_objinsertex(
int h,
const char* tagname,
rec_obj objs[],
int numobjs,
int* pninsert,
int* pnupdate,
int* pnignore);
1066 const char* tagnames[],
1068 void(*funErr)(
const char* tagname,
int errcode,
void* param),
1088 const char* tagnames[],
1090 void(*funErr)(
const char* tagname,
int errcode,
void* param),
1120 void(*funTag)(
const char* tagname,
void* param),
1143 int rdb_gbk2utf8(
const char* sgbk,
size_t gbksize,
char* sout,
size_t outsize);
1155 int rdb_utf82gbk(
const char* sutf8,
size_t utf8size,
char* sout,
size_t outsize);
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)
获取一批标签扩展属性
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