EPICS Base Release 3.16.0

This version of EPICS Base has not been released yet.

Changes between 3.15.x and 3.16.0

epicsTime API return status

The epicsTime routines that used to return epicsTimeERROR now return a specific S_time_ status value, allowing the caller to discover the reason for any failure. The identifier epicsTimeERROR is no longer defined, so any references to it in source code will no longer compile. The identifier epicsTimeOK still exists and has the value 0 as before, so most code that uses these APIs can be changed in a way that is backwards-compatible with the previous return status.

Time providers that have to return a status value and still need to be built with earlier versions of Base can define the necessary status symbols like this:

#include "epicsTime.h"

#ifndef M_time
/* S_time_... status values were not provided before Base 3.16 */
#define S_time_unsynchronized epicsTimeERROR
#define S_time_...whatever... epicsTimeERROR
#endif

Callback subsystem API

Added a new macro callbackGetPriority(prio, callback) to the callback.h header and removed the need for dbScan.c to reach into the internals of its CALLBACK objects.