00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef _FEISC_INCLUDE_H
00030 #define _FEISC_INCLUDE_H
00031
00032
00033 #if defined(_MSC_VER) || defined(__BORLANDC__) || defined(_CVI_)
00034 #ifdef FEISCDLL
00035 #define DLL_EXT_FUNC __declspec(dllexport) __stdcall
00036 #else
00037 #define DLL_EXT_FUNC __declspec(dllimport) __stdcall
00038 #endif
00039
00040 #define FEISC_EXT_CALL __stdcall
00041 #define FEISC_CALL __cdecl
00042 #else
00043 #define DLL_EXT_FUNC
00044 #define FEISC_EXT_CALL
00045 #define FEISC_CALL
00046 #endif
00047
00048
00049
00050 #if defined(__GNUC__) || defined(_FEISC_VXWORKS)
00051 #ifndef __int64
00052 #define __int64 long long
00053 #endif
00054 #endif
00055
00056
00057 #ifdef __cplusplus
00058 extern "C" {
00059 #endif
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069 #define FEISC_DESTROY 0x18
00070 #define FEISC_HALT 0x1A
00071 #define FEISC_RESET_QUIET_BIT 0x1B
00072 #define FEISC_EAS_REQUEST 0x1C
00073 #define FEISC_TABLE_DATA_EXCHANGE 0x1E
00074 #define FEISC_MAX_DATA_EXCHANGE 0x1F
00075 #define FEISC_READ_BUFFER 0x21
00076 #define FEISC_ADV_READ_BUFFER 0x22
00077 #define FEISC_READ_BUFFER_INFO 0x31
00078 #define FEISC_CLEAR_BUFFER 0x32
00079 #define FEISC_INIT_BUFFER 0x33
00080 #define FEISC_FORCE_NOTIFY_TRIGGER 0x34
00081 #define FEISC_SOFTWARE_TRIGGER 0x35
00082 #define FEISC_GET_BAUDRATE 0x52
00083 #define FEISC_START_FLASH_LOADER 0x55
00084 #define FEISC_START_FLASH_LOADER_EX 0x55
00085 #define FEISC_CPU_RESET 0x63
00086 #define FEISC_SYSTEM_RESET 0x64
00087 #define FEISC_SOFT_VERSION 0x65
00088 #define FEISC_READER_INFO 0x66
00089 #define FEISC_CHANNEL_ANALYZE 0x68
00090 #define FEISC_RF_RESET 0x69
00091 #define FEISC_RF_ON_OFF 0x6A
00092 #define FEISC_CENTRALIZED_RF_SYNC 0x6B
00093 #define FEISC_SET_NOISE_LEVEL 0x6C
00094 #define FEISC_GET_NOISE_LEVEL 0x6D
00095 #define FEISC_READER_DIAGNOSE 0x6E
00096 #define FEISC_ANTENNA_TUNING 0x6F
00097 #define FEISC_SET_OUTPUT 0x71
00098 #define FEISC_SET_OUTPUT_EX 0x72
00099 #define FEISC_GET_INPUT 0x74
00100 #define FEISC_ADJ_ANTENNA 0x75
00101 #define FEISC_CHECK_ANTENNAS 0x76
00102 #define FEISC_GET_COUNTER 0x77
00103 #define FEISC_SET_COUNTER 0x78
00104 #define FEISC_WRITE_DISPLAY 0x7A
00105 #define FEISC_READ_CONF_BLOCK 0x80
00106 #define FEISC_WRITE_CONF_BLOCK 0x81
00107 #define FEISC_SAVE_CONF_BLOCK 0x82
00108 #define FEISC_RESET_CONF_BLOCK 0x83
00109 #define FEISC_SET_CONF_MEM_LOC 0x84
00110 #define FEISC_SET_SYSTEM_TIMER 0x85
00111 #define FEISC_GET_SYSTEM_TIMER 0x86
00112 #define FEISC_SET_SYSTEM_DATE 0x87
00113 #define FEISC_GET_SYSTEM_DATE 0x88
00114 #define FEISC_READ_CONFIGURATION 0x8A
00115 #define FEISC_WRITE_CONFIGURATION 0x8B
00116 #define FEISC_RESET_CONFIGURATION 0x8C
00117 #define FEISC_PIGGYBACK_COMMAND 0x9F
00118 #define FEISC_READER_LOGIN 0xA0
00119 #define FEISC_WRITE_MIFARE_KEYS 0xA2
00120 #define FEISC_WRITE_DES_AES_KEYS 0xA3
00121 #define FEISC_WRITE_READER_AUTHENT_KEY 0xAD
00122 #define FEISC_READER_AUTHENT 0xAE
00123 #define FEISC_CRYPTO_COMMAND 0xAF
00124 #define FEISC_ISO_COMMAND 0xB0
00125 #define FEISC_ISO_CUST_PROP_CMD 0xB1
00126 #define FEISC_ISO_SP14443_COMMAND 0xB2
00127 #define FEISC_EPC_COMMAND 0xB3
00128 #define FEISC_EPC_UHF_COMMAND 0xB4
00129 #define FEISC_C1G2_TRANSPARENT_CMD 0xBB
00130 #define FEISC_COMMAND_QUEUE 0xBC
00131 #define FEISC_ISO14443A_TRANSPARENT_CMD 0xBD
00132 #define FEISC_ISO14443B_TRANSPARENT_CMD 0xBE
00133 #define FEISC_ISO15693_TRANSPARENT_CMD 0xBF
00134 #define FEISC_SAM_COMMAND 0xC0
00135 #define FEISC_DESFIRE_COMMAND 0xC1
00136 #define FEISC_MIFARE_PLUS_COMMAND 0xC2
00137 #define FEISC_DESFIRE_COMMAND_EX 0xC3
00138
00139
00140
00141
00142
00143 #define FEISC_ERR_NEWREADER_FAILURE -4000
00144 #define FEISC_ERR_EMPTY_LIST -4001
00145 #define FEISC_ERR_POINTER_IS_NULL -4002
00146 #define FEISC_ERR_NO_MORE_MEM -4003
00147 #define FEISC_ERR_UNKNOWN_COMM_PORT -4004
00148 #define FEISC_ERR_UNSUPPORTED_FUNCTION -4005
00149 #define FEISC_ERR_NO_USB_SUPPORT -4006
00150 #define FEISC_ERR_OLD_FECOM -4007
00151
00152
00153 #define FEISC_ERR_NO_VALUE -4010
00154
00155
00156 #define FEISC_ERR_UNKNOWN_HND -4020
00157 #define FEISC_ERR_HND_IS_NULL -4021
00158 #define FEISC_ERR_HND_IS_NEGATIVE -4022
00159 #define FEISC_ERR_NO_HND_FOUND -4023
00160 #define FEISC_ERR_PORTHND_IS_NEGATIVE -4024
00161 #define FEISC_ERR_HND_UNVALID -4025
00162
00163
00164 #define FEISC_ERR_PROTLEN -4030
00165 #define FEISC_ERR_CHECKSUM -4031
00166 #define FEISC_ERR_BUSY_TIMEOUT -4032
00167 #define FEISC_ERR_UNKNOWN_STATUS -4033
00168 #define FEISC_ERR_NO_RECPROTOCOL -4034
00169 #define FEISC_ERR_CMD_BYTE -4035
00170 #define FEISC_ERR_TRANSCEIVE -4036
00171 #define FEISC_ERR_REC_BUS_ADR -4037
00172 #define FEISC_ERR_READER_POWER_DOWN -4038
00173
00174
00175 #define FEISC_ERR_UNKNOWN_PARAMETER -4050
00176 #define FEISC_ERR_PARAMETER_OUT_OF_RANGE -4051
00177 #define FEISC_ERR_ODD_PARAMETERSTRING -4052
00178 #define FEISC_ERR_UNKNOWN_ERRORCODE -4053
00179 #define FEISC_ERR_UNSUPPORTED_OPTION -4054
00180 #define FEISC_ERR_UNKNOWN_EPC_TYPE -4055
00181 #define FEISC_ERR_PARAMETER_LOCKED -4056
00182
00183
00184 #define FEISC_ERR_NO_PLUGIN -4060
00185 #define FEISC_ERR_PLUGIN_PRESENT -4061
00186 #define FEISC_ERR_UNKNOWN_PLUGIN_ID -4062
00187 #define FEISC_ERR_PI_BUILD_DATA -4063
00188 #define FEISC_ERR_PI_BUILD_FRAME -4064
00189 #define FEISC_ERR_PI_SPLIT_FRAME -4065
00190 #define FEISC_ERR_PI_SPLIT_DATA -4066
00191 #define FEISC_ERR_PI_GET -4067
00192 #define FEISC_ERR_PI_LOAD -4068
00193 #define FEISC_ERR_PI_RELEASE -4069
00194
00195
00196 #define FEISC_ERR_BUFFER_OVERFLOW -4070
00197
00198
00199 #define FEISC_ERR_TASK_STILL_RUNNING -4080
00200 #define FEISC_ERR_TASK_NOT_STARTED -4081
00201 #define FEISC_ERR_TASK_TIMEOUT -4082
00202 #define FEISC_ERR_TASK_SOCKET_INIT -4083
00203 #define FEISC_ERR_TASK_BUSY -4084
00204 #define FEISC_ERR_THREAD_CANCEL_ERROR -4085
00205 #define FEISC_ERR_TASK_PORT_ALREADY_IN_USE -4086
00206
00207
00208 #define FEISC_ERR_CRYPT_LOAD_LIBRARY -4090
00209 #define FEISC_ERR_CRYPT_INIT -4091
00210 #define FEISC_ERR_CRYPT_AUTHENT_PROCESS -4092
00211 #define FEISC_ERR_CRYPT_ENCYPHER -4093
00212 #define FEISC_ERR_CRYPT_DECYPHER -4094
00213
00214
00215
00216
00217 #define FEISC_THREAD_ID 1
00218 #define FEISC_WND_HWND 2
00219 #define FEISC_CALLBACK 3
00220 #define FEISC_EVENT 4
00221 #define FEISC_CALLBACK_2 5
00222 #define FEISC_CALLBACK_4 6
00223 #define FEISC_CALLBACK_5 7
00224
00225
00226 #define FEISC_PRT_EVENT 1
00227 #define FEISC_SNDPRT_EVENT 2
00228 #define FEISC_RECPRT_EVENT 3
00229 #define FEISC_SCANNER_EVENT 4
00230
00231
00232
00233 #define FEISC_TASKCB_1 1
00234 #define FEISC_TASKCB_2 2
00235 #define FEISC_TASKCB_3 3
00236 #define FEISC_TASKCB_NET_1 10
00237
00238
00239 #define FEISC_TASKID_FIRST_NEW_TAG 1
00240 #define FEISC_TASKID_EVERY_NEW_TAG 2
00241 #define FEISC_TASKID_NOTIFICATION 3
00242 #define FEISC_TASKID_SAM_COMMAND 4
00243 #define FEISC_TASKID_COMMAND_QUEUE 5
00244 #define FEISC_TASKID_MAX_EVENT 6
00245 #define FEISC_TASKID_PEOPLE_COUNTER_EVENT 7
00246
00247
00248 #define FEISC_TASK_CHANNEL_TYPE_AS_OPEN 1 // for open serial, usb, tcp channels
00249 #define FEISC_TASK_CHANNEL_TYPE_NEW_TCP 5 // for new tcp connection, established by host or reader
00250
00251
00252
00253
00254
00255
00256
00257
00258 typedef struct _FEISC_EVENT_INIT
00259 {
00260 void* pAny;
00261
00262
00263 unsigned int uiUse;
00264 unsigned int uiMsg;
00265 unsigned int uiFlag;
00266 union
00267 {
00268 #if defined(_MSC_VER) || defined(__BORLANDC__)
00269 DWORD dwThreadID;
00270 HWND hwndWnd;
00271 HANDLE hEvent;
00272 void (CALLBACK *cbFct2)(BSTR, int, int);
00273 #endif
00274 void (FEISC_CALL *cbFct) ( int iMessage,
00275 int iStatus );
00276
00277 void (FEISC_CALL *cbFct4)( void* pAny,
00278 const char* cMsg,
00279 int iStatus );
00280
00281 void (FEISC_CALL *cbFct5)( void* pAny,
00282 const char* cMsg,
00283 int iStatus,
00284 int iEventID );
00285 #ifdef __cplusplus
00286 };
00287 #else
00288 }Method;
00289 #endif
00290
00291 } FEISC_EVENT_INIT;
00292
00293
00294
00295
00296 typedef struct _FEISC_TASK_INIT
00297 {
00298 void* pAny;
00299
00300 unsigned char ucBusAdr;
00301 unsigned int uiChannelType;
00302 int iConnectByHost;
00303 char cIPAdr[16];
00304
00305 int iPortNr;
00306
00307 unsigned int uiTimeout;
00308 unsigned int uiFlag;
00309
00310
00311 bool bCryptoMode;
00312 unsigned int uiAuthentKeyLength;
00313 unsigned char ucAuthentKey[32];
00314
00315
00316 bool bKeepAlive;
00317 unsigned int uiKeepAliveIdleTime;
00318
00319 unsigned int uiKeepAliveProbeCount;
00320
00321
00322 unsigned int uiKeepAliveIntervalTime;
00323
00324
00325 union
00326 {
00327 int iNotifyWithAck;
00328
00329 #ifdef __cplusplus
00330 };
00331 #else
00332 }InData;
00333 #endif
00334
00335 union
00336 {
00337
00338 void (FEISC_CALL *cbFct1)( void* pAny,
00339 int iReaderHnd,
00340 int iTaskID,
00341 int iError,
00342 unsigned char ucCmd,
00343 unsigned char* ucRspData,
00344 int iRspLen );
00345
00346
00347 void (FEISC_CALL *cbFct2)( void* pAny,
00348 int iReaderHnd,
00349 int iTaskID,
00350 int iError,
00351 unsigned char ucCmd,
00352 unsigned char* ucRspData,
00353 int iRspLen,
00354 char* cRemoteIP,
00355 int iLocalPort );
00356
00357
00358 int (FEISC_CALL *cbFct3)( void* pAny,
00359 int iReaderHnd,
00360 int iTaskID,
00361 int iError,
00362 unsigned char ucCmd,
00363 unsigned char* ucRspData,
00364 int iRspLen,
00365 char* cRemoteIP,
00366 int iLocalPort,
00367 unsigned char& ucAction );
00368
00369 #if defined(_MSC_VER)
00370
00371 void (CALLBACK* cbFctNET1)( int iTaskID,
00372 int iError,
00373 unsigned char ucCmd,
00374 unsigned char* ucRspData,
00375 int iRspLen );
00376
00377 #endif
00378
00379 #ifdef __cplusplus
00380 };
00381 #else
00382 }Method;
00383 #endif
00384
00385 } FEISC_TASK_INIT;
00386
00387
00388
00389
00390
00391
00392
00393
00394
00395
00396 void DLL_EXT_FUNC FEISC_GetDLLVersion( char* cVersion );
00397 int DLL_EXT_FUNC FEISC_GetErrorText( int iErrorCode, char* cErrorText );
00398 int DLL_EXT_FUNC FEISC_GetStatusText( unsigned char ucStatus, char* cStatusText );
00399
00400
00401 int DLL_EXT_FUNC FEISC_AddEventHandler(int iReaderHnd, FEISC_EVENT_INIT* pInit);
00402 int DLL_EXT_FUNC FEISC_DelEventHandler(int iReaderHnd, FEISC_EVENT_INIT* pInit);
00403
00404
00405 void DLL_EXT_FUNC FEISC_SetCbPtr_ProtStr( void (*cbPtr) );
00406 int DLL_EXT_FUNC FEISC_NewReader( int iPortHnd );
00407 int DLL_EXT_FUNC FEISC_DeleteReader( int iReaderHnd );
00408 int DLL_EXT_FUNC FEISC_GetReaderList( int iNext );
00409 int DLL_EXT_FUNC FEISC_GetReaderPara( int iReaderHnd, char* cPara, char* cValue );
00410 int DLL_EXT_FUNC FEISC_SetReaderPara( int iReaderHnd, char* cPara, char* cValue );
00411
00412
00413 int DLL_EXT_FUNC FEISC_PI_Get( const char* cLibName, void** pPlugIn );
00414 int DLL_EXT_FUNC FEISC_PI_Install( int iReaderHnd, void* pPlugIn );
00415 int DLL_EXT_FUNC FEISC_PI_Remove( int iReaderHnd );
00416 int DLL_EXT_FUNC FEISC_PI_OpenPort( int iReaderHnd, char* cPortDefinition );
00417 int DLL_EXT_FUNC FEISC_PI_ClosePort( int iReaderHnd );
00418 int DLL_EXT_FUNC FEISC_PI_GetPortPara( int iReaderHnd, char* cPara, char* cValue );
00419 int DLL_EXT_FUNC FEISC_PI_SetPortPara( int iReaderHnd, char* cPara, char* cValue );
00420 int DLL_EXT_FUNC FEISC_PI_GetDLLVersion( int iReaderHnd, char* cVersion );
00421 int DLL_EXT_FUNC FEISC_PI_GetErrorText( int iReaderHnd, int iErrorCode, char* cErrorText );
00422
00423
00424 int DLL_EXT_FUNC FEISC_StartAsyncTask( int iReaderHnd,
00425 int iTaskID,
00426 FEISC_TASK_INIT* pInit,
00427 void* pInput );
00428
00429 int DLL_EXT_FUNC FEISC_CancelAsyncTask( int iReaderHnd );
00430 int DLL_EXT_FUNC FEISC_TriggerAsyncTask( int iReaderHnd );
00431
00432
00433 int DLL_EXT_FUNC FEISC_BuildSendProtocol( int iReaderHnd,
00434 unsigned char cBusAdr,
00435 unsigned char cCmdByte,
00436 unsigned char* cSendData,
00437 int iDataLen,
00438 unsigned char* cSendProt,
00439 int iDataFormat );
00440
00441 int DLL_EXT_FUNC FEISC_BuildRecProtocol( int iReaderHnd,
00442 unsigned char cBusAdr,
00443 unsigned char cCmdByte,
00444 unsigned char cStatus,
00445 unsigned char* cRecData,
00446 int iDataLen,
00447 unsigned char* cRecProt,
00448 int iDataFormat );
00449
00450 int DLL_EXT_FUNC FEISC_SplitSendProtocol( int iReaderHnd,
00451 unsigned char* cSendProt,
00452 int iSendLen,
00453 unsigned char* cBusAdr,
00454 unsigned char* cCmdByte,
00455 unsigned char* cSendData,
00456 int* iDataLen,
00457 int iDataFormat );
00458
00459 int DLL_EXT_FUNC FEISC_SplitRecProtocol( int iReaderHnd,
00460 unsigned char* cRecProt,
00461 int iRecLen,
00462 unsigned char* cBusAdr,
00463 unsigned char* cCmdByte,
00464 unsigned char* cRecData,
00465 int* iDataLen,
00466 int iDataFormat );
00467
00468 int DLL_EXT_FUNC FEISC_Conv2StdProtocol( unsigned char* cProt, int iLen );
00469 int DLL_EXT_FUNC FEISC_Conv2AdvProtocol( unsigned char* cProt, int iLen );
00470
00471
00472 int DLL_EXT_FUNC FEISC_GetLastSendProt( int iReaderHnd, unsigned char* cSendProt, int iDataFormat );
00473 int DLL_EXT_FUNC FEISC_GetLastRecProt( int iReaderHnd, unsigned char* cRecProt, int iDataFormat );
00474 int DLL_EXT_FUNC FEISC_GetLastState( int iReaderHnd, char* cStateText );
00475 int DLL_EXT_FUNC FEISC_GetLastRecProtLen(int iReaderHnd);
00476 int DLL_EXT_FUNC FEISC_GetLastError( int iReaderHnd, int* iErrorCode, char* cErrorText );
00477
00478
00479 int DLL_EXT_FUNC FEISC_SendTransparent( int iReaderHnd,
00480 unsigned char* cSendProt,
00481 int iSendLen,
00482 unsigned char* cRecProt,
00483 int iMaxRecLen,
00484 int iCheckSum,
00485 int iDataFormat );
00486
00487 int DLL_EXT_FUNC FEISC_Transmit( int iReaderHnd,
00488 unsigned char* cSendProt,
00489 int iSendLen,
00490 int iCheckSum,
00491 int iDataFormat );
00492
00493 int DLL_EXT_FUNC FEISC_Receive( int iReaderHnd,
00494 unsigned char* cRecProt,
00495 int iMaxRecLen,
00496 int iDataFormat );
00497
00498
00499 int DLL_EXT_FUNC FEISC_0x18_Destroy( int iReaderHnd,
00500 unsigned char cBusAdr,
00501 unsigned char ucMode,
00502 unsigned char* ucEPC,
00503 unsigned char* ucPW );
00504
00505 int DLL_EXT_FUNC FEISC_0x1A_Halt( int iReaderHnd, unsigned char cBusAdr );
00506 int DLL_EXT_FUNC FEISC_0x1B_ResetQuietBit( int iReaderHnd, unsigned char cBusAdr );
00507 int DLL_EXT_FUNC FEISC_0x1C_EASRequest( int iReaderHnd, unsigned char cBusAdr );
00508
00509 int DLL_EXT_FUNC FEISC_0x1E_TableDataExchange( int iReaderHnd,
00510 unsigned char cBusAdr,
00511 unsigned char cCmd,
00512 unsigned char cMode,
00513 unsigned char cDevice,
00514 unsigned char cBank,
00515 unsigned char cTableID,
00516 unsigned char* cReqData,
00517 int iReqDataLen,
00518 unsigned char* cRspData,
00519 int* iRspDataLen );
00520
00521 int DLL_EXT_FUNC FEISC_0x1F_MAXDataExchange( int iReaderHnd,
00522 unsigned char cBusAdr,
00523 unsigned char cCmd,
00524 unsigned char cMode,
00525 unsigned char cTableID,
00526 unsigned char* cReqData,
00527 int iReqDataLen,
00528 unsigned char* cRspData,
00529 int* iRspDataLen,
00530 int iDataFormat );
00531
00532 int DLL_EXT_FUNC FEISC_0x21_ReadBuffer( int iReaderHnd,
00533 unsigned char cBusAdr,
00534 unsigned char cSets,
00535 unsigned char* cTrData,
00536 unsigned char* cRecSets,
00537 unsigned char* cRecDataSets,
00538 int iDataFormat );
00539
00540 int DLL_EXT_FUNC FEISC_0x22_ReadBuffer( int iReaderHnd,
00541 unsigned char cBusAdr,
00542 int iSets,
00543 unsigned char* cTrData,
00544 int* iRecSets,
00545 unsigned char* cRecDataSets,
00546 int iDataFormat );
00547
00548 int DLL_EXT_FUNC FEISC_0x31_ReadDataBufferInfo( int iReaderHnd,
00549 unsigned char cBusAdr,
00550 unsigned char* cTabSize,
00551 unsigned char* cTabStart,
00552 unsigned char* cTabLen,
00553 int iDataFormat );
00554
00555 int DLL_EXT_FUNC FEISC_0x32_ClearDataBuffer( int iReaderHnd, unsigned char cBusAdr );
00556 int DLL_EXT_FUNC FEISC_0x33_InitBuffer( int iReaderHnd, unsigned char cBusAdr );
00557 int DLL_EXT_FUNC FEISC_0x34_ForceNotifyTrigger( int iReaderHnd, unsigned char cBusAdr, unsigned char cMode );
00558 int DLL_EXT_FUNC FEISC_0x35_SoftwareTrigger( int iReaderHnd, unsigned char cBusAdr, unsigned char cMode, unsigned char cOption, unsigned char cCycle, unsigned int uiCycleTimeout);
00559 int DLL_EXT_FUNC FEISC_0x52_GetBaud( int iReaderHnd, unsigned char cBusAdr );
00560 int DLL_EXT_FUNC FEISC_0x55_StartFlashLoader( int iReaderHnd );
00561 int DLL_EXT_FUNC FEISC_0x55_StartFlashLoaderEx( int iReaderHnd, unsigned char cBusAdr );
00562 int DLL_EXT_FUNC FEISC_0x63_CPUReset( int iReaderHnd, unsigned char cBusAdr );
00563 int DLL_EXT_FUNC FEISC_0x64_SystemReset( int iReaderHnd, unsigned char cBusAdr, unsigned char cMode );
00564
00565 int DLL_EXT_FUNC FEISC_0x65_SoftVersion( int iReaderHnd,
00566 unsigned char cBusAdr,
00567 unsigned char* cVersion,
00568 int iDataFormat );
00569
00570 int DLL_EXT_FUNC FEISC_0x66_ReaderInfo( int iReaderHnd,
00571 unsigned char cBusAdr,
00572 unsigned char cMode,
00573 unsigned char* cVersion,
00574 int iDataFormat );
00575
00576 int DLL_EXT_FUNC FEISC_0x68_ChannelAnalyze( int iReaderHnd,
00577 unsigned char cBusAdr,
00578 unsigned char cMode,
00579 unsigned char cRes1,
00580 unsigned char cRes2,
00581 unsigned char cRes3,
00582 int iRes4,
00583 long* nData );
00584
00585 int DLL_EXT_FUNC FEISC_0x69_RFReset( int iReaderHnd, unsigned char cBusAdr );
00586 int DLL_EXT_FUNC FEISC_0x6A_RFOnOff( int iReaderHnd, unsigned char cBusAdr, unsigned char cRF );
00587 int DLL_EXT_FUNC FEISC_0x6B_InitNoiseThreshold( int iReaderHnd, unsigned char cBusAdr );
00588
00589 int DLL_EXT_FUNC FEISC_0x6B_CentralizedRFSync( int iReaderHnd,
00590 unsigned char cBusAdr,
00591 unsigned char cMode,
00592 unsigned char cTxChannel,
00593 int iTxPeriod,
00594 unsigned char cRes1,
00595 unsigned char cRes2 );
00596
00597 int DLL_EXT_FUNC FEISC_0x6C_SetNoiseLevel( int iReaderHnd,
00598 unsigned char cBusAdr,
00599 unsigned char* cLevel,
00600 int iDataFormat );
00601
00602 int DLL_EXT_FUNC FEISC_0x6D_GetNoiseLevel( int iReaderHnd,
00603 unsigned char cBusAdr,
00604 unsigned char* cLevel,
00605 int iDataFormat );
00606
00607 int DLL_EXT_FUNC FEISC_0x6E_RdDiag( int iReaderHnd, unsigned char cBusAdr, unsigned char cMode, unsigned char* cData );
00608 int DLL_EXT_FUNC FEISC_0x6F_AntennaTuning( int iReaderHnd, unsigned char cBusAdr );
00609
00610 int DLL_EXT_FUNC FEISC_0x71_SetOutput( int iReaderHnd,
00611 unsigned char cBusAdr,
00612 int iOS,
00613 int iOSF,
00614 int iOSTime,
00615 int iOutTime );
00616
00617 int DLL_EXT_FUNC FEISC_0x72_SetOutput( int iReaderHnd,
00618 unsigned char cBusAdr,
00619 unsigned char cMode,
00620 unsigned char cOutN,
00621 unsigned char* pRecords );
00622
00623 int DLL_EXT_FUNC FEISC_0x74_ReadInput( int iReaderHnd, unsigned char cBusAdr, unsigned char* cInput );
00624
00625 int DLL_EXT_FUNC FEISC_0x75_AdjAntenna( int iReaderHnd,
00626 unsigned char cBusAdr,
00627 unsigned char* cValue,
00628 int iDataFormat );
00629
00630 int DLL_EXT_FUNC FEISC_0x76_CheckAntennas( int iReaderHnd,
00631 unsigned char cBusAdr,
00632 unsigned char cMode,
00633 unsigned char* cAntOut,
00634 int* iAntOutLen );
00635
00636 int DLL_EXT_FUNC FEISC_0x7A_WriteDisplay( int iReaderHnd,
00637 unsigned char cBusAdr,
00638 unsigned char cMode,
00639 unsigned char cRfu1,
00640 unsigned char cRfu2,
00641 unsigned char cLine,
00642 unsigned char cOffset,
00643 unsigned char cTextLen,
00644 char* cText );
00645
00646 int DLL_EXT_FUNC FEISC_0x80_ReadConfBlock( int iReaderHnd,
00647 unsigned char cBusAdr,
00648 unsigned char cConfAdr,
00649 unsigned char* cConfBlock,
00650 int iDataFormat );
00651
00652 int DLL_EXT_FUNC FEISC_0x81_WriteConfBlock( int iReaderHnd,
00653 unsigned char cBusAdr,
00654 unsigned char cConfAdr,
00655 unsigned char* cConfBlock,
00656 int iDataFormat );
00657
00658 int DLL_EXT_FUNC FEISC_0x82_SaveConfBlock( int iReaderHnd, unsigned char cBusAdr, unsigned char cConfAdr );
00659 int DLL_EXT_FUNC FEISC_0x83_ResetConfBlock( int iReaderHnd, unsigned char cBusAdr, unsigned char cConfAdr );
00660 int DLL_EXT_FUNC FEISC_0x84_SetCFGMemLoc( int iReaderHnd, unsigned char cBusAdr, unsigned char cMemAdr );
00661
00662 int DLL_EXT_FUNC FEISC_0x85_SetSysTimer( int iReaderHnd,
00663 unsigned char cBusAdr,
00664 unsigned char* cTime,
00665 int iDataFormat );
00666
00667 int DLL_EXT_FUNC FEISC_0x86_GetSysTimer( int iReaderHnd,
00668 unsigned char cBusAdr,
00669 unsigned char* cTime,
00670 int iDataFormat );
00671
00672 int DLL_EXT_FUNC FEISC_0x87_SetSystemDate( int iReaderHnd,
00673 unsigned char cBusAdr,
00674 unsigned char cCentury,
00675 unsigned char cYear,
00676 unsigned char cMonth,
00677 unsigned char cDay,
00678 unsigned char cTimezone,
00679 unsigned char cHour,
00680 unsigned char cMinute,
00681 int iMilliSecond );
00682
00683 int DLL_EXT_FUNC FEISC_0x88_GetSystemDate( int iReaderHnd,
00684 unsigned char cBusAdr,
00685 unsigned char* cCentury,
00686 unsigned char* cYear,
00687 unsigned char* cMonth,
00688 unsigned char* cDay,
00689 unsigned char* cTimezone,
00690 unsigned char* cHour,
00691 unsigned char* cMinute,
00692 int* iMilliSecond );
00693
00694 int DLL_EXT_FUNC FEISC_0x8A_ReadConfiguration( int iReaderHnd,
00695 unsigned char cBusAdr,
00696 unsigned char cDevice,
00697 unsigned char cBank,
00698 unsigned char cMode,
00699 unsigned int iReqBlockAdr,
00700 unsigned char cReqBlockCount,
00701 unsigned char* cRspBlockCount,
00702 unsigned char* cRspBlockSize,
00703 unsigned char* cRspData );
00704
00705 int DLL_EXT_FUNC FEISC_0x8B_WriteConfiguration(int iReaderHnd,
00706 unsigned char cBusAdr,
00707 unsigned char cDevice,
00708 unsigned char cBank,
00709 unsigned char cMode,
00710 unsigned char cReqBlockCount,
00711 unsigned char cReqBlockSize,
00712 unsigned char* cReqData );
00713
00714 int DLL_EXT_FUNC FEISC_0x8C_ResetConfiguration(int iReaderHnd,
00715 unsigned char cBusAdr,
00716 unsigned char cDevice,
00717 unsigned char cBank,
00718 unsigned char cMode,
00719 unsigned int iReqBlockAdr,
00720 unsigned char cReqBlockCount );
00721
00722 int DLL_EXT_FUNC FEISC_0x9F_Piggyback_Command( int iReaderHnd,
00723 unsigned char cBusAdr,
00724 unsigned char cMode,
00725 unsigned char cDevice,
00726 unsigned char cPort,
00727 unsigned char* cReqData,
00728 int iReqLen,
00729 unsigned char* cRspData,
00730 int* iRspLen );
00731
00732 int DLL_EXT_FUNC FEISC_0xA0_RdLogin( int iReaderHnd,
00733 unsigned char cBusAdr,
00734 unsigned char* cRd_PW,
00735 int iDataFormat );
00736
00737 int DLL_EXT_FUNC FEISC_0xA2_WriteMifareKeys( int iReaderHnd,
00738 unsigned char cBusAdr,
00739 unsigned char cType,
00740 unsigned char cAdr,
00741 unsigned char* cKey,
00742 int iDataFormat );
00743
00744 int DLL_EXT_FUNC FEISC_0xA3_Write_DES_AES_Keys( int iReaderHnd,
00745 unsigned char cBusAdr,
00746 unsigned char cMode,
00747 unsigned char cReaderKeyIndex,
00748 unsigned char cAuthentMode,
00749 unsigned char cKeyLen,
00750 unsigned char* cKey,
00751 int iDataFormat );
00752
00753 int DLL_EXT_FUNC FEISC_0xAD_WriteReaderAuthentKey( int iReaderHnd,
00754 unsigned char cBusAdr,
00755 unsigned char cMode,
00756 unsigned char cKeyType,
00757 unsigned char cKeyLen,
00758 unsigned char* cKey,
00759 int iDataFormat );
00760
00761 int DLL_EXT_FUNC FEISC_0xAE_ReaderAuthent( int iReaderHnd,
00762 unsigned char cBusAdr,
00763 unsigned char cMode,
00764 unsigned char cKeyType,
00765 unsigned char cKeyLen,
00766 unsigned char* cKey,
00767 int iDataFormat );
00768
00769 int DLL_EXT_FUNC FEISC_0xB0_ISOCmd( int iReaderHnd,
00770 unsigned char cBusAdr,
00771 unsigned char* cReqData,
00772 int iReqLen,
00773 unsigned char* cRspData,
00774 int* iRspLen,
00775 int iDataFormat );
00776
00777 int DLL_EXT_FUNC FEISC_0xB1_ISOCustAndPropCmd( int iReaderHnd,
00778 unsigned char cBusAdr,
00779 unsigned char cMfr,
00780 unsigned char* cReqData,
00781 int iReqLen,
00782 unsigned char* cRspData,
00783 int* iRspLen,
00784 int iDataFormat );
00785
00786 int DLL_EXT_FUNC FEISC_0xB2_ISOCmd( int iReaderHnd,
00787 unsigned char cBusAdr,
00788 unsigned char* cReqData,
00789 int iReqLen,
00790 unsigned char* cRspData,
00791 int* iRspLen,
00792 int iDataFormat );
00793
00794 int DLL_EXT_FUNC FEISC_0xB3_EPCCmd( int iReaderHnd,
00795 unsigned char cBusAdr,
00796 unsigned char* cReqData,
00797 int iReqLen,
00798 unsigned char* cRspData,
00799 int* iRspLen,
00800 int iDataFormat );
00801
00802 int DLL_EXT_FUNC FEISC_0xB4_EPC_UHF_Cmd( int iReaderHnd,
00803 unsigned char cBusAdr,
00804 unsigned char cMfr,
00805 unsigned char* cReqData,
00806 int iReqLen,
00807 unsigned char* cRspData,
00808 int* iRspLen,
00809 int iDataFormat );
00810
00811
00812 int DLL_EXT_FUNC FEISC_0xBB_C1G2_TranspCmd(int iReaderHnd,
00813 unsigned char ucBusAdr,
00814 unsigned char ucMode,
00815 unsigned char ucTxPara,
00816 unsigned char ucRxPara,
00817 unsigned int uiTs,
00818 unsigned int uiRspLength,
00819 unsigned char* ucReqData,
00820 unsigned int uiReqLen,
00821 unsigned char* ucRspData,
00822 unsigned int* uiRspLen);
00823
00824 int DLL_EXT_FUNC FEISC_0xBC_CmdQueue( int iReaderHnd,
00825 int iMode,
00826 int iCmdCount,
00827 unsigned char* cCmdQueue,
00828 int iCmdQueueLen,
00829 FEISC_TASK_INIT* pInit );
00830
00831 int DLL_EXT_FUNC FEISC_0xBD_ISOTranspCmd( int iReaderHnd,
00832 unsigned char cBusAdr,
00833 int iMode,
00834 int iRspLength,
00835 unsigned char* cReqData,
00836 int iReqLen,
00837 unsigned char* cRspData,
00838 int* iRspLen,
00839 int iDataFormat );
00840
00841 int DLL_EXT_FUNC FEISC_0xBE_ISOTranspCmd( int iReaderHnd,
00842 unsigned char cBusAdr,
00843 int iMode,
00844 int iRspLength,
00845 unsigned char* cReqData,
00846 int iReqLen,
00847 unsigned char* cRspData,
00848 int* iRspLen,
00849 int iDataFormat );
00850
00851 int DLL_EXT_FUNC FEISC_0xBF_ISOTranspCmd( int iReaderHnd,
00852 unsigned char cBusAdr,
00853 int iMode,
00854 int iRspLength,
00855 unsigned char* cReqData,
00856 int iReqLen,
00857 unsigned char* cRspData,
00858 int* iRspLen,
00859 int iDataFormat );
00860
00861 int DLL_EXT_FUNC FEISC_0xC0_SAMCmd( int iReaderHnd,
00862 int iSlot,
00863 unsigned char* cReqData,
00864 int iReqLen,
00865 FEISC_TASK_INIT* pInit );
00866
00867 int DLL_EXT_FUNC FEISC_0xC0_SAMCmd_Sync( int iReaderHnd,
00868 unsigned char ucBusAdr,
00869 int iSlot,
00870 int iTimeout,
00871 unsigned char* cReqData,
00872 int iReqLen,
00873 unsigned char* cRspData,
00874 int* iRspLen );
00875
00876 int DLL_EXT_FUNC FEISC_0xC1_DESFireCmd( int iReaderHnd,
00877 unsigned char cBusAdr,
00878 unsigned char cSubCmd,
00879 unsigned char cMode,
00880 unsigned char* cAppID,
00881 unsigned char cReaderKeyIndex,
00882 unsigned char* cReqData,
00883 int iReqLen,
00884 unsigned char* cRspData,
00885 int* iRspLen,
00886 int iDataFormat );
00887
00888 int DLL_EXT_FUNC FEISC_0xC2_MifarePlusCmd( int iReaderHnd,
00889 unsigned char cBusAdr,
00890 unsigned char cSubCmd,
00891 unsigned char cMode,
00892 unsigned char* cReqData,
00893 int iReqLen,
00894 unsigned char* cRspData,
00895 int* iRspLen,
00896 int iDataFormat );
00897
00898
00899 int DLL_EXT_FUNC FEISC_0xC3_DESFireCmd( int iReaderHnd,
00900 unsigned char cBusAdr,
00901 unsigned char cSubCmd,
00902 unsigned char cMode,
00903 unsigned char* cReqData,
00904 int iReqLen,
00905 unsigned char* cRspData,
00906 int* iRspLen,
00907 int iDataFormat );
00908
00909 #undef DLL_EXT_FUNC
00910
00911 #ifdef __cplusplus
00912 }
00913 #endif
00914
00915 #endif // _FEISC_INCLUDE_H
00916
00917