+= full RSET definition for C++
This commit is contained in:
+36
-1
@@ -46,8 +46,40 @@
|
||||
|
||||
#ifndef INCrecSuph
|
||||
#define INCrecSuph 1
|
||||
typedef long (*RECSUPFUN) (); /* ptr to record support function*/
|
||||
|
||||
typedef long (*RECSUPFUN) (); /* ptr to record support function*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
#include <dbAddr.h>
|
||||
extern "C"
|
||||
{
|
||||
struct rset { // record support entry table
|
||||
long number; // no of support routines
|
||||
long (*report) ( const dbCommon * precord ); // print report
|
||||
long (*init) (); // init support
|
||||
long (*init_record) ( dbCommon * precord, int pass ); // init record
|
||||
long (*process) ( dbCommon * precord ); // process record
|
||||
long (*special) ( DBADDR * paddr, int after ); // special processing
|
||||
long (*get_value) (); // obsolete
|
||||
long (*cvt_dbaddr) ( DBADDR * paddr ); // convert dbaddr
|
||||
long (*get_array_info) ( const DBADDR * paddr,
|
||||
long * no_elements, long * offset );
|
||||
long (*put_array_info) ( const DBADDR * paddr, const long nNew );
|
||||
long (*get_units) ( const DBADDR * paddr, char * units );
|
||||
long (*get_precision) ( const DBADDR * paddr, long * precision );
|
||||
long (*get_enum_str) ( const DBADDR * paddr, char * pstring );
|
||||
long (*get_enum_strs) ( const DBADDR * paddr,
|
||||
struct dbr_enumStrs * pes );
|
||||
long (*put_enum_str) ( const DBADDR * paddr, const char * pstring );
|
||||
long (*get_graphic_double) ( const DBADDR * paddr,
|
||||
struct dbr_grDouble * pgd );
|
||||
long (*get_control_double) ( const DBADDR * paddr,
|
||||
struct dbr_ctrlDouble * pcd );
|
||||
long (*get_alarm_double) ( const DBADDR * paddr,
|
||||
struct dbr_alDouble * pad );
|
||||
};
|
||||
}
|
||||
#else
|
||||
struct rset { /* record support entry table */
|
||||
long number; /*number of support routines */
|
||||
RECSUPFUN report; /*print report */
|
||||
@@ -68,8 +100,11 @@ struct rset { /* record support entry table */
|
||||
RECSUPFUN get_control_double;
|
||||
RECSUPFUN get_alarm_double;
|
||||
};
|
||||
#endif /* ifdef __cplusplus else */
|
||||
|
||||
#define RSETNUMBER ( (sizeof(struct rset) - sizeof(long))/sizeof(RECSUPFUN) )
|
||||
|
||||
|
||||
#define S_rec_noRSET (M_recSup| 1) /*Missing record support entry table*/
|
||||
#define S_rec_noSizeOffset (M_recSup| 2) /*Missing SizeOffset Routine*/
|
||||
#define S_rec_outMem (M_recSup| 3) /*Out of Memory*/
|
||||
|
||||
Reference in New Issue
Block a user