1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| / structure for transfering anything for an asynchronous task
typedef struct _FEISC_TASK_INIT
{
void* pAny; // pointer to anything, which is eflected as the first parameter
// in the callback function (e.g. can be used to pass the object pointer)
unsigned char ucBusAdr; // busaddress for serial communication
unsigned int uiChannelType; // defines the channel type to be used
int iConnectByHost; // if 0: TCP/IP connection is initiated by reader. otherwise by host
char cIPAdr[16]; // server ip address
// note: only for channel type FEISC_TASK_CHANNEL_TYPE_NEW_TCP
int iPortNr; // server or host port address
// note: only for channel type FEISC_TASK_CHANNEL_TYPE_NEW_TCP
unsigned int uiTimeout; // timeout for asynchronous task
unsigned int uiFlag; // specifies the use of the union (e.g. FEISC_TASKCB_1)
union
{
// for notification and inventory task
void (*cbFct1)( void* pAny, // [in] pointer to anything (from struct _FEISC_TASK_INIT)
int iReaderHnd, // [in] reader handle of FEISC
int iTaskID, // [in] task identifier from FEISC_StartAsyncTask(..)
int iError, // [in] OK (=0), error code (<0) or status byte from reader (>0)
unsigned char ucCmd, // [in] reader command
unsigned char* ucRspData, // [in] response data
int iRspLen ); // [in] local port number which received the notification
// only for notification task
void (*cbFct2)( void* pAny, // [in] pointer to anything (from struct _FEISC_TASK_INIT)
int iReaderHnd, // [in] reader handle of FEISC
int iTaskID, // [in] task identifier from FEISC_StartAsyncTask(..)
int iError, // [in] OK (=0), error code (<0) or status byte from reader (>0)
unsigned char ucCmd, // [in] reader command
unsigned char* ucRspData, // [in] response data
int iRspLen, // [in] length of response data
char* cRemoteIP, // [in] ip address of the reader
int iLocalPort ); // [in] local port number which received the notification |
Partager