X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/3612a8a8e2b3118e0bcb4ea0ef9a6c59d3635696..9015ae0f5dec6a7922ff6ce30eb62ad7a0e6cf5b:/armsrc/legicrf.h diff --git a/armsrc/legicrf.h b/armsrc/legicrf.h index 57ab7e6d..c4b3e582 100644 --- a/armsrc/legicrf.h +++ b/armsrc/legicrf.h @@ -1,4 +1,4 @@ -//----------------------------------------------------------------------------- +//----------------------------------------------------------------------------- // (c) 2009 Henryk Plötz // // This code is licensed to you under the terms of the GNU GPL, version 2 or, @@ -11,8 +11,29 @@ #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 +#include "legic.h" // legic_card_select_t struct + extern void LegicRfSimulate(int phase, int frame, int reqresp); -extern int LegicRfReader(int bytes, int offset); -extern void LegicRfWriter(int bytes, int offset); +extern int LegicRfReader(uint16_t offset, uint16_t len, uint8_t iv); +extern void LegicRfWriter(uint16_t offset, uint16_t byte, uint8_t iv); +extern void LegicRfRawWriter(int address, int data, uint8_t iv); +extern void LegicRfInfo(void); + +uint32_t get_key_stream(int skip, int count); +void frame_send_tag(uint16_t response, uint8_t bits); +void frame_sendAsReader(uint32_t data, uint8_t bits); + +int legic_read_byte( uint16_t index, uint8_t cmd_sz); + +int legic_select_card(legic_card_select_t *p_card); +int legic_select_card_iv(legic_card_select_t *p_card, uint8_t iv); +void ice_legic_setup(); #endif /* __LEGICRF_H */