X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/22f4dca88cc008287b1ef01bb4da0d46cbcf76d1..4c8fe2e976f0330944e032231007feede2e32ff8:/armsrc/legicrf.h diff --git a/armsrc/legicrf.h b/armsrc/legicrf.h index 2008f5b9..5c3bd81b 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, @@ -18,20 +18,31 @@ #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 +#include "legic.h" // legic_card_select_t struct 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); +extern int LegicRfReader(uint16_t offset, uint16_t len, uint8_t iv); +extern void LegicRfWriter(uint16_t offset, uint16_t byte, uint8_t iv, uint8_t *data); +extern void LegicRfInfo(void); uint32_t get_key_stream(int skip, int count); -void frame_send_tag(uint16_t response, uint8_t bits, uint8_t crypt); +void frame_send_tag(uint16_t response, uint8_t bits); void frame_sendAsReader(uint32_t data, uint8_t bits); -int ice_legic_select_card(); +int legic_read_byte( uint16_t index, uint8_t cmd_sz); +bool legic_write_byte(uint16_t index, uint8_t byte, uint8_t addr_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 LegicCommonInit(bool clear_mem); + +// emulator mem +void LegicEMemSet(uint32_t arg0, uint32_t arg1, uint8_t *data); +void LegicEMemGet(uint32_t arg0, uint32_t arg1); +void legic_emlset_mem(uint8_t *data, int offset, int numofbytes); +void legic_emlget_mem(uint8_t *data, int offset, int numofbytes); + void ice_legic_setup(); #endif /* __LEGICRF_H */