more changes to get epicsShare to work on win32

This commit is contained in:
Marty Kraimer
2003-03-28 20:25:43 +00:00
parent 21ee244b5e
commit 4b95841fcd
43 changed files with 142 additions and 111 deletions
+13 -8
View File
@@ -18,19 +18,20 @@
#define INCdevSuph 1
#ifdef __cplusplus
extern "C" {
typedef long (*DEVSUPFUN)(void*); /* ptr to device support function*/
#else
typedef long (*DEVSUPFUN)(); /* ptr to device support function*/
#endif
struct dset { /* device support entry table */
long number; /*number of support routines*/
DEVSUPFUN report; /*print report*/
DEVSUPFUN init; /*init support*/
DEVSUPFUN init_record; /*init support for particular record*/
DEVSUPFUN get_ioint_info; /* get io interrupt information*/
/*other functions are record dependent*/
};
typedef struct dset { /* device support entry table */
long number; /*number of support routines*/
DEVSUPFUN report; /*print report*/
DEVSUPFUN init; /*init support*/
DEVSUPFUN init_record; /*init support for particular record*/
DEVSUPFUN get_ioint_info; /* get io interrupt information*/
/*other functions are record dependent*/
}dset;
#define S_dev_noDevSup (M_devSup| 1) /*SDR_DEVSUP: Device support missing*/
#define S_dev_noDSET (M_devSup| 3) /*Missing device support entry table*/
@@ -45,4 +46,8 @@ struct dset { /* device support entry table */
#define S_dev_Conflict (M_devSup|21) /*Multiple records accessing same signal*/
#define S_dev_noDeviceFound (M_devSup|23) /*No device found at specified address*/
#ifdef __cplusplus
} // extern "C"
#endif
#endif
+14 -36
View File
@@ -16,40 +16,14 @@
#ifndef INCrecSuph
#define INCrecSuph 1
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 );
};
}
extern "C" {
typedef long (*RECSUPFUN) (void *); /* ptr to record support function*/
#else
struct rset { /* record support entry table */
typedef long (*RECSUPFUN) (); /* ptr to record support function*/
#endif
typedef struct rset { /* record support entry table */
long number; /*number of support routines */
RECSUPFUN report; /*print report */
RECSUPFUN init; /*init support */
@@ -68,8 +42,7 @@ struct rset { /* record support entry table */
RECSUPFUN get_graphic_double;
RECSUPFUN get_control_double;
RECSUPFUN get_alarm_double;
};
#endif /* ifdef __cplusplus else */
}rest;
#define RSETNUMBER ( (sizeof(struct rset) - sizeof(long))/sizeof(RECSUPFUN) )
@@ -81,11 +54,11 @@ struct rset { /* record support entry table */
/* Definition os structure for routine get_value */
struct valueDes {
typedef struct valueDes {
long field_type;
long no_elements;
void * pvalue;
};
}valueDes;
/************************************************************************
* report(FILE fp,void *precord);
@@ -106,4 +79,9 @@ struct valueDes {
* get_control_double(paddr,struct dbr_ctrlDouble *p);
* get_alarm_double(paddr,struct dbr_ctrlDouble *p);
***********************************************************************/
#ifdef __cplusplus
} // extern "C"
#endif
#endif /*INCrecSuph*/