39 lines
1.0 KiB
C
39 lines
1.0 KiB
C
struct epicsPV_s {
|
|
chid channel;
|
|
union {
|
|
void* data;
|
|
struct dbr_time_char* CHAR;
|
|
struct dbr_time_short* SHORT;
|
|
struct dbr_time_long* LONG;
|
|
struct dbr_time_float* FLOAT;
|
|
struct dbr_time_double* DOUBLE;
|
|
struct dbr_time_enum* ENUM;
|
|
struct dbr_time_string* STRING;
|
|
};
|
|
union {
|
|
void* info;
|
|
struct dbr_ctrl_char* info_CHAR;
|
|
struct dbr_ctrl_short* info_SHORT;
|
|
struct dbr_ctrl_long* info_LONG;
|
|
struct dbr_ctrl_float* info_FLOAT;
|
|
struct dbr_ctrl_double* info_DOUBLE;
|
|
struct dbr_ctrl_enum* info_ENUM;
|
|
};
|
|
const char* units;
|
|
int precision;
|
|
caDatatype usedDatatype;
|
|
caDatatype requestedDatatype;
|
|
int status;
|
|
char stringrep[40];
|
|
PVconnectionCallback connectionCallback;
|
|
void* userarg;
|
|
};
|
|
|
|
/* don't use cagetList directly, use caget */
|
|
int cagetList(double timeoutSec, epicsPV pv1, ...);
|
|
|
|
extern const char* PVdataTypeStrings[9];
|
|
extern const char* PVconnectionStateStrings [4];
|
|
|
|
#define PV_WITHUNITS 1
|