FedmIscTagHandler_ISO14443_4_MIFARE_Plus_SL3.h
Go to the documentation of this file.
00001 /*-------------------------------------------------------
00002 |                                                       |
00003 |      FedmIscTagHandler_ISO14443_4_MIFARE_Plus_SL3.h   |
00004 |                                                       |
00005 ---------------------------------------------------------
00006 
00007 Copyright © 2009-2010   FEIG ELECTRONIC GmbH, All Rights Reserved.
00008                                                 Lange Strasse 4
00009                                                 D-35781 Weilburg
00010                                                 Federal Republic of Germany
00011                                                 phone    : +49 6471 31090
00012                                                 fax      : +49 6471 310999
00013                                                 e-mail   : obid-support@feig.de
00014                                                 Internet : http://www.feig.de
00015                                         
00016 Author                  :       Markus Hultsch
00017 Begin                   :       24.08.2009
00018 
00019 Version                 :       03.01.00 / 10.02.2010 / M. Hultsch
00020 
00021 Operation Systems       :       independent
00022 
00023 Function                        :       class for OBID® classic-pro transponder ISO14443-4 MIFARE Plus  in Security Level 3
00024 
00025 NOTE                            :       this class supports only selected or addressed mode in Host-Mode
00026 
00027 
00028 Trademarks:
00029 -----------
00030 OBID®, OBID i-scan® and OBID myAXXESS® are registered Trademarks of FEIG ELECTRONIC GmbH
00031 Other Trademarks: see FEDM.h
00032 */
00033 
00034 #if !defined(_FEDM_ISC_TAG_HANDLER_ISO14443_4_MIFARE_PLUS_SL3_H_INCLUDED_)
00035 #define _FEDM_ISC_TAG_HANDLER_ISO14443_4_MIFARE_PLUS_SL3_H_INCLUDED_
00036 
00037 #if !defined(_FEDM_NO_TAG_HANDLER_ISO14443)
00038 
00039 #include "../../FEDM.h"
00040 #include "FedmIscTagHandler_ISO14443_4_MIFARE_Plus.h"
00041 
00042 class FEDM_ISOTabItem;
00043 
00044 
00045 
00046 //#####################################################################################
00047 // constants
00048 //#####################################################################################
00049 
00050 
00051 
00052 
00053 
00054 //####################################################################
00055 // class FedmIscTagHandler_ISO14443_4_MIFARE_Plus_SL3
00056 // >> supports only ISO Host Commands <<
00057 //####################################################################
00058 
00069 class _FEDM_ISC_CORE_EXT_CLASS FedmIscTagHandler_ISO14443_4_MIFARE_Plus_SL3 : public FedmIscTagHandler_ISO14443_4_MIFARE_Plus
00070 {
00071 public:
00072 
00073         // friend classes have access rights to protected members
00074         friend class FEDM_ISCReaderModule;
00075         friend class FEDM_ISCReader;
00076         friend class FEDM_ISOTabItem;
00077 
00078 //      virtual void Init();                                    // set all data members to 0
00079 
00080 
00081         // Security Level 3 commands
00082 
00095         int ResetAuthentication();
00096 
00109         int Read_Encrypted(                     unsigned int uiBlockNo, 
00110                                                                 unsigned char ucExt, 
00111                                                                 unsigned char* pucResponseData );
00112 
00125         int Read_EncryptedMaced(        unsigned int uiBlockNo, 
00126                                                                 unsigned char ucExt, 
00127                                                                 unsigned char* pucResponseData );
00128 
00141         int Read_Plain(                         unsigned int uiBlockNo, 
00142                                                                 unsigned char ucExt, 
00143                                                                 unsigned char* pucResponseData );
00144 
00157         int Read_PlainMaced(            unsigned int uiBlockNo, 
00158                                                                 unsigned char ucExt, 
00159                                                                 unsigned char* pucResponseData );
00160 
00173         int Read_EncryptedUnmaced(      unsigned int uiBlockNo, 
00174                                                                 unsigned char ucExt, 
00175                                                                 unsigned char* pucResponseData );
00176 
00189         int Read_EncryptedUnmaced_RespondMaced( unsigned int uiBlockNo, 
00190                                                                                         unsigned char ucExt, 
00191                                                                                         unsigned char* pucResponseData );
00192 
00205         int Read_PlainUnmaced(          unsigned int uiBlockNo, 
00206                                                                 unsigned char ucExt, 
00207                                                                 unsigned char* pucResponseData );
00208 
00221         int Read_PlainUnmaced_RespondMaced(             unsigned int uiBlockNo, 
00222                                                                                         unsigned char ucExt, 
00223                                                                                         unsigned char* pucResponseData );
00224 
00237         int Write_Encrypted(            unsigned int uiBlockNo, 
00238                                                                 unsigned char ucLength,
00239                                                                 unsigned char* pucRequestData );
00240 
00253         int Write_EncryptedMaced(       unsigned int uiBlockNo, 
00254                                                                 unsigned char ucLength,
00255                                                                 unsigned char* pucRequestData );
00256 
00269         int Write_Plain(                        unsigned int uiBlockNo, 
00270                                                                 unsigned char ucLength,
00271                                                                 unsigned char* pucRequestData );
00272 
00285         int Write_PlainMaced(           unsigned int uiBlockNo, 
00286                                                                 unsigned char ucLength,
00287                                                                 unsigned char* pucRequestData );
00288 
00301         int Increment_Encrypted(                unsigned int uiSourceBlockNo, 
00302                                                                         unsigned int uiData );
00303 
00316         int Increment_EncryptedMaced(   unsigned int uiSourceBlockNo, 
00317                                                                         unsigned int uiData );
00318 
00331         int Decrement_Encrypted(                unsigned int uiSourceBlockNo, 
00332                                                                         unsigned int uiData );
00333 
00346         int Decrement_EncryptedMaced(   unsigned int uiSourceBlockNo, 
00347                                                                         unsigned int uiData );
00348 
00361         int Transfer(                                   unsigned int uiDestinationBlockNo );
00362 
00375         int Transfer_Maced(                             unsigned int uiDestinationBlockNo );
00376 
00389         int Increment_Transfer_Encrypted(               unsigned int uiSourceBlockNo,
00390                                                                                         unsigned int uiDestinationBlockNo,
00391                                                                                         unsigned int uiData );
00392 
00405         int Increment_Transfer_EncryptedMaced(  unsigned int uiSourceBlockNo,
00406                                                                                         unsigned int uiDestinationBlockNo,
00407                                                                                         unsigned int uiData );
00408 
00421         int Decrement_Transfer_Encrypted(               unsigned int uiSourceBlockNo,
00422                                                                                         unsigned int uiDestinationBlockNo,
00423                                                                                         unsigned int uiData );
00424 
00437         int Decrement_Transfer_EncryptedMaced(  unsigned int uiSourceBlockNo,
00438                                                                                         unsigned int uiDestinationBlockNo,
00439                                                                                         unsigned int uiData );
00440 
00453         int Restore(                                    unsigned int uiSourceBlockNo );
00454 
00467         int Restore_Maced(                              unsigned int uiSourceBlockNo );
00468 
00469 
00470 protected:
00471         // constructor
00472         FedmIscTagHandler_ISO14443_4_MIFARE_Plus_SL3(FEDM_ISCReader* pReader, FEDM_ISOTabItem* pTabItem);
00473         // 2. constructor
00474         FedmIscTagHandler_ISO14443_4_MIFARE_Plus_SL3(FEDM_ISCReader* pReader, unsigned int uiTagHandlerType, FEDM_ISOTabItem* pTabItem);
00475         // destructor
00476         virtual ~FedmIscTagHandler_ISO14443_4_MIFARE_Plus_SL3();
00477 
00478         int Read(       unsigned char ucCmdByte,
00479                                 unsigned int uiBlockNo, 
00480                                 unsigned char ucExt, 
00481                                 unsigned char* pucResponseData );
00482 
00483         int Write(      unsigned char ucCmdByte,
00484                                 unsigned int uiBlockNo, 
00485                                 unsigned char ucLength, 
00486                                 unsigned char* pucRequestData );
00487 
00488 };
00489 
00490 #endif // #if !defined(_FEDM_NO_TAG_HANDLER_ISO14443)
00491 
00492 #endif // !defined(_FEDM_ISC_TAG_HANDLER_ISO14443_4_MIFARE_PLUS_SL3_H_INCLUDED_)


maggie_rfid_drivers
Author(s): Raul Perula-Martinez
autogenerated on Mon Sep 14 2015 03:05:30