CDI Request Information Block structure. More...
#include <cdi.h>
CDI Request Information Block structure.
This is the principal structure passed to and from CDI and a bus plug
short CdiRequestInfoBlk::accessFlag |
read 1, write 2, read then write 3, write then read 4
int CdiRequestInfoBlk::active |
number of request process steps
short CdiRequestInfoBlk::asynCallFlag |
flag to indicate whether the call is asynchronous
int CdiRequestInfoBlk::bufIndex |
a buffer index used by the bus plug
short CdiRequestInfoBlk::bufLastData[4] |
comparison buffer
void(* CdiRequestInfoBlk::callback) (int, int) |
callback function: receivces callBackIndex, errorCode
int CdiRequestInfoBlk::callBackIndex |
can be user assigned (< 0x1000) or requestNumber + 0x1000
short CdiRequestInfoBlk::cancelFlag |
cancel callback
short CdiRequestInfoBlk::conditionFlag |
for reading data (readConditionNumeraters), bit: 0x8 for mask ON flag
BYTE CdiRequestInfoBlk::cpOutData[DEF_INPUT_BYTES] |
default data to send to the bus
short CdiRequestInfoBlk::dataReturnCondition |
databack: 1; conditionOK: 2
int CdiRequestInfoBlk::deviceError |
0 if no bus error on the device
int CdiRequestInfoBlk::devParameters[NUMBER_EXEC_PARAM] |
address parameters registered with this device
int CdiRequestInfoBlk::devReadyTime |
polling device ready
sem_t CdiRequestInfoBlk::exec_SemId |
bus request semaphores
int CdiRequestInfoBlk::freeInDataMemoryOnCancel |
memory managment flag
int CdiRequestInfoBlk::freeOutDataMemoryOnCancel |
memory managment flag
void* CdiRequestInfoBlk::groupReq |
grouped request, group true if != NULL
short CdiRequestInfoBlk::groupSyncStart |
synchronous flag for group start
int CdiRequestInfoBlk::hasDataMask |
0 = FALSE (no mask); else TRUE
int CdiRequestInfoBlk::hasPatternFilter |
0 = FALSE (no pattern); else TRUE
short CdiRequestInfoBlk::inFormatCode |
original caller's format code
unsigned int CdiRequestInfoBlk::inLength |
size in bytes of data coming from the device
int CdiRequestInfoBlk::inside |
synchronization flag
short CdiRequestInfoBlk::inType |
data type (from the hardware) one of char, short, int, float or double
short CdiRequestInfoBlk::lockRequestFlag |
lock this request until cancel calls
BYTE CdiRequestInfoBlk::mask[8] |
data mask to apply
int CdiRequestInfoBlk::maskValue |
??
int CdiRequestInfoBlk::needsCalibration |
if TRUE -> needs to calibrate results
int CdiRequestInfoBlk::nerrors |
number of consecutive bus errors
short CdiRequestInfoBlk::NgroupRets |
number of data returnd or timeout...
short CdiRequestInfoBlk::NgroupsReqs |
number of connected requests for mainRequest, but index number for each requested device start from 1
short CdiRequestInfoBlk::NgrpErrors |
number of errors of this group
short CdiRequestInfoBlk::outFormatCode |
original caller's format code
unsigned int CdiRequestInfoBlk::outLength |
size in bytes of data sent to the device
short CdiRequestInfoBlk::outType |
data type (to the hardware) one of char, short, int, float or double
BYTE CdiRequestInfoBlk::patternFilter[CDI_PATTERN_FILTER_SIZE] |
compare pattern or Filter, if string max 32 bytes, otherwise check 8 bytes(double) only
void* CdiRequestInfoBlk::pBlockBuffer |
block transfer buffer pointer
CdiDeviceInfoBlk* CdiRequestInfoBlk::pDev |
referenced device
int * CdiRequestInfoBlk::perror |
specific error code; table of errors
void* CdiRequestInfoBlk::pInData |
pointer to data coming from the device
short CdiRequestInfoBlk::pollFlag |
infinite loop for async call
int CdiRequestInfoBlk::pollTime |
polling interval ?
void* CdiRequestInfoBlk::pOutData |
pointer to data sent to the device
void* CdiRequestInfoBlk::ptrReserved |
reserved for future use
int CdiRequestInfoBlk::registerTime |
time when contract was registered
int CdiRequestInfoBlk::reqIndex |
own index number: 0, 1...
int CdiRequestInfoBlk::requestCounter |
number of requests
int CdiRequestInfoBlk::requestNumber |
reqIndex + (cdiLine << 16)
int CdiRequestInfoBlk::requestTime |
time whem contract was last sent
int CdiRequestInfoBlk::responseTime |
last response time in ms
sem_t CdiRequestInfoBlk::sync_SemId |
bus request semaphores
int CdiRequestInfoBlk::timeout |
in milliseconds: < 0 return only on time out or error; 0: wait forever
short CdiRequestInfoBlk::userCallDown |
callback or syncSem done flag