diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index f5936bcc2..d3a03bf4c 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -107,6 +107,27 @@ preprocessor macro):
#endif +If the code uses the old db_access.h types (probably because it's calling +Channel Access APIs) then it will have to test against the EPICS version number +instead, like this:
+ +++#include <epicsVersion.h> + +#ifndef VERSION_INT +# define VERSION_INT(V,R,M,P) ( ((V)<<24) | ((R)<<16) | ((M)<<8) | (P)) +#endif +#ifndef EPICS_VERSION_INT +# define EPICS_VERSION_INT VERSION_INT(EPICS_VERSION, EPICS_REVISION, EPICS_MODIFICATION, EPICS_PATCH_LEVEL) +#endif + +#if EPICS_VERSION_INT >= VERSION_INT(3,16,1,0) + /* Code where Base has INT64 support */ +#else + /* Code for older versions */ +#endif +
Channel Access does not (and probably never will) directly support 64-bit integer types, so the new field types are presented to the CA server as DBF_DOUBLE values. This means that field values larger than 2^52