8 #ifdef DATABUF_H_INC_LEVEL2
9 #ifdef epicsExportSharedSymbols
10 #define DATABUFL2_epicsExportSharedSymbols
11 #undef epicsExportSharedSymbols
20 #include <epicsTypes.h>
21 #include <epicsTime.h>
23 #include "mrf/object.h"
31 typedef void (*dataBufComplete)(
void *arg, epicsStatus ok,
32 epicsUInt32 len,
const epicsUInt8* buf);
39 explicit dataBufTx(
const std::string& n) : mrf::ObjectInst<dataBufTx>(n) {}
40 virtual ~dataBufTx()=0;
43 virtual bool dataTxEnabled()
const=0;
44 virtual void dataTxEnable(
bool)=0;
47 virtual bool dataRTS()
const=0;
49 virtual epicsUInt32 lenMax()
const=0;
56 virtual void dataSend(epicsUInt32 len,
const epicsUInt8 *buf)=0;
64 explicit dataBufRx(
const std::string& n) : mrf::ObjectInst<dataBufRx>(n) {}
66 virtual ~dataBufRx()=0;
68 virtual bool dataRxEnabled()
const=0;
69 virtual void dataRxEnable(
bool)=0;
79 virtual void dataRxError(dataBufComplete,
void*)=0;
86 virtual void dataRxAddReceive(dataBufComplete fptr,
void* arg=0)=0;
90 virtual void dataRxDeleteReceive(dataBufComplete fptr,
void* arg=0)=0;
95 #ifdef DATABUFL2_epicsExportSharedSymbols
96 #undef DATABUF_H_INC_LEVEL2
97 #define epicsExportSharedSymbols
User implementation hook.
Definition: object.h:460