1 #ifndef asynPortClient_H
2 #define asynPortClient_H
7 #include <epicsString.h>
9 #include <asynDriver.h>
10 #include <asynInt32.h>
11 #include <asynInt32SyncIO.h>
12 #include <asynUInt32Digital.h>
13 #include <asynUInt32DigitalSyncIO.h>
14 #include <asynFloat64.h>
15 #include <asynFloat64SyncIO.h>
16 #include <asynOctet.h>
17 #include <asynOctetSyncIO.h>
18 #include <asynInt8Array.h>
19 #include <asynInt8ArraySyncIO.h>
20 #include <asynInt16Array.h>
21 #include <asynInt16ArraySyncIO.h>
22 #include <asynInt32Array.h>
23 #include <asynInt32ArraySyncIO.h>
24 #include <asynFloat32Array.h>
25 #include <asynFloat32ArraySyncIO.h>
26 #include <asynFloat64Array.h>
27 #include <asynFloat64ArraySyncIO.h>
28 #include <asynGenericPointer.h>
29 #include <asynGenericPointerSyncIO.h>
31 #include <asynEnumSyncIO.h>
32 #include <asynOption.h>
33 #include <asynOptionSyncIO.h>
34 #include <asynCommonSyncIO.h>
35 #include <asynDrvUser.h>
37 #define DEFAULT_TIMEOUT 1.0
44 asynPortClient(
const char *portName,
int addr,
const char* asynInterfaceType,
const char *drvInfo,
double timeout);
47 { timeout_ = timeout; };
48 void report(FILE *fp,
int details);
73 :
asynPortClient(portName, addr, asynInt32Type, drvInfo, timeout) {
74 pInterface_ = (asynInt32 *)pasynInterface_->pinterface;
75 if (pasynInt32SyncIO->connect(portName, addr, &pasynUserSyncIO_, drvInfo))
76 throw std::runtime_error(std::string(
"pasynInt32SyncIO->connect failed"));
80 if (pInterface_ && interruptPvt_)
81 pInterface_->cancelInterruptUser(pasynInterface_->drvPvt, pasynUser_, interruptPvt_);
82 pasynInt32SyncIO->disconnect(pasynUserSyncIO_);
86 virtual asynStatus
read(epicsInt32 *value) {
87 return pasynInt32SyncIO->read(pasynUserSyncIO_, value, timeout_);
91 virtual asynStatus
write(epicsInt32 value) {
92 return pasynInt32SyncIO->write(pasynUserSyncIO_, value, timeout_);
97 virtual asynStatus
getBounds(epicsInt32 *low, epicsInt32 *high) {
98 return pasynInt32SyncIO->getBounds(pasynUserSyncIO_, low, high);
103 if(interruptPvt_!=NULL)
return asynError;
104 return pInterface_->registerInterruptUser(pasynInterface_->drvPvt, pasynUser_,
105 pCallback,
this, &interruptPvt_);
108 asynInt32 *pInterface_;
122 :
asynPortClient(portName, addr, asynUInt32DigitalType, drvInfo, timeout) {
123 pInterface_ = (asynUInt32Digital *)pasynInterface_->pinterface;
124 if (pasynUInt32DigitalSyncIO->connect(portName, addr, &pasynUserSyncIO_, drvInfo))
125 throw std::runtime_error(std::string(
"pasynInt32SyncIO->connect failed"));
129 pasynUInt32DigitalSyncIO->disconnect(pasynUserSyncIO_);
134 virtual asynStatus
read(epicsUInt32 *value, epicsUInt32 mask) {
135 return pasynUInt32DigitalSyncIO->read(pasynUserSyncIO_, value, mask, timeout_);
140 virtual asynStatus
write(epicsUInt32 value, epicsUInt32 mask){
141 return pasynUInt32DigitalSyncIO->write(pasynUserSyncIO_, value, mask, timeout_);
146 virtual asynStatus
setInterrupt(epicsUInt32 mask, interruptReason reason) {
147 return pasynUInt32DigitalSyncIO->setInterrupt(pasynUserSyncIO_, mask, reason, timeout_);
152 return pasynUInt32DigitalSyncIO->clearInterrupt(pasynUserSyncIO_, mask, timeout_);
157 virtual asynStatus
getInterrupt(epicsUInt32 *mask, interruptReason reason) {
158 return pasynUInt32DigitalSyncIO->getInterrupt(pasynUserSyncIO_, mask, reason, timeout_);
164 return pInterface_->registerInterruptUser(pasynInterface_->drvPvt, pasynUser_,
165 pCallback,
this, mask, &interruptPvt_);
168 asynUInt32Digital *pInterface_;
182 :
asynPortClient(portName, addr, asynFloat64Type, drvInfo, timeout) {
183 pInterface_ = (asynFloat64 *)pasynInterface_->pinterface;
184 if (pasynFloat64SyncIO->connect(portName, addr, &pasynUserSyncIO_, drvInfo))
185 throw std::runtime_error(std::string(
"pasynFloat64SyncIO->connect failed"));
189 pasynFloat64SyncIO->disconnect(pasynUserSyncIO_);
193 virtual asynStatus
read(epicsFloat64 *value) {
194 return pasynFloat64SyncIO->read(pasynUserSyncIO_, value, timeout_);
198 virtual asynStatus
write(epicsFloat64 value) {
199 return pasynFloat64SyncIO->write(pasynUserSyncIO_, value, timeout_);
204 return pInterface_->registerInterruptUser(pasynInterface_->drvPvt, pasynUser_,
205 pCallback,
this, &interruptPvt_);
208 asynFloat64 *pInterface_;
222 :
asynPortClient(portName, addr, asynOctetType, drvInfo, timeout) {
223 pInterface_ = (asynOctet *)pasynInterface_->pinterface;
224 if (pasynOctetSyncIO->connect(portName, addr, &pasynUserSyncIO_, drvInfo))
225 throw std::runtime_error(std::string(
"pasynOctetSyncIO->connect failed"));
229 pasynOctetSyncIO->disconnect(pasynUserSyncIO_);
235 virtual asynStatus
write(
const char *buffer,
size_t bufferLen,
size_t *nActual) {
236 return pasynOctetSyncIO->write(pasynUserSyncIO_, buffer, bufferLen, timeout_, nActual);
243 virtual asynStatus
read(
char *buffer,
size_t bufferLen,
size_t *nActual,
int *eomReason) {
244 return pasynOctetSyncIO->read(pasynUserSyncIO_, buffer, bufferLen, timeout_, nActual, eomReason);
254 virtual asynStatus
writeRead(
const char *writeBuffer,
size_t writeBufferLen,
char *readBuffer,
size_t readBufferLen,
255 size_t *nBytesOut,
size_t *nBytesIn,
int *eomReason) {
256 return pasynOctetSyncIO->writeRead(pasynUserSyncIO_, writeBuffer, writeBufferLen, readBuffer, readBufferLen,
257 timeout_, nBytesOut, nBytesIn, eomReason);
261 return pasynOctetSyncIO->flush(pasynUserSyncIO_);
267 return pasynOctetSyncIO->setInputEos(pasynUserSyncIO_, eos, eosLen);
273 virtual asynStatus
getInputEos(
char *eos,
int eosSize,
int *eosLen) {
274 return pasynOctetSyncIO->getInputEos(pasynUserSyncIO_, eos, eosSize, eosLen);
280 return pasynOctetSyncIO->setOutputEos(pasynUserSyncIO_, eos, eosLen);
287 return pasynOctetSyncIO->getOutputEos(pasynUserSyncIO_, eos, eosSize, eosLen);
292 return pInterface_->registerInterruptUser(pasynInterface_->drvPvt, pasynUser_,
293 pCallback,
this, &interruptPvt_);
296 asynOctet *pInterface_;
310 :
asynPortClient(portName, addr, asynInt8ArrayType, drvInfo, timeout) {
311 pInterface_ = (asynInt8Array *)pasynInterface_->pinterface;
312 if (pasynInt8ArraySyncIO->connect(portName, addr, &pasynUserSyncIO_, drvInfo))
313 throw std::runtime_error(std::string(
"pasynInt8ArraySyncIO->connect failed"));
317 pasynInt8ArraySyncIO->disconnect(pasynUserSyncIO_);
323 virtual asynStatus
read(epicsInt8 *value,
size_t nElements,
size_t *nIn) {
324 return pasynInt8ArraySyncIO->read(pasynUserSyncIO_, value, nElements, nIn, timeout_);
329 virtual asynStatus
write(epicsInt8 *value,
size_t nElements) {
330 return pasynInt8ArraySyncIO->write(pasynUserSyncIO_, value, nElements, timeout_);
335 return pInterface_->registerInterruptUser(pasynInterface_->drvPvt, pasynUser_,
336 pCallback,
this, &interruptPvt_);
339 asynInt8Array *pInterface_;
353 :
asynPortClient(portName, addr, asynInt16ArrayType, drvInfo, timeout) {
354 pInterface_ = (asynInt16Array *)pasynInterface_->pinterface;
355 if (pasynInt16ArraySyncIO->connect(portName, addr, &pasynUserSyncIO_, drvInfo))
356 throw std::runtime_error(std::string(
"pasynInt16ArraySyncIO->connect failed"));
360 pasynInt16ArraySyncIO->disconnect(pasynUserSyncIO_);
366 virtual asynStatus
read(epicsInt16 *value,
size_t nElements,
size_t *nIn) {
367 return pasynInt16ArraySyncIO->read(pasynUserSyncIO_, value, nElements, nIn, timeout_);
372 virtual asynStatus
write(epicsInt16 *value,
size_t nElements) {
373 return pasynInt16ArraySyncIO->write(pasynUserSyncIO_, value, nElements, timeout_);
378 return pInterface_->registerInterruptUser(pasynInterface_->drvPvt, pasynUser_,
379 pCallback,
this, &interruptPvt_);
382 asynInt16Array *pInterface_;
396 :
asynPortClient(portName, addr, asynInt32ArrayType, drvInfo, timeout) {
397 pInterface_ = (asynInt32Array *)pasynInterface_->pinterface;
398 if (pasynInt32ArraySyncIO->connect(portName, addr, &pasynUserSyncIO_, drvInfo))
399 throw std::runtime_error(std::string(
"pasynInt32ArraySyncIO->connect failed"));
403 pasynInt32ArraySyncIO->disconnect(pasynUserSyncIO_);
409 virtual asynStatus
read(epicsInt32 *value,
size_t nElements,
size_t *nIn) {
410 return pasynInt32ArraySyncIO->read(pasynUserSyncIO_, value, nElements, nIn, timeout_);
415 virtual asynStatus
write(epicsInt32 *value,
size_t nElements) {
416 return pasynInt32ArraySyncIO->write(pasynUserSyncIO_, value, nElements, timeout_);
421 return pInterface_->registerInterruptUser(pasynInterface_->drvPvt, pasynUser_,
422 pCallback,
this, &interruptPvt_);
425 asynInt32Array *pInterface_;
439 :
asynPortClient(portName, addr, asynFloat32ArrayType, drvInfo, timeout) {
440 pInterface_ = (asynFloat32Array *)pasynInterface_->pinterface;
441 if (pasynFloat32ArraySyncIO->connect(portName, addr, &pasynUserSyncIO_, drvInfo))
442 throw std::runtime_error(std::string(
"pasynFloat64ArraySyncIO->connect failed"));
446 pasynFloat32ArraySyncIO->disconnect(pasynUserSyncIO_);
452 virtual asynStatus
read(epicsFloat32 *value,
size_t nElements,
size_t *nIn) {
453 return pasynFloat32ArraySyncIO->read(pasynUserSyncIO_, value, nElements, nIn, timeout_);
458 virtual asynStatus
write(epicsFloat32 *value,
size_t nElements) {
459 return pasynFloat32ArraySyncIO->write(pasynUserSyncIO_, value, nElements, timeout_);
464 return pInterface_->registerInterruptUser(pasynInterface_->drvPvt, pasynUser_,
465 pCallback,
this, &interruptPvt_);
468 asynFloat32Array *pInterface_;
482 :
asynPortClient(portName, addr, asynFloat64ArrayType, drvInfo, timeout) {
483 pInterface_ = (asynFloat64Array *)pasynInterface_->pinterface;
484 if (pasynFloat64ArraySyncIO->connect(portName, addr, &pasynUserSyncIO_, drvInfo))
485 throw std::runtime_error(std::string(
"pasynFloat64ArraySyncIO->connect failed"));
489 pasynFloat64ArraySyncIO->disconnect(pasynUserSyncIO_);
495 virtual asynStatus
read(epicsFloat64 *value,
size_t nElements,
size_t *nIn) {
496 return pasynFloat64ArraySyncIO->read(pasynUserSyncIO_, value, nElements, nIn, timeout_);
501 virtual asynStatus
write(epicsFloat64 *value,
size_t nElements) {
502 return pasynFloat64ArraySyncIO->write(pasynUserSyncIO_, value, nElements, timeout_);
507 return pInterface_->registerInterruptUser(pasynInterface_->drvPvt, pasynUser_,
508 pCallback,
this, &interruptPvt_);
511 asynFloat64Array *pInterface_;
525 :
asynPortClient(portName, addr, asynGenericPointerType, drvInfo, timeout) {
526 pInterface_ = (asynGenericPointer *)pasynInterface_->pinterface;
527 if (pasynGenericPointerSyncIO->connect(portName, addr, &pasynUserSyncIO_, drvInfo))
528 throw std::runtime_error(std::string(
"pasynGenericPointerSyncIO->connect failed"));
532 pasynGenericPointerSyncIO->disconnect(pasynUserSyncIO_);
536 virtual asynStatus
read(
void *pointer) {
537 return pasynGenericPointerSyncIO->read(pasynUserSyncIO_, pointer, timeout_);
541 virtual asynStatus
write(
void *pointer) {
542 return pasynGenericPointerSyncIO->write(pasynUserSyncIO_, pointer, timeout_);
547 return pInterface_->registerInterruptUser(pasynInterface_->drvPvt, pasynUser_,
548 pCallback,
this, &interruptPvt_);
551 asynGenericPointer *pInterface_;
565 :
asynPortClient(portName, addr, asynOptionType, drvInfo, timeout) {
566 pInterface_ = (asynOption *)pasynInterface_->pinterface;
567 if (pasynOptionSyncIO->connect(portName, addr, &pasynUserSyncIO_, drvInfo))
568 throw std::runtime_error(std::string(
"pasynOptionSyncIO->connect failed"));
572 pasynOptionSyncIO->disconnect(pasynUserSyncIO_);
578 virtual asynStatus
getOption(
const char *key,
char *value,
int maxChars) {
579 return pasynOptionSyncIO->getOption(pasynUserSyncIO_, key, value, maxChars, timeout_);
584 virtual asynStatus
setOption(
const char *key,
const char *value) {
585 return pasynOptionSyncIO->setOption(pasynUserSyncIO_, key, value, timeout_);
588 asynOption *pInterface_;
602 :
asynPortClient(portName, addr, asynEnumType, drvInfo, timeout) {
603 pInterface_ = (asynEnum *)pasynInterface_->pinterface;
604 if (pasynEnumSyncIO->connect(portName, addr, &pasynUserSyncIO_, drvInfo))
605 throw std::runtime_error(std::string(
"pasynEnumSyncIO->connect failed"));
609 pasynEnumSyncIO->disconnect(pasynUserSyncIO_);
617 virtual asynStatus
read(
char *strings[],
int values[],
int severities[],
size_t nElements,
size_t *nIn) {
618 return pasynEnumSyncIO->read(pasynUserSyncIO_, strings, values, severities, nElements, nIn, timeout_);
625 virtual asynStatus
write(
char *strings[],
int values[],
int severities[],
size_t nElements) {
626 return pasynEnumSyncIO->write(pasynUserSyncIO_, strings, values, severities, nElements, timeout_);
629 asynEnum *pInterface_;
643 :
asynPortClient(portName, addr, asynCommonType, drvInfo, timeout) {
644 pInterface_ = (asynCommon *)pasynInterface_->pinterface;
645 if (pasynCommonSyncIO->connect(portName, addr, &pasynUserSyncIO_, drvInfo))
646 throw std::runtime_error(std::string(
"pasynCommonSyncIO->connect failed"));
650 pasynCommonSyncIO->disconnect(pasynUserSyncIO_);
655 virtual void report(FILE *fp,
int details) {
656 pasynCommonSyncIO->report(pasynUserSyncIO_, fp, details);
660 return pasynCommonSyncIO->connectDevice(pasynUserSyncIO_);
664 return pasynCommonSyncIO->disconnectDevice(pasynUserSyncIO_);
667 asynCommon *pInterface_;
Class for asyn port clients to communicate on the asynCommon interface.
Definition: asynPortClient.h:634
virtual asynStatus getOption(const char *key, char *value, int maxChars)
Get an option from the port driver.
Definition: asynPortClient.h:578
asynUInt32DigitalClient(const char *portName, int addr, const char *drvInfo, double timeout=DEFAULT_TIMEOUT)
Constructor for asynUInt32DigitalClient class.
Definition: asynPortClient.h:121
int addr_
Definition: asynPortClient.h:55
virtual asynStatus read(epicsFloat32 *value, size_t nElements, size_t *nIn)
Reads an epicsFloat32 array from the port driver.
Definition: asynPortClient.h:452
Class for asyn port clients to communicate on the asynInt32 interface.
Definition: asynPortClient.h:64
virtual asynStatus write(epicsInt32 *value, size_t nElements)
Writes an epicsInt32 array to the port driver.
Definition: asynPortClient.h:415
Class for asyn port clients to communicate on the asynInt16Array interface.
Definition: asynPortClient.h:344
virtual asynStatus read(epicsFloat64 *value, size_t nElements, size_t *nIn)
Reads an epicsFloat64 array from the port driver.
Definition: asynPortClient.h:495
virtual asynStatus read(epicsInt16 *value, size_t nElements, size_t *nIn)
Reads an epicsInt16 array from the port driver.
Definition: asynPortClient.h:366
void setTimeout(double timeout)
Definition: asynPortClient.h:46
virtual asynStatus write(epicsFloat64 *value, size_t nElements)
Writes an epicsFloat64 array to the port driver.
Definition: asynPortClient.h:501
virtual asynStatus registerInterruptUser(interruptCallbackInt32Array pCallback)
Registers an interruptCallbackInt32Array function that the driver will call when there is a new value...
Definition: asynPortClient.h:420
virtual asynStatus getInterrupt(epicsUInt32 *mask, interruptReason reason)
Gets the current interrupt mask for the specified reason from the driver.
Definition: asynPortClient.h:157
virtual asynStatus registerInterruptUser(interruptCallbackFloat64 pCallback)
Registers an interruptCallbackFloat64 function that the driver will call when there is a new value...
Definition: asynPortClient.h:203
virtual asynStatus disconnect()
Calls the disconnect method in the driver disconnects from the port device.
Definition: asynPortClient.h:663
virtual ~asynInt32ArrayClient()
Destructor for asynInt32Array class.
Definition: asynPortClient.h:402
virtual ~asynGenericPointerClient()
Destructor for asynGenericPointer class.
Definition: asynPortClient.h:531
virtual ~asynInt32Client()
Destructor for asynInt32Client class.
Definition: asynPortClient.h:79
virtual asynStatus write(epicsInt16 *value, size_t nElements)
Writes an epicsInt16 array to the port driver.
Definition: asynPortClient.h:372
Class for asyn port clients to communicate on the asynInt8Array interface.
Definition: asynPortClient.h:301
virtual asynStatus registerInterruptUser(interruptCallbackInt16Array pCallback)
Registers an interruptCallbackInt16Array function that the driver will call when there is a new value...
Definition: asynPortClient.h:377
char * drvInfo_
Definition: asynPortClient.h:57
Class for asyn port clients to communicate on the asynFloat32Array interface.
Definition: asynPortClient.h:430
Class for asyn port clients to communicate on the asynInt32Array interface.
Definition: asynPortClient.h:387
virtual void report(FILE *fp, int details)
Calls the report method in the driver.
Definition: asynPortClient.h:655
virtual asynStatus registerInterruptUser(interruptCallbackFloat64Array pCallback)
Registers an interruptCallbackFloat64Array function that the driver will call when there is a new val...
Definition: asynPortClient.h:506
char * portName_
Definition: asynPortClient.h:54
virtual asynStatus getOutputEos(char *eos, int eosSize, int *eosLen)
Gets the output end-of-string terminator from the driver.
Definition: asynPortClient.h:286
asynFloat32ArrayClient(const char *portName, int addr, const char *drvInfo, double timeout=DEFAULT_TIMEOUT)
Constructor for asynFloat32Array class.
Definition: asynPortClient.h:438
virtual ~asynUInt32DigitalClient()
Destructor for asynInt32Client class.
Definition: asynPortClient.h:128
virtual asynStatus read(epicsFloat64 *value)
Reads an epicsFloat64 value from the port driver.
Definition: asynPortClient.h:193
asynInt8ArrayClient(const char *portName, int addr, const char *drvInfo, double timeout=DEFAULT_TIMEOUT)
Constructor for asynInt8Array class.
Definition: asynPortClient.h:309
virtual ~asynEnumClient()
Destructor for asynEnum class.
Definition: asynPortClient.h:608
virtual asynStatus registerInterruptUser(interruptCallbackOctet pCallback)
Registers an interruptCallbackOctet function that the driver will call when there is a new value...
Definition: asynPortClient.h:291
virtual asynStatus write(epicsUInt32 value, epicsUInt32 mask)
Writes an epicsUInt32 value to the port driver.
Definition: asynPortClient.h:140
Class for asyn port clients to communicate on the asynEnum interface.
Definition: asynPortClient.h:593
Class for asyn port clients to communicate on the asynFloat64Array interface.
Definition: asynPortClient.h:473
Class for asyn port clients to communicate on the asynGenericPointer interface.
Definition: asynPortClient.h:516
virtual asynStatus read(epicsInt32 *value)
Reads an epicsInt32 value from the port driver.
Definition: asynPortClient.h:86
virtual asynStatus read(epicsUInt32 *value, epicsUInt32 mask)
Reads an epicsUInt32 value from the port driver.
Definition: asynPortClient.h:134
virtual asynStatus connect()
Calls the connect method in the driver which attempts to connect to the port device.
Definition: asynPortClient.h:659
virtual asynStatus write(void *pointer)
Writes a generic pointer to the port driver.
Definition: asynPortClient.h:541
asynInterface * pasynInterface_
Definition: asynPortClient.h:52
virtual asynStatus read(epicsInt32 *value, size_t nElements, size_t *nIn)
Reads an epicsInt32 array from the port driver.
Definition: asynPortClient.h:409
virtual ~asynOctetClient()
Destructor for asynOctetClient class.
Definition: asynPortClient.h:228
virtual asynStatus setOption(const char *key, const char *value)
Sets an option in the port driver.
Definition: asynPortClient.h:584
asynInt32Client(const char *portName, int addr, const char *drvInfo, double timeout=DEFAULT_TIMEOUT)
Constructor for asynInt32Client class.
Definition: asynPortClient.h:72
virtual ~asynFloat64ArrayClient()
Destructor for asynFloat64Array class.
Definition: asynPortClient.h:488
virtual ~asynOptionClient()
Destructor for asynOption class.
Definition: asynPortClient.h:571
void * interruptPvt_
Definition: asynPortClient.h:59
virtual asynStatus registerInterruptUser(interruptCallbackUInt32Digital pCallback, epicsUInt32 mask)
Registers an interruptCallbackUInt32Digital function that the driver will call when there is a new va...
Definition: asynPortClient.h:163
asynEnumClient(const char *portName, int addr, const char *drvInfo, double timeout=DEFAULT_TIMEOUT)
Constructor for asynEnum class.
Definition: asynPortClient.h:601
asynUser * pasynUserSyncIO_
Definition: asynPortClient.h:51
virtual ~asynFloat32ArrayClient()
Destructor for asynFloat32Array class.
Definition: asynPortClient.h:445
virtual asynStatus registerInterruptUser(interruptCallbackInt8Array pCallback)
Registers an interruptCallbackInt8Array function that the driver will call when there is a new value...
Definition: asynPortClient.h:334
virtual asynStatus registerInterruptUser(interruptCallbackInt32 pCallback)
Registers an interruptCallbackInt32 function that the driver will call when there is a new value...
Definition: asynPortClient.h:102
virtual ~asynInt16ArrayClient()
Destructor for asynInt16Array class.
Definition: asynPortClient.h:359
Base class for asyn port clients; handles most of the bookkeeping for writing an asyn port client wit...
Definition: asynPortClient.h:42
Class for asyn port clients to communicate on the asynFloat64 interface.
Definition: asynPortClient.h:173
asynFloat64ArrayClient(const char *portName, int addr, const char *drvInfo, double timeout=DEFAULT_TIMEOUT)
Constructor for asynFloat64Array class.
Definition: asynPortClient.h:481
Class for asyn port clients to communicate on the asynUInt32Digital interface.
Definition: asynPortClient.h:113
virtual asynStatus writeRead(const char *writeBuffer, size_t writeBufferLen, char *readBuffer, size_t readBufferLen, size_t *nBytesOut, size_t *nBytesIn, int *eomReason)
Writes a char buffer to the port driver and reads the response as an atomic operation.
Definition: asynPortClient.h:254
virtual asynStatus write(epicsInt32 value)
Writes an epicsInt32 value to the port driver.
Definition: asynPortClient.h:91
asynInt32ArrayClient(const char *portName, int addr, const char *drvInfo, double timeout=DEFAULT_TIMEOUT)
Constructor for asynInt32Array class.
Definition: asynPortClient.h:395
virtual asynStatus read(epicsInt8 *value, size_t nElements, size_t *nIn)
Reads an epicsInt8 array from the port driver.
Definition: asynPortClient.h:323
asynGenericPointerClient(const char *portName, int addr, const char *drvInfo, double timeout=DEFAULT_TIMEOUT)
Constructor for asynGenericPointer class.
Definition: asynPortClient.h:524
virtual asynStatus write(const char *buffer, size_t bufferLen, size_t *nActual)
Writes a char buffer to the port driver.
Definition: asynPortClient.h:235
virtual ~asynCommonClient()
Destructor for asynCommon class.
Definition: asynPortClient.h:649
virtual asynStatus getInputEos(char *eos, int eosSize, int *eosLen)
Gets the input end-of-string terminator from the driver.
Definition: asynPortClient.h:273
double timeout_
Definition: asynPortClient.h:53
virtual ~asynInt8ArrayClient()
Destructor for asynInt8Array class.
Definition: asynPortClient.h:316
asynOptionClient(const char *portName, int addr, const char *drvInfo, double timeout=DEFAULT_TIMEOUT)
Constructor for asynOption class.
Definition: asynPortClient.h:564
virtual asynStatus write(char *strings[], int values[], int severities[], size_t nElements)
Writes enum strings, values, and severities to the port driver.
Definition: asynPortClient.h:625
asynUser * pasynUser_
Definition: asynPortClient.h:50
virtual asynStatus setInputEos(const char *eos, int eosLen)
Sets the input end-of-string terminator in the driver.
Definition: asynPortClient.h:266
virtual asynStatus registerInterruptUser(interruptCallbackGenericPointer pCallback)
Registers an interruptCallbackGenericPointer function that the driver will call when there is a new v...
Definition: asynPortClient.h:546
virtual asynStatus write(epicsFloat32 *value, size_t nElements)
Writes an epicsFloat32 array to the port driver.
Definition: asynPortClient.h:458
virtual asynStatus read(void *pointer)
Reads an generic pointer from the port driver.
Definition: asynPortClient.h:536
asynOctetClient(const char *portName, int addr, const char *drvInfo, double timeout=DEFAULT_TIMEOUT)
Constructor for asynOctetClient class.
Definition: asynPortClient.h:221
asynCommonClient(const char *portName, int addr, const char *drvInfo, double timeout=DEFAULT_TIMEOUT)
Constructor for asynCommon class.
Definition: asynPortClient.h:642
virtual asynStatus write(epicsFloat64 value)
Writes an epicsFloat64 value to the port driver.
Definition: asynPortClient.h:198
virtual ~asynFloat64Client()
Destructor for asynFloat64Client class.
Definition: asynPortClient.h:188
char * asynInterfaceType_
Definition: asynPortClient.h:56
#define DEFAULT_TIMEOUT
Definition: asynPortClient.h:37
asynInt16ArrayClient(const char *portName, int addr, const char *drvInfo, double timeout=DEFAULT_TIMEOUT)
Constructor for asynInt16Array class.
Definition: asynPortClient.h:352
virtual asynStatus setInterrupt(epicsUInt32 mask, interruptReason reason)
Sets the interrupt mask for the specified interrupt reason in the driver.
Definition: asynPortClient.h:146
virtual asynStatus flush()
Flushes the input buffer in the port driver.
Definition: asynPortClient.h:260
virtual asynStatus read(char *strings[], int values[], int severities[], size_t nElements, size_t *nIn)
Reads enum strings, values, and severities from the port driver.
Definition: asynPortClient.h:617
virtual asynStatus write(epicsInt8 *value, size_t nElements)
Writes an epicsInt8 array to the port driver.
Definition: asynPortClient.h:329
virtual asynStatus registerInterruptUser(interruptCallbackFloat32Array pCallback)
Registers an interruptCallbackFloat32Array function that the driver will call when there is a new val...
Definition: asynPortClient.h:463
Class for asyn port clients to communicate on the asynOctet interface.
Definition: asynPortClient.h:213
Class for asyn port clients to communicate on the asynOption interface.
Definition: asynPortClient.h:556
asynFloat64Client(const char *portName, int addr, const char *drvInfo, double timeout=DEFAULT_TIMEOUT)
Constructor for asynFloat64Client class.
Definition: asynPortClient.h:181
virtual asynStatus getBounds(epicsInt32 *low, epicsInt32 *high)
Returns the lower and upper limits of the range of values from the port driver.
Definition: asynPortClient.h:97
void * drvPvt
Definition: asynPortClient.h:58
virtual asynStatus clearInterrupt(epicsUInt32 mask)
Clears the interrupt mask in the driver.
Definition: asynPortClient.h:151
virtual asynStatus setOutputEos(const char *eos, int eosLen)
Sets the output end-of-string terminator in the driver.
Definition: asynPortClient.h:279
virtual asynStatus read(char *buffer, size_t bufferLen, size_t *nActual, int *eomReason)
Reads a char buffer from the port driver.
Definition: asynPortClient.h:243