X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/8e220a91260072f1483f1fb41d6ce64459667e4c..25d52dd261bc454dafeedc31c9b3d62b8832b23a:/armsrc/legicrf.h diff --git a/armsrc/legicrf.h b/armsrc/legicrf.h index 2215db04..2008f5b9 100644 --- a/armsrc/legicrf.h +++ b/armsrc/legicrf.h @@ -1,12 +1,37 @@ -/* - * LEGIC RF emulation public interface - * - * (c) 2009 Henryk Plötz - */ - -#ifndef LEGICRF_H_ -#define LEGICRF_H_ - -extern void LegicRfSimulate(void); -extern void LegicRfReader(int bytes, int offset); -#endif /* LEGICRF_H_ */ +//----------------------------------------------------------------------------- +// (c) 2009 Henryk Plötz +// +// This code is licensed to you under the terms of the GNU GPL, version 2 or, +// at your option, any later version. See the LICENSE.txt file for the text of +// the license. +//----------------------------------------------------------------------------- +// LEGIC RF emulation public interface +//----------------------------------------------------------------------------- + +#ifndef __LEGICRF_H +#define __LEGICRF_H + +#include "proxmark3.h" // +#include "apps.h" +#include "util.h" // +#include "string.h" +#include "legic_prng.h" // legic PRNG impl +#include "crc.h" // legic crc-4 +#include "ticks.h" // timers + +#define LEGIC_READ 0x01 +#define LEGIC_WRITE 0x00 + +extern void LegicRfSimulate(int phase, int frame, int reqresp); +extern int LegicRfReader(int offset, int bytes, int iv); +extern void LegicRfWriter(int offset, int bytes, int iv); +extern void LegicRfRawWriter(int address, int data, int iv); + +uint32_t get_key_stream(int skip, int count); +void frame_send_tag(uint16_t response, uint8_t bits, uint8_t crypt); +void frame_sendAsReader(uint32_t data, uint8_t bits); + +int ice_legic_select_card(); +void ice_legic_setup(); + +#endif /* __LEGICRF_H */