uFCoder.h 101 KB
更新的
developer1承诺
123.4567891011121314151617181920.21222324252627282930.313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899One hundred.10110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012
/** uFCoder.h**库版本:4.0.1**创建于2009-01-14*最后编辑:2016-05-31**作者:D-Logic* /的ifndef uFCoder_H_#定义uFCoder_H_# include < stdint.h ># include < stddef.h >/////////////////////////////////////////////////////////////////////***表示空终止字符数组(即C-String)的类型*数组总是比字符串长一个字节(对于空字符)*数组在使用前必须分配内存空间。* /类型定义常量字符*c_str////////////////////////////////////////////////////////////////////# ifdef _WIN32/ /窗口# ifdef DL_uFC_STATIC_LIB#定义DL_API __stdcall其他## ifndef DL_uFC_EXPORTS#定义DL_API/* __declspec(dllimport) */__stdcall其他##定义DL_API __declspec(dllexport) __stdcall# endif# endif其他#// Linux和OS X#定义DL_API#endif // _WIN32if defined(DL_uFC_EXPORTS) || defined(DL_uFC_STATIC_LIB)类型定义结构体S_UFR_HANDLE*UFR_HANDLE其他#类型定义无效*UFR_HANDLE# endif// MIFARE经典类型id:#定义MIFARE_CLASSIC_1k 0x08#定义MF1ICS50 0x08#define SLE66R35 0x88 //英飞凌= Mifare Classic 1k#定义MIFARE_CLASSIC_4k#定义MF1ICS70 0x18#定义MIFARE_CLASSIC_MINI 0x09#定义MF1ICS20 0x09// dlogic卡类型#定义TAG_UNKNOWN#定义DL_MIFARE_ULTRALIGHT 0x01#定义DL_MIFARE_ULTRALIGHT_EV1_11 0x02#定义DL_MIFARE_ULTRALIGHT_EV1_21 0x03#定义DL_MIFARE_ULTRALIGHT_C 0x04#定义DL_NTAG_203 0x05#定义DL_NTAG_210 0x06#定义DL_NTAG_212 0x07#定义DL_NTAG_213 0x08#定义DL_NTAG_215 0x09#定义DL_NTAG_216 0x0A#定义DL_MIKRON_MIK640D 0x0B#定义NFC_T2T_GENERIC 0x0C#定义DL_MIFARE_MINI 0x20#定义DL_MIFARE_CLASSIC_1K 0x21#定义DL_MIFARE_CLASSIC_4K 0x22#定义DL_MIFARE_PLUS_S_2K 0x23#定义DL_MIFARE_PLUS_S_4K 0x24#定义DL_MIFARE_PLUS_X_2K 0x25#定义DL_MIFARE_PLUS_X_4K 0x26#定义DL_MIFARE_DESFIRE 0x27#定义DL_MIFARE_DESFIRE_EV1_2K 0x28#定义DL_MIFARE_DESFIRE_EV1_4K 0x29#定义DL_MIFARE_DESFIRE_EV1_8K 0x2A#定义DL_MIFARE_DESFIRE_EV2_2K 0x2B#定义DL_MIFARE_DESFIRE_EV2_4K 0x2C#定义DL_MIFARE_DESFIRE_EV2_8K 0x2D#定义DL_IMEI_UID 0x80// MIFARE CLASSIC枚举MIFARE_AUTHENTICATIONMIFARE_AUTHENT1A0 x60MIFARE_AUTHENT1B0 x61};枚举ADDRESS_MODEADDRESS_MODE_BLOCK0ADDRESS_MODE_SECTOR};#定义MAX_UID_LEN#定义ECC_SIG_LEN// API状态码类型定义枚举UFCODER_ERROR_CODESUFR_OK0 x00UFR_COMMUNICATION_ERROR0 x01UFR_CHKSUM_ERROR0 x02UFR_READING_ERROR0 x03UFR_WRITING_ERROR0 x04UFR_BUFFER_OVERFLOW0 x05UFR_MAX_ADDRESS_EXCEEDED0 x06UFR_MAX_KEY_INDEX_EXCEEDED0 x07UFR_NO_CARD(UFR_COMMAND_NOT_SUPPORTED0 x09UFR_FORBIDEN_DIRECT_WRITE_IN_SECTOR_TRAILER0 x0aUFR_ADDRESSED_BLOCK_IS_NOT_SECTOR_TRAILER0 x0bUFR_WRONG_ADDRESS_MODE0 x0cUFR_WRONG_ACCESS_BITS_VALUES0 x0dUFR_AUTH_ERROR0 x0eUFR_PARAMETERS_ERROR0 x0f// ToDo,第5点。UFR_MAX_SIZE_EXCEEDED0 x10UFR_UNSUPPORTED_CARD_TYPEUFR_WRITE_VERIFICATION_ERROR0 x70UFR_BUFFER_SIZE_EXCEEDED0 x71UFR_VALUE_BLOCK_INVALID0 x72UFR_VALUE_BLOCK_ADDR_INVALID0 x73UFR_VALUE_BLOCK_MANIPULATION_ERROR0 x74UFR_WRONG_UI_MODE0 x75UFR_KEYS_LOCKED0 x76UFR_KEYS_UNLOCKED0 x77UFR_WRONG_PASSWORD0 x78UFR_CAN_NOT_LOCK_DEVICE0 x79UFR_CAN_NOT_UNLOCK_DEVICE0 x7aUFR_DEVICE_EEPROM_BUSY0 x7bUFR_RTC_SET_ERROR0 x7cUFR_TAG_UNKNOWN0 x7dUFR_COMMUNICATION_BREAK0×50UFR_NO_MEMORY_ERROR0 x51UFR_CAN_NOT_OPEN_READER0 x52UFR_READER_NOT_SUPPORTED0 x53UFR_READER_OPENING_ERROR0 x54UFR_READER_PORT_NOT_OPENED0 x55UFR_CANT_CLOSE_READER_PORT0 x56UFR_TIMEOUT_ERR0 x90UFR_FT_STATUS_ERROR_10 xa0UFR_FT_STATUS_ERROR_20最后UFR_FT_STATUS_ERROR_30 xa2UFR_FT_STATUS_ERROR_40 xa3UFR_FT_STATUS_ERROR_50 xa4UFR_FT_STATUS_ERROR_60 xa5UFR_FT_STATUS_ERROR_70 xa6UFR_FT_STATUS_ERROR_80 xa7UFR_FT_STATUS_ERROR_90 xa8//NDEF错误代码UFR_WRONG_NDEF_CARD_FORMAT0 x80UFR_NDEF_MESSAGE_NOT_FOUND0 x81UFR_NDEF_UNSUPPORTED_CARD_TYPE0 x82UFR_NDEF_CARD_FORMAT_ERROR0 x83UFR_MAD_NOT_ENABLED0 x84UFR_MAD_VERSION_NOT_SUPPORTED0 x85//多个单元-从名称中带有ReaderList_前缀的函数返回UFR_DEVICE_WRONG_HANDLE0 x100UFR_DEVICE_INDEX_OUT_OF_BOUNDUFR_DEVICE_ALREADY_OPENEDUFR_DEVICE_ALREADY_CLOSEDUFR_DEVICE_IS_NOT_CONNECTED//创意检查错误码:UFR_NOT_NXP_GENUINE0 x200型UFR_OPEN_SSL_DYNAMIC_LIB_FAILEDUFR_OPEN_SSL_DYNAMIC_LIB_NOT_FOUNDUFR_NOT_IMPLEMENTED0 x1000UFR_COMMAND_FAILEDMAX_UFR_STATUS0 xffffffffUFR_STATUS//DESFIRE卡状态错误码#定义READER_ERROR 2999#定义NO_CARD_DETECTED 3000#定义3001#定义错误key_type 3002#定义KEY_AUTH_ERROR 3003#定义CARD_CRYPTO_ERROR 3004#定义READER_CARD_COMM_ERROR 3005#定义PC_READER_COMM_ERROR 3006#定义DESFIRE_CARD_NO_CHANGES 0x0C0C#定义DESFIRE_CARD_OUT_OF_EEPROM_ERROR#定义DESFIRE_CARD_ILLEGAL_COMMAND_CODE#定义DESFIRE_CARD_INTEGRITY_ERROR#定义DESFIRE_CARD_NO_SUCH_KEY#定义DESFIRE_CARD_LENGTH_ERROR#定义DESFIRE_CARD_PERMISSION_DENIED 0x0C9D#定义DESFIRE_CARD_PARAMETER_ERROR#定义DESFIRE_CARD_APPLICATION_NOT_FOUND 0x0CA0#定义DESFIRE_CARD_APPL_INTEGRITY_ERROR#定义DESFIRE_CARD_AUTHENTICATION_ERROR 0x0CAE#定义DESFIRE_CARD_ADDITIONAL_FRAME 0x0CAF#定义desfire_card_boundaries错误0x0CBE定义DESFIRE_CARD_PICC_INTEGRITY_ERROR 0x0CC1#定义DESFIRE_CARD_COMMAND_ABORTED 0x0CCA#定义DESFIRE_CARD_PICC_DISABLED_ERROR#定义DESFIRE_CARD_COUNT_ERROR#定义DESFIRE_CARD_DUPLICATE_ERROR#定义DESFIRE_CARD_EEPROM_ERROR_DES 0x0CEE#定义DESFIRE_CARD_FILE_NOT_FOUND 0x0CF0#定义DESFIRE_CARD_FILE_INTEGRITY_ERROR 0x0CF1//DESFIRE键设置值定义DESFIRE_KEY_SET_CREATE_WITH_AUTH_SET_CHANGE_KEY_CHANGE 0x09#定义DESFIRE_KEY_SET_CREATE_WITHOUT_AUTH_SET_CHANGE_KEY_CHANGE定义DESFIRE_KEY_SET_CREATE_WITH_AUTH_SET_NOT_CHANGE_KEY_CHANGE 0x01#定义DESFIRE_KEY_SET_CREATE_WITHOUT_AUTH_SET_NOT_CHANGE_KEY_CHANGE 0x07定义DESFIRE_KEY_SET_CREATE_WITH_AUTH_SET_CHANGE_KEY_NOT_CHANGE 0x08#定义DESFIRE_KEY_SET_CREATE_WITHOUT_AUTH_SET_CHANGE_KEY_NOT_CHANGE#定义DESFIRE_KEY_SET_CREATE_WITH_AUTH_SET_NOT_CHANGE_KEY_NOT_CHANGE#定义key_set_create_without_auth_set_not_change_key_not_change 0x06# ifdef __cplusplus走读生“C”# endif//--------------------------------------------------------------------------------------------------DL_APIUFR_STATUSReaderOpen无效);/***用于加快非uFR基本阅读器类型的打开速度** @ reader_type: 0: auto >与call ReaderOpen()相同* 1: uFR类型(1mbps)* 2: uFR RS232型(115200bps)* 3: XRC型(250kbps)* @return* /DL_APIUFR_STATUSReaderOpenByTypeuint32_treader_type);/**ReaderOpenEx()是一个用于打开端口的函数** @ reader_type: 0: auto >与call ReaderOpen()相同* 1: uFR类型(1mbps)* 2: uFR RS232型(115200bps)* 3: XRC型(250kbps)* @param port_name:串口名称,标识符,如*“COM3”在窗口或*“/dev/ttyS0*“/ dev /电传。serial1”在OS X上*或选择FTDI*“UN123456”,如果阅读器集成了FTDI接口* @param port_interface:通信接口类型* 0:如果没有定义port_name,自动先尝试FTDI而不是串行* 1:尝试串行/虚拟COM端口/接口* 2:只尝试FTDI通信接口* @param参数:供将来使用* @return* /DL_APIUFR_STATUSReaderOpenExuint32_treader_typec_strport_nameuint32_tport_interface无效*参数);DL_APIUFR_STATUSReaderReset无效);DL_APIUFR_STATUSReaderClose无效);DL_APIUFR_STATUSReaderSoftRestart无效);DL_APIUFR_STATUSGetReaderTypeuint32_t*lpulReaderType);DL_APIUFR_STATUSGetReaderSerialNumberuint32_t*lpulSerialNumber);DL_APIUFR_STATUSReaderStillConnecteduint32_t*连接);DL_APIUFR_STATUSReaderKeyWrite常量uint8_t*aucKeyuint8_tucKeyIndex);DL_APIUFR_STATUSReaderKeysLock常量uint8_t*密码);DL_APIUFR_STATUSReaderKeysUnlock常量uint8_t*密码);DL_APIUFR_STATUSReaderUISignaluint8_tlight_signal_modeuint8_tbeep_signal_mode);DL_APIUFR_STATUSReadUserDatauint8_t*aucData);DL_APIUFR_STATUSWriteUserData常量uint8_t*aucData);DL_APIUFR_STATUSGetCardIduint8_t*lpucCardTypeuint32_t*lpulCardSerial);DL_APIUFR_STATUSBlockReaduint8_t*数据uint8_tblock_addressuint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSBlockWrite常量uint8_t*数据uint8_tblock_addressuint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSBlockInSectorReaduint8_t*数据uint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSBlockInSectorWrite常量uint8_t*数据uint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSLinearReaduint8_t*aucDatauint16_tusLinearAddressuint16_tusDataLengthuint16_t*lpusBytesReturneduint8_tucKeyModeuint8_tucReaderKeyIndex);DL_APIUFR_STATUSLinRowReaduint8_t*aucDatauint16_tusLinearAddressuint16_tusDataLengthuint16_t*lpusBytesReturneduint8_tucKeyModeuint8_tucReaderKeyIndex);DL_APIUFR_STATUSLinearWrite常量uint8_t*aucDatauint16_tusLinearAddressuint16_tusDataLengthuint16_t*lpusBytesWrittenuint8_tucKeyModeuint8_tucReaderKeyIndex);DL_APIUFR_STATUSLinearFormatCard常量uint8_t*new_key_Auint8_tblocks_access_bitsuint8_tsector_trailers_access_bitsuint8_tsector_trailers_byte9常量uint8_t*new_key_Buint8_t*lpucSectorsFormatteduint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSSectorTrailerWriteuint8_taddressing_modeuint8_t地址常量uint8_t*new_key_Auint8_tblock0_access_bitsuint8_tblock1_access_bitsuint8_tblock2_access_bitsuint8_tsector_trailer_access_bitsuint8_tsector_trailer_byte9常量uint8_t*new_key_Buint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSSectorTrailerWriteUnsafeuint8_taddressing_modeuint8_t地址常量uint8_t*sector_traileruint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSValueBlockReadint32_t*价值uint8_t*value_addruint8_tblock_addressuint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSValueBlockInSectorReadint32_t*价值uint8_t*value_addruint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSValueBlockWriteint32_t价值uint8_tvalue_addruint8_tblock_addressuint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSValueBlockInSectorWriteint32_t价值uint8_tvalue_addruint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSValueBlockIncrementint32_tincrement_valueuint8_tblock_addressuint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSValueBlockInSectorIncrementint32_tincrement_valueuint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSValueBlockDecrementint32_tdecrement_valueuint8_tblock_addressuint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSValueBlockInSectorDecrementint32_tdecrement_valueuint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSBlockRead_AKM1uint8_t*数据uint8_tblock_addressuint8_tauth_mode);DL_APIUFR_STATUSBlockWrite_AKM1常量uint8_t*数据uint8_tblock_addressuint8_tauth_mode);DL_APIUFR_STATUSBlockInSectorRead_AKM1uint8_t*数据uint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode);DL_APIUFR_STATUSBlockInSectorWrite_AKM1常量uint8_t*数据uint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode);DL_APIUFR_STATUSLinearRead_AKM1uint8_t*数据uint16_tlinear_addressuint16_t长度uint16_t*bytes_returneduint8_tauth_mode);DL_APIUFR_STATUSLinRowRead_AKM1uint8_t*数据uint16_tlinear_addressuint16_t长度uint16_t*bytes_returneduint8_tauth_mode);DL_APIUFR_STATUSLinearWrite_AKM1常量uint8_t*数据uint16_tlinear_addressuint16_t长度uint16_t*bytes_writtenuint8_tauth_mode);DL_APIUFR_STATUSLinearFormatCard_AKM1常量uint8_t*new_key_Auint8_tblocks_access_bitsuint8_tsector_trailers_access_bitsuint8_tsector_trailers_byte9常量uint8_t*new_key_Buint8_t*lpucSectorsFormatteduint8_tauth_mode);DL_APIUFR_STATUSSectorTrailerWrite_AKM1uint8_taddressing_modeuint8_t地址常量uint8_t*new_key_Auint8_tblock0_access_bitsuint8_tblock1_access_bitsuint8_tblock2_access_bitsuint8_tsector_trailer_access_bitsuint8_tsector_trailer_byte9常量uint8_t*new_key_Buint8_tauth_mode);DL_APIUFR_STATUSSectorTrailerWriteUnsafe_AKM1uint8_taddressing_modeuint8_t地址常量uint8_t*sector_traileruint8_tauth_mode);DL_APIUFR_STATUSValueBlockRead_AKM1int32_t*价值uint8_t*value_addruint8_tblock_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockInSectorRead_AKM1int32_t*价值uint8_t*value_addruint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockWrite_AKM1int32_t价值uint8_tvalue_addruint8_tblock_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockInSectorWrite_AKM1int32_t价值uint8_tvalue_addruint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockIncrement_AKM1int32_tincrement_valueuint8_tblock_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockInSectorIncrement_AKM1int32_tincrement_valueuint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockDecrement_AKM1int32_tdecrement_valueuint8_tblock_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockInSectorDecrement_AKM1int32_tdecrement_valueuint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode);DL_APIUFR_STATUSBlockRead_AKM2uint8_t*数据uint8_tblock_addressuint8_tauth_mode);DL_APIUFR_STATUSBlockWrite_AKM2常量uint8_t*数据uint8_tblock_addressuint8_tauth_mode);DL_APIUFR_STATUSBlockInSectorRead_AKM2uint8_t*数据uint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode);DL_APIUFR_STATUSBlockInSectorWrite_AKM2常量uint8_t*数据uint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode);DL_APIUFR_STATUSLinearRead_AKM2uint8_t*数据uint16_tlinear_addressuint16_t长度uint16_t*bytes_returneduint8_tauth_mode);DL_APIUFR_STATUSLinRowRead_AKM2uint8_t*数据uint16_tlinear_addressuint16_t长度uint16_t*bytes_returneduint8_tauth_mode);DL_APIUFR_STATUSLinearWrite_AKM2常量uint8_t*数据uint16_tlinear_addressuint16_t长度uint16_t*bytes_writtenuint8_tauth_mode);DL_APIUFR_STATUSLinearFormatCard_AKM2常量uint8_t*new_key_Auint8_tblocks_access_bitsuint8_tsector_trailers_access_bitsuint8_tsector_trailers_byte9常量uint8_t*new_key_Buint8_t*lpucSectorsFormatteduint8_tauth_mode);DL_APIUFR_STATUSSectorTrailerWrite_AKM2uint8_taddressing_modeuint8_t地址常量uint8_t*new_key_Auint8_tblock0_access_bitsuint8_tblock1_access_bitsuint8_tblock2_access_bitsuint8_tsector_trailer_access_bitsuint8_tsector_trailer_byte9常量uint8_t*new_key_Buint8_tauth_mode);DL_APIUFR_STATUSSectorTrailerWriteUnsafe_AKM2uint8_taddressing_modeuint8_t地址常量uint8_t*sector_traileruint8_tauth_mode);DL_APIUFR_STATUSValueBlockRead_AKM2int32_t*价值uint8_t*value_addruint8_tblock_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockInSectorRead_AKM2int32_t*价值uint8_t*value_addruint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockWrite_AKM2int32_t价值uint8_tvalue_addruint8_tblock_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockInSectorWrite_AKM2int32_t价值uint8_tvalue_addruint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockIncrement_AKM2int32_tincrement_valueuint8_tblock_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockInSectorIncrement_AKM2int32_tincrement_valueuint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockDecrement_AKM2int32_tdecrement_valueuint8_tblock_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockInSectorDecrement_AKM2int32_tdecrement_valueuint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode);DL_APIUFR_STATUSBlockRead_PKuint8_t*数据uint8_tblock_addressuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSBlockWrite_PK常量uint8_t*数据uint8_tblock_addressuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSBlockInSectorRead_PKuint8_t*数据uint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSBlockInSectorWrite_PK常量uint8_t*数据uint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSLinearRead_PKuint8_t*数据uint16_tlinear_addressuint16_t长度uint16_t*bytes_returneduint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSLinRowRead_PKuint8_t*数据uint16_tlinear_addressuint16_t长度uint16_t*bytes_returneduint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSLinearWrite_PK常量uint8_t*数据uint16_tlinear_addressuint16_t长度uint16_t*bytes_writtenuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSLinearFormatCard_PK常量uint8_t*new_key_Auint8_tblocks_access_bitsuint8_tsector_trailers_access_bitsuint8_tsector_trailers_byte9常量uint8_t*new_key_Buint8_t*lpucSectorsFormatteduint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSSectorTrailerWrite_PKuint8_taddressing_modeuint8_t地址常量uint8_t*new_key_Auint8_tblock0_access_bitsuint8_tblock1_access_bitsuint8_tblock2_access_bitsuint8_tsector_trailer_access_bitsuint8_tsector_trailer_byte9常量uint8_t*new_key_Buint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSSectorTrailerWriteUnsafe_PKuint8_taddressing_modeuint8_t地址常量uint8_t*sector_traileruint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSValueBlockRead_PKint32_t*价值uint8_t*value_addruint8_tblock_addressuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSValueBlockInSectorRead_PKint32_t*价值uint8_t*value_addruint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSValueBlockWrite_PKint32_t价值uint8_tvalue_addruint8_tblock_addressuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSValueBlockInSectorWrite_PKint32_t价值uint8_tvalue_addruint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSValueBlockIncrement_PKint32_tincrement_valueuint8_tblock_addressuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSValueBlockInSectorIncrement_PKint32_tincrement_valueuint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSValueBlockDecrement_PKint32_tdecrement_valueuint8_tblock_addressuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSValueBlockInSectorDecrement_PKint32_tdecrement_valueuint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSGetReaderHardwareVersionuint8_t*version_majoruint8_t*version_minor);DL_APIUFR_STATUSGetReaderFirmwareVersionuint8_t*version_majoruint8_t*version_minor);//新命令(RTC和I2C EEPROM):DL_APIUFR_STATUSGetReaderTimeuint8_t*时间);DL_APIUFR_STATUSSetReaderTimeuint8_t*密码uint8_t*时间);DL_APIUFR_STATUSChangeReaderPassworduint8_t*old_passworduint8_t*new_password);DL_APIUFR_STATUSReaderEepromWriteuint8_t*数据uint32_t地址uint32_t大小uint8_t*密码);DL_APIUFR_STATUSReaderEepromReaduint8_t*数据uint32_t地址uint32_t大小);DL_APIUFR_STATUSChangeReaderJobIduint8_t*job_iduint8_t*new_password);DL_APIUFR_STATUSGetReaderSerialDescriptionuint8_tpSerialDescription8]);DL_APIUFR_STATUSSetReaderSerialDescription常量uint8_tpSerialDescription8]);// 2.0以来的新功能:DL_APIUFR_STATUSGetBuildNumberuint8_t*构建);DL_APIUFR_STATUSGetCardIdExuint8_t*lpucSakuint8_t*aucUiduint8_t*lpucUidSize);DL_APIUFR_STATUSGetLastCardIdExuint8_t*lpucSakuint8_t*aucUiduint8_t*lpucUidSize);DL_APIUFR_STATUSEnableAntiColl无效);DL_APIUFR_STATUSDisableAntiColl无效);DL_APIUFR_STATUSEnumCardsuint8_t*lpucCardsNumberuint8_t*lpucUidListSize);DL_APIUFR_STATUSListCardsuint8_t*aucUidListuint8_tucUidListSize);//在调用此函数之前,必须先调用EnumCards()。DL_APIUFR_STATUSSelectCard常量uint8_t*aucUiduint8_tucUidSizeuint8_t*lpucSak);DL_APIUFR_STATUSDeslectCard无效);DL_APIUFR_STATUSGetAntiCollStatusint8_t*lpcIsAntiCollEnabledint8_t*lpcIsAnyCardSelected);DL_APIUFR_STATUSGetDlogicCardTypeuint8_t*lpucCardType);DL_APIUFR_STATUSGetNfcT2TVersionuint8_tlpucVersionResponse8]);DL_APIUFR_STATUSGetCardSizeuint32_t*lpulLinearSizeuint32_t*lpulRawSize);// uFCoder PRO模式DL_APIUFR_STATUSGetReaderProModeuint32_t*pReaderProModeuint32_t*pReaderProConfig);DL_APIUFR_STATUSSetReaderProMode常量uint32_tReaderProMode);// QR条码密码算法/ /初始化。TB系列如'TB123456'DL_APIUFR_STATUSCardEncryption_Initialize常量uint8_t*TBSerialStringuint16_tjob_number);//你必须在内存中为CardSerialString定义25字节的数组[]DL_APIUFR_STATUSCardEncryption_GetNextEncryptedCard常量uint32_tfrom_timestamp常量uint32_tto_timestampuint8_tCardSerialString25]);DL_APIUFR_STATUSCardEncryption_GetActualCardSNuint32_t*ActualCard_SNuint32_t*ActualCard_SN_LOG);DL_APIUFR_STATUSCardEncryption_GetJobSNuint32_t*JobSN);DL_APIUFR_STATUSCardEncryption_GetSalterSNuint8_tSalterSN8),uint8_t*magicByte);DL_APIUFR_STATUSread_ndef_recorduint8_tmessage_nruint8_trecord_nruint8_t*肿瘤坏死因子uint8_t*type_recorduint8_t*type_lengthuint8_t*iduint8_t*id_lengthuint8_t*有效载荷uint32_t*payload_length);DL_APIUFR_STATUSwrite_ndef_recorduint8_tmessage_nruint8_t*肿瘤坏死因子uint8_t*type_recorduint8_t*type_lengthuint8_t*iduint8_t*id_lengthuint8_t*有效载荷uint32_t*payload_lengthuint8_t*card_formated);DL_APIUFR_STATUSget_ndef_record_countuint8_t*ndef_message_cntuint8_t*ndef_record_cntuint8_t*ndef_record_arrayuint8_t*empty_ndef_message_cnt);DL_APIUFR_STATUSerase_last_ndef_recorduint8_tmessage_nr);DL_APIUFR_STATUSerase_all_ndef_recordsuint8_tmessage_nr);DL_APIUFR_STATUSndef_card_initialization无效);//---------------------------------------------------------------------//卡片仿真://---------------------------------------------------------------------DL_APIUFR_STATUSWriteEmulationNdefuint8_t肿瘤坏死因子uint8_t*type_recorduint8_ttype_lengthuint8_t*iduint8_tid_lengthuint8_t*有效载荷uint8_tpayload_length);DL_APIUFR_STATUSTagEmulationStart无效);DL_APIUFR_STATUSTagEmulationStop无效);DL_APIUFR_STATUSCombinedModeEmulationStart无效);DL_APIUFR_STATUSEnterShareRamCommMode无效);DL_APIUFR_STATUSExitShareRamCommMode无效);DL_APIUFR_STATUSWriteShareRamuint8_t*ram_datauint8_taddruint8_tdata_len);DL_APIUFR_STATUSReadShareRamuint8_t*ram_datauint8_taddruint8_tdata_len);//------------------------------------------------------------------------------// GetNfcT2TVersion()返回8字节(见T2T文档):类型定义结构体t2t_version_structuint8_tuint8_tvendor_iduint8_tproduct_typeuint8_tproduct_subtypeuint8_tmajor_product_versionuint8_tminor_product_versionuint8_tstorage_sizeuint8_tprotocol_typet2t_version_t// NfcT2TSafeConvertVersion()返回转换从GetNfcT2TVersion()返回的version_record//或GetNfcT2TVersionM()。转换是“对齐安全的”//(你不需要注意结构字节对齐):DL_API无效NfcT2TSafeConvertVersiont2t_version_t*版本常量uint8_t*version_record);DL_APIUFR_STATUSReadECCSignatureuint8_tlpucECCSignatureECC_SIG_LEN),uint8_tlpucUidMAX_UID_LEN),uint8_t*lpucUidLenuint8_t*lpucDlogicCardType);//------------------------------------------------------------------------------// NTAG 21x//------------------------------------------------------------------------------// NTAG_FastRead() -数据必须指向(end_block_addr - start_block_addr) * 4分配的字节。//如果只读取n个已分配的字节,请使用NTAG_FastReadBytes(ptr_n_bytes_allocated, n);DL_APIUFR_STATUSNTAG_FastReaduint8_t*数据uint8_tstart_block_addruint8_tend_block_addr);DL_APIUFR_STATUSNTAG_FastReadBytesuint8_t*数据uint8_tstart_block_addruint8_tdata_size);DL_APIUFR_STATUSNTAG_ReadNFCCounteruint32_t*nfc_counter_value);//对于NTAG_GetStaticLockBytes()你必须在函数调用之前分配一些字节。//最安全的方法是提前分配4个字节,即使所有已知的卡都有2个静态锁定字节。//在指针uint8_t *lock_bytes_num将放置实际的锁字节数(目前2,在所有情况下)。DL_APIUFR_STATUSNTAG_GetStaticLockBytesuint8_t*lock_bytesuint8_t*lock_bytes_numuint8_t*lock_pageuint8_t*start_byte_in_page);DL_APIUFR_STATUSNTAG_SetStaticLockBytesuint8_t*lock_bytesuint8_tlock_bytes_num);//对于NTAG_GetDynamicLockBytes()你必须在函数调用之前分配一些字节。//最安全的方法是提前分配4个字节,即使所有已知的卡都有最大。3个动态锁字节。//在指针uint8_t *lock_bytes_num将放置实际的锁定字节数。DL_APIUFR_STATUSNTAG_GetDynamicLockBytesuint8_t*lock_bytesuint8_t*lock_bytes_numuint8_t*lock_pageuint8_t*start_byte_in_page);DL_APIUFR_STATUSNTAG_SetDynamicLockBytesuint8_t*lock_bytesuint8_tlock_bytes_num);//------------------------------------------------------------------------------DL_APIUFR_STATUSSetAsyncCardIdSendConfiguint8_tsend_enableuint8_tprefix_enableuint8_t前缀uint8_t后缀uint8_tsend_removed_enableuint32_tasync_baud_rate);DL_APIUFR_STATUSGetAsyncCardIdSendConfiguint8_t*send_enableuint8_t*prefix_enableuint8_t*前缀uint8_t*后缀uint8_t*send_removed_enableuint32_t*async_baud_rate);/****************************************************************************** ais函数****************************************************************************** //*** ais_get_card_number()从AIS卡读取分配的序列号** @param card_number(指向保留的32位整数的指针)AIS卡序列号* @返回UFR_STATUS执行状态* /DL_APIUFR_STATUSais_get_card_numberuint32_t*card_number);DL_APIUFR_STATUSais_set_right_recorduint8_trecord_numberuint16_tfirst_reader_nruint16_tlast_reader_nruint8_tstart_houruint8_tstart_minuteuint8_tend_houruint8_tend_minuteuint8_t*);DL_APIUFR_STATUSais_get_right_recorduint8_trecord_numberuint16_t*first_reader_nruint16_t*last_reader_nruint8_t*start_houruint8_t*start_minuteuint8_t*end_houruint8_t*end_minuteuint8_t*);DL_APIUFR_STATUSais_erase_right_recorduint8_trecord_number);DL_APIUFR_STATUSais_set_validate_recorduint8_tbegin_yearuint8_tbegin_monthuint8_tbegin_dayuint8_tbegin_houruint8_tbegin_minuteuint8_tend_yearuint8_tend_monthuint8_tend_dayuint8_tend_houruint8_tend_minute);DL_APIUFR_STATUSais_get_validate_recorduint8_t*begin_yearuint8_t*begin_monthuint8_t*begin_dayuint8_t*begin_houruint8_t*begin_minuteuint8_t*end_yearuint8_t*end_monthuint8_t*end_dayuint8_t*end_houruint8_t*end_minute);DL_APIUFR_STATUSais_set_card_typeuint8_tcard_type);DL_APIUFR_STATUSais_get_card_typeuint8_t*card_type);DL_APIUFR_STATUSais_set_card_daily_durationuint16_t持续时间);DL_APIUFR_STATUSais_get_card_daily_durationuint16_t*持续时间);DL_APIUFR_STATUSais_set_card_total_durationuint32_t持续时间);DL_APIUFR_STATUSais_get_card_total_durationuint32_t*持续时间);/ /游泳池  **************************************************************/*** ais_get_credit_and_period_validity() >获取信用和有效期的信息** @param credit(指向整数的指针):* @param begin_year(指向整数的指针):* @param begin_month(指针指向整数):* @param begin_day(指向整数的指针):* @param begin_hour(指向整数的指针):* @param begin_minute(指向整数的指针):* @param end_year(指向整数的指针):* @param end_month(指向整数的指针):* @param end_day(指向整数的指针):* @param end_hour(指向整数的指针):* @param end_minute(指向整数的指针):* @return* /DL_APIUFR_STATUSais_get_credit_and_period_validityint32_t*信贷uint32_t*begin_yearuint32_t*begin_monthuint32_t*begin_dayuint32_t*begin_houruint32_t*begin_minute//uint32_t*end_yearuint32_t*end_monthuint32_t*end_dayuint32_t*end_houruint32_t*end_minute);/*** ais_set_credit_and_period_validity() >设置信用和有效期** @参数信用(整数):* @param begin_year(整数):* @param begin_month(整数):* @param begin_day(整数):* @param begin_hour(整数):* @param begin_minute(整数):* @param end_year(整数):* @param end_month(整数):* @param end_day(整数):* @param end_hour(整数):* @param end_minute(整数):* @return* /DL_APIUFR_STATUSais_set_credit_and_period_validityint32_t信贷uint32_tbegin_yearuint32_tbegin_monthuint32_tbegin_dayuint32_tbegin_houruint32_tbegin_minute//uint32_tend_yearuint32_tend_monthuint32_tend_dayuint32_tend_houruint32_tend_minute);/ / = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =DL_APIUFR_STATUSUfrXrcLockOnuint16_tpulse_duration);DL_APIUFR_STATUSUfrXrcRelayStateuint8_t状态);DL_APIUFR_STATUSUfrXrcGetIoStateuint8_t*对讲机uint8_t*uint8_t*relay_state);DL_APIUFR_STATUSUfrRedLightControluint8_tlight_status);DL_APIUFR_STATUSUfrSetBadSelectCardNrMaxuint8_tbad_select_nr_max);DL_APIUFR_STATUSUfrGetBadSelectCardNrMaxuint8_t*bad_select_nr_max);DL_APIUFR_STATUSUfrEnterSleepMode无效);DL_APIUFR_STATUSUfrLeaveSleepMode无效);DL_APIUFR_STATUSAutoSleepSetuint8_tseconds_wait);DL_APIUFR_STATUSAutoSleepGetuint8_t*seconds_wait);DL_APIUFR_STATUSSetSpeedPermanently无符号字符tx_speed无符号字符rx_speed);DL_APIUFR_STATUSGetSpeedParameters无符号字符*tx_speed无符号字符*rx_speed);DL_APIUFR_STATUSSetDisplayDatauint8_t*display_datauint8_tdata_length);DL_APIUFR_STATUSSetSpeakerFrequencyuint16_t频率);DL_APIUFR_STATUSSetDisplayIntensityuint8_t强度);DL_APIUFR_STATUSGetDisplayIntensityuint8_t*强度);/ / DESFIRE功能  **************************************************************/**** @param链接* @参数超时* @param block_length* @参数snd_data_array* @param rcv_length* @param rcv_data_array* @param ufr_status* @return* /DL_APIUFR_STATUSuFR_i_block_transceiveuint8_t链接uint8_t超时uint8_tblock_lengthuint8_t*snd_data_arraysize_t*rcv_lengthuint8_t*rcv_data_arrayuint32_t*ufr_status);DL_APIUFR_STATUSDES_to_AES_key_type无效);DL_APIUFR_STATUSAES_to_DES_key_type无效);//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DL_APIUFR_STATUSuFR_int_GetDesfireUiduint8_taes_key_nruint32_t援助uint8_taid_key_nruint8_t*card_uiduint8_t*card_uid_lenuint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_GetDesfireUid_PKuint8_t*aes_key_extuint32_t援助uint8_taid_key_nruint8_t*card_uiduint8_t*card_uid_lenuint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireFreeMemuint32_t*free_mem_byteuint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireFormatCarduint8_taes_key_nruint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireFormatCard_PKuint8_t*aes_key_extuint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireCreateStdDataFileuint8_taes_key_nruint32_t援助uint8_tfile_iduint32_tfile_sizeuint8_tread_key_nouint8_twrite_key_nouint8_tread_write_key_nouint8_tchange_key_nouint8_tcommunication_settingsuint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireCreateStdDataFile_PKuint8_t*aes_key_extuint32_t援助uint8_tfile_iduint32_tfile_sizeuint8_tread_key_nouint8_twrite_key_nouint8_tread_write_key_nouint8_tchange_key_nouint8_tcommunication_settingsuint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireCreateStdDataFile_no_authuint32_t援助uint8_tfile_iduint32_tfile_sizeuint8_tread_key_nouint8_twrite_key_nouint8_tread_write_key_nouint8_tchange_key_nouint8_tcommunication_settingsuint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireDeleteFileuint8_taes_key_nruint32_t援助uint8_tfile_iduint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireDeleteFile_PKuint8_t*aes_key_extuint32_t援助uint8_tfile_iduint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireDeleteFile_no_authuint32_t援助uint8_tfile_iduint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireCreateAesApplicationuint8_taes_key_nruint32_t援助uint8_t设置uint8_tmax_key_nouint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireCreateAesApplication_PKuint8_t*aes_key_extuint32_t援助uint8_t设置uint8_tmax_key_nouint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireCreateAesApplication_no_authuint32_t援助uint8_t设置uint8_tmax_key_nouint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireDeleteApplicationuint8_taes_key_nruint32_t援助uint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireDeleteApplication_PKuint8_t*aes_key_extuint32_t援助uint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireSetConfigurationuint8_taes_key_nruint8_trandom_uiduint8_tformat_disableuint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireSetConfiguration_PKuint8_t*aes_key_extuint8_trandom_uiduint8_tformat_disableuint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireGetKeySettingsuint8_taes_key_nruint32_t援助uint8_t*设置uint8_t*max_key_nouint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireGetKeySettings_PKuint8_t*aes_key_extuint32_t援助uint8_t*设置uint8_t*max_key_nouint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireChangeKeySettingsuint8_taes_key_nruint32_t援助uint8_t设置uint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireChangeKeySettings_PKuint8_t*aes_key_extuint32_t援助uint8_t设置uint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireChangeAesKeyuint8_taes_key_nruint32_t援助uint8_taid_key_no_authuint8_tnew_aes_key16),uint8_taid_key_nouint8_told_aes_key16),uint16_t*card_statusuint16_t*exec_time);//所有的键都在读取器中DL_APIUFR_STATUSuFR_int_DesfireChangeAesKey_Auint8_taes_key_nruint32_t援助uint8_taid_key_no_authuint8_tnew_aes_key_nruint8_taid_key_nouint8_told_aes_key_nruint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireChangeAesKey_PKuint8_t*aes_key_extuint32_t援助uint8_taid_key_no_authuint8_tnew_aes_key16),uint8_taid_key_nouint8_told_aes_key16),uint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_SetParamuint8_taes_key16),uint8_tkey_nouint32_taid_nruint8_tfile_id);DL_APIUFR_STATUSuFR_int_DesfireWriteAesKeyuint8_taes_key_nouint8_t*aes_key);//---------------------------------------------------------------------------DL_APIUFR_STATUSuFR_int_DesfireReadStdDataFileuint8_taes_key_nruint32_t援助uint8_taid_key_nruint8_tfile_iduint16_t抵消uint16_tdata_lengthuint8_tcommunication_settingsuint8_t*数据uint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireReadStdDataFile_PKuint8_t*aes_key_extuint32_t援助uint8_taid_key_nruint8_tfile_iduint16_t抵消uint16_tdata_lengthuint8_tcommunication_settingsuint8_t*数据uint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireReadStdDataFile_no_authuint32_t援助uint8_taid_key_nruint8_tfile_iduint16_t抵消uint16_tdata_lengthuint8_tcommunication_settingsuint8_t*数据uint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireWriteStdDataFileuint8_taes_key_nruint32_t援助uint8_taid_key_nruint8_tfile_iduint16_t抵消uint16_tdata_lengthuint8_tcommunication_settingsuint8_t*数据uint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireWriteStdDataFile_PKuint8_t*aes_key_extuint32_t援助uint8_taid_key_nruint8_tfile_iduint16_t抵消uint16_tdata_lengthuint8_tcommunication_settingsuint8_t*数据uint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireWriteStdDataFile_no_authuint32_t援助uint8_taid_key_nruint8_tfile_iduint16_t抵消uint16_tdata_lengthuint8_tcommunication_settingsuint8_t*数据uint16_t*card_statusuint16_t*exec_time);//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@// XXX:同一DLL支持多个读取器//#############################################################################//#############################################################################//#############################################################################//#############################################################################//#############################################################################//#############################################################################//#############################################################################//#############################################################################//#############################################################################//#############################################################################//################# M U L T I R E D E R S U P P O R T  #################//################# M U L T I R E D E R S U P P O R T  #################//################# M U L T I R E D E R S U P P O R T  #################//################# M U L T I R E D E R S U P P O R T  #################//################# M U L T I R E D E R S U P P O R T  #################//################# M U L T I R E D E R S U P P O R T  #################//################# M U L T I R E D E R S U P P O R T  #################//################# M U L T I R E D E R S U P P O R T  #################//################# M U L T I R E D E R S U P P O R T  #################//################# M U L T I R E D E R S U P P O R T  #################//#############################################################################//#############################################################################//#############################################################################//#############################################################################//#############################################################################//#############################################################################//#############################################################################//#############################################################################//#############################################################################//#############################################################################//--------------------------------------------------------------------------------------------------/***这是多读取器支持的主要功能。* ReaderList_UpdateAndGetCount()扫描所有通信端口的兼容设备。*函数探测打开的阅读器,如果仍然连接,如果没有关闭,并标记为删除句柄。*如果某些设备与系统断开连接,此函数应删除其手柄。** @param NumberOfDevices* @返回执行状态* /DL_APIUFR_STATUSReaderList_UpdateAndGetCountint32_t*NumberOfDevices);DL_APIUFR_STATUSReaderList_GetSerialByIndexint32_tDeviceIndexuint32_t*lpulSerialNumber);DL_APIUFR_STATUSReaderList_GetSerialDescriptionByIndexint32_tDeviceIndexuint8_tpSerialDescription8]);DL_APIUFR_STATUSReaderList_GetTypeByIndexint32_tDeviceIndexuint32_t*lpulReaderType);DL_APIUFR_STATUSReaderList_GetFTDISerialByIndexint32_tDeviceIndex字符**Device_Serial);DL_APIUFR_STATUSReaderList_GetFTDIDescriptionByIndexint32_tDeviceIndex字符**Device_Description);DL_APIUFR_STATUSReaderList_OpenByIndex常量int32_tDeviceIndexUFR_HANDLE*hndUFR);//未实现//DL_API UFR_STATUS ReaderList_OpenBySerial(const char Device_SN[16], UFR_HANDLE *hndUFR);/***用于获取连接阅读器的所有相关信息。**如。如果您有树连接的阅读器,由ReaderList_UpdateAndGetCount()检测,*你应该调用这个函数树多次。** @param DeviceHandle* @param DeviceSerialNumber* @param DeviceType* @param DeviceFWver* @param DeviceCommID* @参数DeviceCommSpeed* @param devicecommftdisial* @param DeviceCommFTDIDescription* @param DeviceIsOpened* @param设备状态* @return* /DL_APIUFR_STATUSReaderList_GetInformation//UFR_HANDLE*DeviceHandle//// assigned句柄c_str*DeviceSerialNumber////设备序列号int*DeviceType////设备类型- AIS数据库中的设备识别int*DeviceFWver////版本固件int*DeviceCommID////设备标识号(主)int*DeviceCommSpeed////通信速度c_str*DeviceCommFTDISerial//// FTDI COM端口标识c_str*DeviceCommFTDIDescription//// FTDI COM端口说明int*DeviceIsOpened////设备已打开int*DeviceStatus////设备实际状态);/***如果句柄存在于打开的设备列表中,函数将尝试关闭通信端口并破坏句柄。* (ReaderList_UpdateAndGetCount()将在下次执行时自动执行)**当您确定读取器不再连接,并希望释放手柄时为佳。** param DeviceHandle将被销毁的句柄* @return* /DL_APIUFR_STATUSReaderList_DestroyUFR_HANDLEDeviceHandle);//--------------------------------------------------------------------------------------------------//打开第一个/下一个Reader并返回句柄-最好使用ReaderList_OpenByIndex()DL_APIUFR_STATUSReaderOpenMUFR_HANDLE*hndUFR);DL_APIUFR_STATUSReaderResetMUFR_HANDLEhndUFR);DL_APIUFR_STATUSReaderCloseMUFR_HANDLEhndUFR);DL_APIUFR_STATUSReaderSoftRestartMUFR_HANDLEhndUFR);DL_APIUFR_STATUSGetReaderTypeMUFR_HANDLEhndUFRuint32_t*lpulReaderType);DL_APIUFR_STATUSGetReaderSerialNumberMUFR_HANDLEhndUFRuint32_t*lpulSerialNumber);DL_APIUFR_STATUSReaderStillConnectedMUFR_HANDLEhndUFRuint32_t*连接);DL_APIUFR_STATUSReaderKeyWriteMUFR_HANDLEhndUFR常量uint8_t*aucKeyuint8_tucKeyIndex);DL_APIUFR_STATUSReaderKeysLockMUFR_HANDLEhndUFR常量uint8_t*密码);DL_APIUFR_STATUSReaderKeysUnlockMUFR_HANDLEhndUFR常量uint8_t*密码);DL_APIUFR_STATUSReaderUISignalMUFR_HANDLEhndUFRuint8_tlight_signal_modeuint8_tbeep_signal_mode);DL_APIUFR_STATUSReadUserDataMUFR_HANDLEhndUFRuint8_t*aucData);DL_APIUFR_STATUSWriteUserDataMUFR_HANDLEhndUFR常量uint8_t*aucData);DL_APIUFR_STATUSGetCardIdMUFR_HANDLEhndUFRuint8_t*lpucCardTypeuint32_t*lpulCardSerial);DL_APIUFR_STATUSBlockReadMUFR_HANDLEhndUFRuint8_t*数据uint8_tblock_addressuint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSBlockWriteMUFR_HANDLEhndUFR常量uint8_t*数据uint8_tblock_addressuint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSBlockInSectorReadMUFR_HANDLEhndUFRuint8_t*数据uint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSBlockInSectorWriteMUFR_HANDLEhndUFR常量uint8_t*数据uint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSLinearReadMUFR_HANDLEhndUFRuint8_t*aucDatauint16_tusLinearAddressuint16_tusDataLengthuint16_t*lpusBytesReturneduint8_tucKeyModeuint8_tucReaderKeyIndex);DL_APIUFR_STATUSLinRowReadMUFR_HANDLEhndUFRuint8_t*aucDatauint16_tusLinearAddressuint16_tusDataLengthuint16_t*lpusBytesReturneduint8_tucKeyModeuint8_tucReaderKeyIndex);DL_APIUFR_STATUSLinearWriteMUFR_HANDLEhndUFR常量uint8_t*aucDatauint16_tusLinearAddressuint16_tusDataLengthuint16_t*lpusBytesWrittenuint8_tucKeyModeuint8_tucReaderKeyIndex);DL_APIUFR_STATUSLinearFormatCardMUFR_HANDLEhndUFR常量uint8_t*new_key_Auint8_tblocks_access_bitsuint8_tsector_trailers_access_bitsuint8_tsector_trailers_byte9常量uint8_t*new_key_Buint8_t*lpucSectorsFormatteduint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSSectorTrailerWriteMUFR_HANDLEhndUFRuint8_taddressing_modeuint8_t地址常量uint8_t*new_key_Auint8_tblock0_access_bitsuint8_tblock1_access_bitsuint8_tblock2_access_bitsuint8_tsector_trailer_access_bitsuint8_tsector_trailer_byte9常量uint8_t*new_key_Buint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSSectorTrailerWriteUnsafeMUFR_HANDLEhndUFRuint8_taddressing_modeuint8_t地址常量uint8_t*sector_traileruint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSValueBlockReadMUFR_HANDLEhndUFRint32_t*价值uint8_t*value_addruint8_tblock_addressuint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSValueBlockInSectorReadMUFR_HANDLEhndUFRint32_t*价值uint8_t*value_addruint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSValueBlockWriteMUFR_HANDLEhndUFRint32_t价值uint8_tvalue_addruint8_tblock_addressuint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSValueBlockInSectorWriteMUFR_HANDLEhndUFRint32_t价值uint8_tvalue_addruint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSValueBlockIncrementMUFR_HANDLEhndUFRint32_tincrement_valueuint8_tblock_addressuint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSValueBlockInSectorIncrementMUFR_HANDLEhndUFRint32_tincrement_valueuint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSValueBlockDecrementMUFR_HANDLEhndUFRint32_tdecrement_valueuint8_tblock_addressuint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSValueBlockInSectorDecrementMUFR_HANDLEhndUFRint32_tdecrement_valueuint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_modeuint8_tkey_index);DL_APIUFR_STATUSBlockRead_AKM1MUFR_HANDLEhndUFRuint8_t*数据uint8_tblock_addressuint8_tauth_mode);DL_APIUFR_STATUSBlockWrite_AKM1MUFR_HANDLEhndUFR常量uint8_t*数据uint8_tblock_addressuint8_tauth_mode);DL_APIUFR_STATUSBlockInSectorRead_AKM1MUFR_HANDLEhndUFRuint8_t*数据uint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode);DL_APIUFR_STATUSBlockInSectorWrite_AKM1MUFR_HANDLEhndUFR常量uint8_t*数据uint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode);DL_APIUFR_STATUSLinearRead_AKM1MUFR_HANDLEhndUFRuint8_t*数据uint16_tlinear_addressuint16_t长度uint16_t*bytes_returneduint8_tauth_mode);DL_APIUFR_STATUSLinRowRead_AKM1MUFR_HANDLEhndUFRuint8_t*数据uint16_tlinear_addressuint16_t长度uint16_t*bytes_returneduint8_tauth_mode);DL_APIUFR_STATUSLinearWrite_AKM1MUFR_HANDLEhndUFR常量uint8_t*数据uint16_tlinear_addressuint16_t长度uint16_t*bytes_writtenuint8_tauth_mode);DL_APIUFR_STATUSLinearFormatCard_AKM1MUFR_HANDLEhndUFR常量uint8_t*new_key_Auint8_tblocks_access_bitsuint8_tsector_trailers_access_bitsuint8_tsector_trailers_byte9常量uint8_t*new_key_Buint8_t*lpucSectorsFormatteduint8_tauth_mode);DL_APIUFR_STATUSSectorTrailerWrite_AKM1MUFR_HANDLEhndUFRuint8_taddressing_modeuint8_t地址常量uint8_t*new_key_Auint8_tblock0_access_bitsuint8_tblock1_access_bitsuint8_tblock2_access_bitsuint8_tsector_trailer_access_bitsuint8_tsector_trailer_byte9常量uint8_t*new_key_Buint8_tauth_mode);DL_APIUFR_STATUSSectorTrailerWriteUnsafe_AKM1MUFR_HANDLEhndUFRuint8_taddressing_modeuint8_t地址常量uint8_t*sector_traileruint8_tauth_mode);DL_APIUFR_STATUSValueBlockRead_AKM1MUFR_HANDLEhndUFRint32_t*价值uint8_t*value_addruint8_tblock_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockInSectorRead_AKM1MUFR_HANDLEhndUFRint32_t*价值uint8_t*value_addruint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockWrite_AKM1MUFR_HANDLEhndUFRint32_t价值uint8_tvalue_addruint8_tblock_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockInSectorWrite_AKM1MUFR_HANDLEhndUFRint32_t价值uint8_tvalue_addruint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockIncrement_AKM1MUFR_HANDLEhndUFRint32_tincrement_valueuint8_tblock_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockInSectorIncrement_AKM1MUFR_HANDLEhndUFRint32_tincrement_valueuint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockDecrement_AKM1MUFR_HANDLEhndUFRint32_tdecrement_valueuint8_tblock_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockInSectorDecrement_AKM1MUFR_HANDLEhndUFRint32_tdecrement_valueuint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode);DL_APIUFR_STATUSBlockRead_AKM2MUFR_HANDLEhndUFRuint8_t*数据uint8_tblock_addressuint8_tauth_mode);DL_APIUFR_STATUSBlockWrite_AKM2MUFR_HANDLEhndUFR常量uint8_t*数据uint8_tblock_addressuint8_tauth_mode);DL_APIUFR_STATUSBlockInSectorRead_AKM2MUFR_HANDLEhndUFRuint8_t*数据uint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode);DL_APIUFR_STATUSBlockInSectorWrite_AKM2MUFR_HANDLEhndUFR常量uint8_t*数据uint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode);DL_APIUFR_STATUSLinearRead_AKM2MUFR_HANDLEhndUFRuint8_t*数据uint16_tlinear_addressuint16_t长度uint16_t*bytes_returneduint8_tauth_mode);DL_APIUFR_STATUSLinRowRead_AKM2MUFR_HANDLEhndUFRuint8_t*数据uint16_tlinear_addressuint16_t长度uint16_t*bytes_returneduint8_tauth_mode);DL_APIUFR_STATUSLinearWrite_AKM2MUFR_HANDLEhndUFR常量uint8_t*数据uint16_tlinear_addressuint16_t长度uint16_t*bytes_writtenuint8_tauth_mode);DL_APIUFR_STATUSLinearFormatCard_AKM2MUFR_HANDLEhndUFR常量uint8_t*new_key_Auint8_tblocks_access_bitsuint8_tsector_trailers_access_bitsuint8_tsector_trailers_byte9常量uint8_t*new_key_Buint8_t*lpucSectorsFormatteduint8_tauth_mode);DL_APIUFR_STATUSSectorTrailerWrite_AKM2MUFR_HANDLEhndUFRuint8_taddressing_modeuint8_t地址常量uint8_t*new_key_Auint8_tblock0_access_bitsuint8_tblock1_access_bitsuint8_tblock2_access_bitsuint8_tsector_trailer_access_bitsuint8_tsector_trailer_byte9常量uint8_t*new_key_Buint8_tauth_mode);DL_APIUFR_STATUSSectorTrailerWriteUnsafe_AKM2MUFR_HANDLEhndUFRuint8_taddressing_modeuint8_t地址常量uint8_t*sector_traileruint8_tauth_mode);DL_APIUFR_STATUSValueBlockRead_AKM2MUFR_HANDLEhndUFRint32_t*价值uint8_t*value_addruint8_tblock_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockInSectorRead_AKM2MUFR_HANDLEhndUFRint32_t*价值uint8_t*value_addruint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockWrite_AKM2MUFR_HANDLEhndUFRint32_t价值uint8_tvalue_addruint8_tblock_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockInSectorWrite_AKM2MUFR_HANDLEhndUFRint32_t价值uint8_tvalue_addruint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockIncrement_AKM2MUFR_HANDLEhndUFRint32_tincrement_valueuint8_tblock_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockInSectorIncrement_AKM2MUFR_HANDLEhndUFRint32_tincrement_valueuint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockDecrement_AKM2MUFR_HANDLEhndUFRint32_tdecrement_valueuint8_tblock_addressuint8_tauth_mode);DL_APIUFR_STATUSValueBlockInSectorDecrement_AKM2MUFR_HANDLEhndUFRint32_tdecrement_valueuint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode);DL_APIUFR_STATUSBlockRead_PKMUFR_HANDLEhndUFRuint8_t*数据uint8_tblock_addressuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSBlockWrite_PKMUFR_HANDLEhndUFR常量uint8_t*数据uint8_tblock_addressuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSBlockInSectorRead_PKMUFR_HANDLEhndUFRuint8_t*数据uint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSBlockInSectorWrite_PKMUFR_HANDLEhndUFR常量uint8_t*数据uint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSLinearRead_PKMUFR_HANDLEhndUFRuint8_t*数据uint16_tlinear_addressuint16_t长度uint16_t*bytes_returneduint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSLinRowRead_PKMUFR_HANDLEhndUFRuint8_t*数据uint16_tlinear_addressuint16_t长度uint16_t*bytes_returneduint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSLinearWrite_PKMUFR_HANDLEhndUFR常量uint8_t*数据uint16_tlinear_addressuint16_t长度uint16_t*bytes_writtenuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSLinearFormatCard_PKMUFR_HANDLEhndUFR常量uint8_t*new_key_Auint8_tblocks_access_bitsuint8_tsector_trailers_access_bitsuint8_tsector_trailers_byte9常量uint8_t*new_key_Buint8_t*lpucSectorsFormatteduint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSSectorTrailerWrite_PKMUFR_HANDLEhndUFRuint8_taddressing_modeuint8_t地址常量uint8_t*new_key_Auint8_tblock0_access_bitsuint8_tblock1_access_bitsuint8_tblock2_access_bitsuint8_tsector_trailer_access_bitsuint8_tsector_trailer_byte9常量uint8_t*new_key_Buint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSSectorTrailerWriteUnsafe_PKMUFR_HANDLEhndUFRuint8_taddressing_modeuint8_t地址常量uint8_t*sector_traileruint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSValueBlockRead_PKMUFR_HANDLEhndUFRint32_t*价值uint8_t*value_addruint8_tblock_addressuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSValueBlockInSectorRead_PKMUFR_HANDLEhndUFRint32_t*价值uint8_t*value_addruint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSValueBlockWrite_PKMUFR_HANDLEhndUFRint32_t价值uint8_tvalue_addruint8_tblock_addressuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSValueBlockInSectorWrite_PKMUFR_HANDLEhndUFRint32_t价值uint8_tvalue_addruint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSValueBlockIncrement_PKMUFR_HANDLEhndUFRint32_tincrement_valueuint8_tblock_addressuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSValueBlockInSectorIncrement_PKMUFR_HANDLEhndUFRint32_tincrement_valueuint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSValueBlockDecrement_PKMUFR_HANDLEhndUFRint32_tdecrement_valueuint8_tblock_addressuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSValueBlockInSectorDecrement_PKMUFR_HANDLEhndUFRint32_tdecrement_valueuint8_tsector_addressuint8_tblock_in_sector_addressuint8_tauth_mode常量uint8_t*关键);DL_APIUFR_STATUSGetReaderHardwareVersionMUFR_HANDLEhndUFRuint8_t*version_majoruint8_t*version_minor);DL_APIUFR_STATUSGetReaderFirmwareVersionMUFR_HANDLEhndUFRuint8_t*version_majoruint8_t*version_minor);//新命令(RTC和I2C EEPROM):DL_APIUFR_STATUSGetReaderTimeMUFR_HANDLEhndUFRuint8_t*时间);DL_APIUFR_STATUSSetReaderTimeMUFR_HANDLEhndUFRuint8_t*密码uint8_t*时间);DL_APIUFR_STATUSChangeReaderPasswordMUFR_HANDLEhndUFRuint8_t*old_passworduint8_t*new_password);DL_APIUFR_STATUSReaderEepromWriteMUFR_HANDLEhndUFRuint8_t*数据uint32_t地址uint32_t大小uint8_t*密码);DL_APIUFR_STATUSReaderEepromReadMUFR_HANDLEhndUFRuint8_t*数据uint32_t地址uint32_t大小);DL_APIUFR_STATUSChangeReaderJobIdMUFR_HANDLEhndUFRuint8_t*job_iduint8_t*new_password);DL_APIUFR_STATUSGetReaderSerialDescriptionMUFR_HANDLEhndUFRuint8_tpSerialDescription8]);// 2.0以来的新功能:DL_APIUFR_STATUSGetBuildNumberMUFR_HANDLEhndUFRuint8_t*构建);DL_APIUFR_STATUSGetCardIdExMUFR_HANDLEhndUFRuint8_t*lpucSakuint8_t*aucUiduint8_t*lpucUidSize);DL_APIUFR_STATUSGetLastCardIdExMUFR_HANDLEhndUFRuint8_t*lpucSakuint8_t*aucUiduint8_t*lpucUidSize);DL_APIUFR_STATUSEnableAntiCollMUFR_HANDLEhndUFR);DL_APIUFR_STATUSDisableAntiCollMUFR_HANDLEhndUFR);DL_APIUFR_STATUSEnumCardsMUFR_HANDLEhndUFRuint8_t*lpucCardsNumberuint8_t*lpucUidListSize);DL_APIUFR_STATUSListCardsMUFR_HANDLEhndUFRuint8_t*aucUidListuint8_tucUidListSize);//在调用此函数之前,必须先调用enumcardm()。DL_APIUFR_STATUSSelectCardMUFR_HANDLEhndUFR常量uint8_t*aucUiduint8_tucUidSizeuint8_t*lpucSak);DL_APIUFR_STATUSDeslectCardMUFR_HANDLEhndUFR);DL_APIUFR_STATUSGetAntiCollStatusMUFR_HANDLEhndUFRint8_t*lpcIsAntiCollEnabledint8_t*lpcIsAnyCardSelected);DL_APIUFR_STATUSGetDlogicCardTypeMUFR_HANDLEhndUFRuint8_t*lpucCardType);DL_APIUFR_STATUSGetNfcT2TVersionMUFR_HANDLEhndUFRuint8_tlpucVersionResponse8]);DL_APIUFR_STATUSGetCardSizeMUFR_HANDLEhndUFRuint32_t*lpulLinearSizeuint32_t*lpulRawSize);// uFCoder PRO模式DL_APIUFR_STATUSGetReaderProModeMUFR_HANDLEhndUFRuint32_t*pReaderProModeuint32_t*pReaderProConfig);DL_APIUFR_STATUSSetReaderProModeMUFR_HANDLEhndUFR常量uint32_tReaderProMode);// QR条码密码算法/ /初始化。TB系列如'TB123456'DL_APIUFR_STATUSCardEncryption_InitializeMUFR_HANDLEhndUFR常量uint8_t*TBSerialStringuint16_tjob_number);//你必须在内存中为CardSerialString定义25字节的数组[]DL_APIUFR_STATUSCardEncryption_GetNextEncryptedCardMUFR_HANDLEhndUFR常量uint32_tfrom_timestamp常量uint32_tto_timestampuint8_tCardSerialString25]);DL_APIUFR_STATUSCardEncryption_GetActualCardSNMUFR_HANDLEhndUFRuint32_t*ActualCard_SNuint32_t*ActualCard_SN_LOG);DL_APIUFR_STATUSCardEncryption_GetJobSNMUFR_HANDLEhndUFRuint32_t*JobSN);DL_APIUFR_STATUSCardEncryption_GetSalterSNMUFR_HANDLEhndUFRuint8_tSalterSN8),uint8_t*magicByte);DL_APIUFR_STATUSread_ndef_recordMUFR_HANDLEhndUFRuint8_tmessage_nruint8_trecord_nruint8_t*肿瘤坏死因子uint8_t*type_recorduint8_t*type_lengthuint8_t*iduint8_t*id_lengthuint8_t*有效载荷uint32_t*payload_length);DL_APIUFR_STATUSwrite_ndef_recordMUFR_HANDLEhndUFRuint8_tmessage_nruint8_t*肿瘤坏死因子uint8_t*type_recorduint8_t*type_lengthuint8_t*iduint8_t*id_lengthuint8_t*有效载荷uint32_t*payload_lengthuint8_t*card_formated);DL_APIUFR_STATUSget_ndef_record_countMUFR_HANDLEhndUFRuint8_t*ndef_message_cntuint8_t*ndef_record_cntuint8_t*ndef_record_arrayuint8_t*empty_ndef_message_cnt);DL_APIUFR_STATUSerase_last_ndef_recordMUFR_HANDLEhndUFRuint8_tmessage_nr);DL_APIUFR_STATUSerase_all_ndef_recordsMUFR_HANDLEhndUFRuint8_tmessage_nr);DL_APIUFR_STATUSndef_card_initializationMUFR_HANDLEhndUFR);//---------------------------------------------------------------------//卡片仿真://---------------------------------------------------------------------DL_APIUFR_STATUSWriteEmulationNdefMUFR_HANDLEhndUFRuint8_t肿瘤坏死因子uint8_t*type_recorduint8_ttype_lengthuint8_t*iduint8_tid_lengthuint8_t*有效载荷uint8_tpayload_length);DL_APIUFR_STATUSTagEmulationStartMUFR_HANDLEhndUFR);DL_APIUFR_STATUSTagEmulationStopMUFR_HANDLEhndUFR);DL_APIUFR_STATUSCombinedModeEmulationStartMUFR_HANDLEhndUFR);//------------------------------------------------------------------------------DL_APIUFR_STATUSReadECCSignatureMUFR_HANDLEhndUFRuint8_tlpucECCSignatureECC_SIG_LEN),uint8_tlpucUidMAX_UID_LEN),uint8_t*lpucUidLenuint8_t*lpucDlogicCardType);//------------------------------------------------------------------------------// NTAG 21x//------------------------------------------------------------------------------DL_APIUFR_STATUSNTAG_FastReadMUFR_HANDLEhndUFRuint8_t*数据uint8_tstart_block_addruint8_tend_block_addr);DL_APIUFR_STATUSNTAG_FastReadBytesMUFR_HANDLEhndUFRuint8_t*数据uint8_tstart_block_addruint8_tdata_size);DL_APIUFR_STATUSNTAG_ReadNFCCounterMUFR_HANDLEhndUFRuint32_t*nfc_counter_value);DL_APIUFR_STATUSNTAG_GetStaticLockBytesMUFR_HANDLEhndUFRuint8_t*lock_bytesuint8_t*lock_bytes_numuint8_t*lock_pageuint8_t*start_byte_in_page);DL_APIUFR_STATUSNTAG_SetStaticLockBytesMUFR_HANDLEhndUFRuint8_t*lock_bytesuint8_tlock_bytes_num);DL_APIUFR_STATUSNTAG_GetDynamicLockBytesMUFR_HANDLEhndUFRuint8_t*lock_bytesuint8_t*lock_bytes_numuint8_t*lock_pageuint8_t*start_byte_in_page);DL_APIUFR_STATUSNTAG_SetDynamicLockBytesMUFR_HANDLEhndUFRuint8_t*lock_bytesuint8_tlock_bytes_num);//------------------------------------------------------------------------------DL_APIUFR_STATUSSetAsyncCardIdSendConfigMUFR_HANDLEhndUFRuint8_tsend_enableuint8_tprefix_enableuint8_t前缀uint8_t后缀uint8_tsend_removed_enableuint32_tasync_baud_rate);DL_APIUFR_STATUSGetAsyncCardIdSendConfigMUFR_HANDLEhndUFRuint8_t*send_enableuint8_t*prefix_enableuint8_t*前缀uint8_t*后缀uint8_t*send_removed_enableuint32_t*async_baud_rate);/****************************************************************************** ais函数****************************************************************************** /DL_APIUFR_STATUSais_get_card_numberMUFR_HANDLEhndUFRuint32_t*card_number);DL_APIUFR_STATUSais_set_right_recordMUFR_HANDLEhndUFRuint8_trecord_numberuint16_tfirst_reader_nruint16_tlast_reader_nruint8_tstart_houruint8_tstart_minuteuint8_tend_houruint8_tend_minuteuint8_t*);DL_APIUFR_STATUSais_get_right_recordMUFR_HANDLEhndUFRuint8_trecord_numberuint16_t*first_reader_nruint16_t*last_reader_nruint8_t*start_houruint8_t*start_minuteuint8_t*end_houruint8_t*end_minuteuint8_t*);DL_APIUFR_STATUSais_erase_right_recordMUFR_HANDLEhndUFRuint8_trecord_number);DL_APIUFR_STATUSais_set_validate_recordMUFR_HANDLEhndUFRuint8_tbegin_yearuint8_tbegin_monthuint8_tbegin_dayuint8_tbegin_houruint8_tbegin_minuteuint8_tend_yearuint8_tend_monthuint8_tend_dayuint8_tend_houruint8_tend_minute);DL_APIUFR_STATUSais_get_validate_recordMUFR_HANDLEhndUFRuint8_t*begin_yearuint8_t*begin_monthuint8_t*begin_dayuint8_t*begin_houruint8_t*begin_minuteuint8_t*end_yearuint8_t*end_monthuint8_t*end_dayuint8_t*end_houruint8_t*end_minute);DL_APIUFR_STATUSais_set_card_typeMUFR_HANDLEhndUFRuint8_tcard_type);DL_APIUFR_STATUSais_get_card_typeMUFR_HANDLEhndUFRuint8_t*card_type);DL_APIUFR_STATUSais_set_card_daily_durationMUFR_HANDLEhndUFRuint16_t持续时间);DL_APIUFR_STATUSais_get_card_daily_durationMUFR_HANDLEhndUFRuint16_t*持续时间);DL_APIUFR_STATUSais_set_card_total_durationMUFR_HANDLEhndUFRuint32_t持续时间);DL_APIUFR_STATUSais_get_card_total_durationMUFR_HANDLEhndUFRuint32_t*持续时间);/ /游泳池  **************************************************************DL_APIUFR_STATUSais_get_credit_and_period_validityMUFR_HANDLEhndUFRint32_t*信贷uint32_t*begin_yearuint32_t*begin_monthuint32_t*begin_dayuint32_t*begin_houruint32_t*begin_minute//uint32_t*end_yearuint32_t*end_monthuint32_t*end_dayuint32_t*end_houruint32_t*end_minute);DL_APIUFR_STATUSais_set_credit_and_period_validityMUFR_HANDLEhndUFRint32_t信贷uint32_tbegin_yearuint32_tbegin_monthuint32_tbegin_dayuint32_tbegin_houruint32_tbegin_minute//uint32_tend_yearuint32_tend_monthuint32_tend_dayuint32_tend_houruint32_tend_minute);/ / = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =DL_APIUFR_STATUSUfrXrcLockOnMUFR_HANDLEhndUFRuint16_tpulse_duration);DL_APIUFR_STATUSUfrXrcRelayStateMUFR_HANDLEhndUFRuint8_t状态);DL_APIUFR_STATUSUfrXrcGetIoStateMUFR_HANDLEhndUFRuint8_t*对讲机uint8_t*uint8_t*relay_state);DL_APIUFR_STATUSUfrRedLightControlMUFR_HANDLEhndUFRuint8_tlight_status);DL_APIUFR_STATUSUfrSetBadSelectCardNrMaxMUFR_HANDLEhndUFRuint8_tbad_select_nr_max);DL_APIUFR_STATUSUfrGetBadSelectCardNrMaxMUFR_HANDLEhndUFRuint8_t*bad_select_nr_max);DL_APIUFR_STATUSUfrEnterSleepModeMUFR_HANDLEhndUFR);DL_APIUFR_STATUSUfrLeaveSleepModeMUFR_HANDLEhndUFR);DL_APIUFR_STATUSAutoSleepSetMUFR_HANDLEhndUFRuint8_tseconds_wait);DL_APIUFR_STATUSAutoSleepGetMUFR_HANDLEhndUFRuint8_t*seconds_wait);DL_APIUFR_STATUSSetSpeedPermanentlyMUFR_HANDLEhndUFR无符号字符tx_speed无符号字符rx_speed);DL_APIUFR_STATUSGetSpeedParametersMUFR_HANDLEhndUFR无符号字符*tx_speed无符号字符*rx_speed);DL_APIUFR_STATUSSetDisplayDataMUFR_HANDLEhndUFRuint8_t*display_datauint8_tdata_length);DL_APIUFR_STATUSSetSpeakerFrequencyMUFR_HANDLEhndUFRuint16_t频率);DL_APIUFR_STATUSSetDisplayIntensityMUFR_HANDLEhndUFRuint8_t强度);DL_APIUFR_STATUSGetDisplayIntensityMUFR_HANDLEhndUFRuint8_t*强度);//#############################################################################//#############################################################################DL_APIUFR_STATUSuFR_i_block_transceiveMUFR_HANDLEhndUFRuint8_t链接uint8_t超时uint8_tblock_lengthuint8_t*snd_data_arraysize_t*rcv_lengthuint8_t*rcv_data_arrayuint32_t*ufr_status);//#############################################################################/ / DL_API//void print_desfire_version(struct mifare_desfire_version_info *desfire_version);类型定义无效*每日早晚DL_APIUFR_STATUSuFR_DESFIRE_Start无效);DL_APIUFR_STATUSuFR_DESFIRE_Stop无效);DL_API每日早晚uFR_mifare_desfire_tag_new无效);DL_API无效uFR_mifare_desfire_tag_free每日早晚标签);DL_API每日早晚uFR_mifare_desfire_des_key_newuint8_t价值8]);DL_APIintuFR_mifare_desfire_get_key_settings每日早晚标签uint8_t*设置uint8_t*max_keys);DL_API无效uFR_mifare_desfire_key_free每日早晚关键);DL_API每日早晚uFR_mifare_desfire_aes_key_new_with_versionuint8_t价值16),uint8_t版本);DL_APIintuFR_mifare_desfire_change_key每日早晚标签uint8_tkey_no每日早晚new_key每日早晚old_key);DL_APIintuFR_mifare_desfire_authenticate每日早晚标签uint8_tkey_no每日早晚关键);DL_APIintuFR_mifare_desfire_authenticate_aes每日早晚标签uint8_tkey_no每日早晚关键);//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DL_APIUFR_STATUSuFR_int_GetDesfireUidMUFR_HANDLEhndUFRuint8_taes_key_nruint32_t援助uint8_taid_key_nruint8_t*card_uiduint8_t*card_uid_lenuint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_GetDesfireUid_PK_MUFR_HANDLEhndUFRuint8_t*aes_key_extuint32_t援助uint8_taid_key_nruint8_t*card_uiduint8_t*card_uid_lenuint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireFreeMemMUFR_HANDLEhndUFRuint32_t*free_mem_byteuint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireFormatCardMUFR_HANDLEhndUFRuint8_taes_key_nruint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireFormatCard_PK_MUFR_HANDLEhndUFRuint8_t*aes_key_extuint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireCreateStdDataFileMUFR_HANDLEhndUFRuint8_taes_key_nruint32_t援助uint8_tfile_iduint32_tfile_sizeuint8_tread_key_nouint8_twrite_key_nouint8_tread_write_key_nouint8_tchange_key_nouint8_tcommunication_settingsuint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireCreateStdDataFile_PK_MUFR_HANDLEhndUFRuint8_t*aes_key_extuint32_t援助uint8_tfile_iduint32_tfile_sizeuint8_tread_key_nouint8_twrite_key_nouint8_tread_write_key_nouint8_tchange_key_nouint8_tcommunication_settingsuint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireCreateStdDataFile_no_auth_MUFR_HANDLEhndUFRuint32_t援助uint8_tfile_iduint32_tfile_sizeuint8_tread_key_nouint8_twrite_key_nouint8_tread_write_key_nouint8_tchange_key_nouint8_tcommunication_settingsuint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireDeleteFileMUFR_HANDLEhndUFRuint8_taes_key_nruint32_t援助uint8_tfile_iduint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireDeleteFile_PK_MUFR_HANDLEhndUFRuint8_t*aes_key_extuint32_t援助uint8_tfile_iduint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireDeleteFile_no_auth_MUFR_HANDLEhndUFRuint32_t援助uint8_tfile_iduint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireCreateAesApplicationMUFR_HANDLEhndUFRuint8_taes_key_nruint32_t援助uint8_t设置uint8_tmax_key_nouint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireCreateAesApplication_PK_MUFR_HANDLEhndUFRuint8_t*aes_key_extuint32_t援助uint8_t设置uint8_tmax_key_nouint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireCreateAesApplication_no_auth_MUFR_HANDLEhndUFRuint32_t援助uint8_t设置uint8_tmax_key_nouint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireDeleteApplicationMUFR_HANDLEhndUFRuint8_taes_key_nruint32_t援助uint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireDeleteApplication_PK_MUFR_HANDLEhndUFRuint8_t*aes_key_extuint32_t援助uint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireSetConfigurationMUFR_HANDLEhndUFRuint8_taes_key_nruint8_trandom_uiduint8_tformat_disableuint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireSetConfiguration_PK_MUFR_HANDLEhndUFRuint8_t*aes_key_extuint8_trandom_uiduint8_tformat_disableuint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireGetKeySettingsMUFR_HANDLEhndUFRuint8_taes_key_nruint32_t援助uint8_t*设置uint8_t*max_key_nouint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireGetKeySettings_PK_MUFR_HANDLEhndUFRuint8_t*aes_key_extuint32_t援助uint8_t*设置uint8_t*max_key_nouint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireChangeKeySettingsMUFR_HANDLEhndUFRuint8_taes_key_nruint32_t援助uint8_t设置uint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireChangeKeySettings_PK_MUFR_HANDLEhndUFRuint8_t*aes_key_extuint32_t援助uint8_t设置uint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireChangeAesKeyMUFR_HANDLEhndUFRuint8_taes_key_nruint32_t援助uint8_taid_key_no_authuint8_tnew_aes_key16),uint8_taid_key_nouint8_told_aes_key16),uint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireChangeAesKey_PK_MUFR_HANDLEhndUFRuint8_t*aes_key_extuint32_t援助uint8_taid_key_no_authuint8_tnew_aes_key16),uint8_taid_key_nouint8_told_aes_key16),uint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_SetParamMUFR_HANDLEhndUFRuint8_taes_key16),uint8_tkey_nouint32_taid_nruint8_tfile_id);//---------------------------------------------------------------------------DL_APIUFR_STATUSuFR_int_DesfireReaStddDataFileMUFR_HANDLEhndUFRuint8_taes_key_nruint32_t援助uint8_taid_key_nruint8_tfile_iduint16_t抵消uint16_tdata_lengthuint8_tcommunication_settingsuint8_t*数据uint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireReadStdDataFile_PK_MUFR_HANDLEhndUFRuint8_t*aes_key_extuint32_t援助uint8_taid_key_nruint8_tfile_iduint16_t抵消uint16_tdata_lengthuint8_tcommunication_settingsuint8_t*数据uint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireReadStdDataFile_no_auth_MUFR_HANDLEhndUFRuint32_t援助uint8_taid_key_nruint8_tfile_iduint16_t抵消uint16_tdata_lengthuint8_tcommunication_settingsuint8_t*数据uint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireWriteStdDataFileMUFR_HANDLEhndUFRuint8_taes_key_nruint32_t援助uint8_taid_key_nruint8_tfile_iduint16_t抵消uint16_tdata_lengthuint8_tcommunication_settingsuint8_t*数据uint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireWriteStdDataFile_PK_MUFR_HANDLEhndUFRuint8_t*aes_key_extuint32_t援助uint8_taid_key_nruint8_tfile_iduint16_t抵消uint16_tdata_lengthuint8_tcommunication_settingsuint8_t*数据uint16_t*card_statusuint16_t*exec_time);DL_APIUFR_STATUSuFR_int_DesfireWriteStdDataFile_no_auth_MUFR_HANDLEhndUFRuint32_t援助uint8_taid_key_nruint8_tfile_iduint16_t抵消uint16_tdata_lengthuint8_tcommunication_settingsuint8_t*数据uint16_t*card_statusuint16_t*exec_time);//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@/ / DLL版本  ----------------------------------------------------------------DL_APIuint32_tGetDllVersion无效);/**获取“爆炸”dll版本示例:** #include * #include < ufcode .h>** void main(int argc, char *argv[])* {* uint32_t dwDllVersion = 0;* uint32_t dwDllMajorVersion = 0;* uint32_t dwDllMinorVersion = 0;* uint32_t dwDllBuild = 0;** dwDllVersion = GetDllVersion();** // "爆炸" DLL版本:* dwDllMajorVersion = (DWORD)(LOBYTE(LOWORD(dwDllVersion)));* dwDllMinorVersion = (DWORD)(HIBYTE(LOWORD(dwDllVersion)));** //获取dll构建号。* dwDllBuild = (DWORD)(HIWORD(dwDllVersion));** printf(“Dll版本是%ld. Dll”)%ld (%ld)\n", dwDllMajorVersion,* dwDllMinorVersion,* dwDllBuild);*}** /#if (defined (__WIN32) || defined(__WIN64))//(目前仅适用于Windows)//匠心检查(执行检查的是卡上的芯片/标签NXP正品):DL_APIUFR_STATUSOriginalityCheck常量uint8_t*签名常量uint8_t*uiduint8_tuid_lenuint8_tDlogicCardType);/ /返回:// UFR_OPEN_SSL_DYNAMIC_LIB_NOT_FOUND如果当前文件夹或路径中没有OpenSSL库(libeay32.dll// UFR_OPEN_SSL_DYNAMIC_LIB_FAILED如果OpenSSL库错误(例如错误的OpenSSL版本)// UFR_NOT_NXP_GENUINE如果卡/标签上的芯片不是NXP genuine// UFR_OK是chip on the card/tag是NXP GENUINE#endif // (defined (__WIN32) || defined(__WIN64))////调试函数:DL_APIc_strGetDllVersionStr无效);DL_APIc_strUFR_Status2String常量UFR_STATUS状态);//// Helper函数:的ifndef _WIN32无符号GetTickCount无效);#endif // #ifndef//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DL_APIc_strGetReaderDescription无效);DL_APIc_strGetReaderDescriptionMUFR_HANDLEhndUFR);//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DL_APIUFR_STATUStest_i_block无效);DL_APIUFR_STATUStest_desfire_ver无效);# ifdef __cplusplus# endif# endif/* uFCoder_H_ */
Baidu
map