]>
Commit | Line | Data |
---|---|---|
117d9ec2 | 1 | //----------------------------------------------------------------------------- |
2 | // Jonathan Westhues, Aug 2005 | |
3 | // Gerhard de Koning Gans, April 2008, May 2011 | |
4 | // | |
5 | // This code is licensed to you under the terms of the GNU GPL, version 2 or, | |
6 | // at your option, any later version. See the LICENSE.txt file for the text of | |
7 | // the license. | |
8 | //----------------------------------------------------------------------------- | |
9 | // BigBuf and functions to allocate/free parts of it. | |
10 | //----------------------------------------------------------------------------- | |
11 | ||
12 | #ifndef __BIGBUF_H | |
13 | #define __BIGBUF_H | |
14 | ||
79dcb9e0 | 15 | #include <stdbool.h> // for bool |
16 | #include "common.h" // for ramfunc | |
117d9ec2 | 17 | |
18 | #define BIGBUF_SIZE 40000 | |
f71f4deb | 19 | #define MAX_FRAME_SIZE 256 // maximum allowed ISO14443 frame |
20 | #define MAX_PARITY_SIZE ((MAX_FRAME_SIZE + 7) / 8) | |
21 | #define MAX_MIFARE_FRAME_SIZE 18 // biggest Mifare frame is answer to a read (one block = 16 Bytes) + 2 Bytes CRC | |
22 | #define MAX_MIFARE_PARITY_SIZE 3 // need 18 parity bits for the 18 Byte above. 3 Bytes are enough to store these | |
a8561e35 | 23 | #define CARD_MEMORY_SIZE 4096 |
f71f4deb | 24 | #define DMA_BUFFER_SIZE 128 |
117d9ec2 | 25 | |
26 | extern uint8_t *BigBuf_get_addr(void); | |
f71f4deb | 27 | extern uint8_t *BigBuf_get_EM_addr(void); |
28 | extern uint16_t BigBuf_max_traceLen(void); | |
5330f532 | 29 | extern void BigBuf_Clear(void); |
7cfc777b | 30 | extern void BigBuf_Clear_ext(bool verbose); |
3cec7061 | 31 | extern void BigBuf_Clear_keep_EM(void); |
e7fd9f5f | 32 | extern void BigBuf_Clear_EM(void); |
117d9ec2 | 33 | extern uint8_t *BigBuf_malloc(uint16_t); |
34 | extern void BigBuf_free(void); | |
f71f4deb | 35 | extern void BigBuf_free_keep_EM(void); |
e2012d1b | 36 | extern void BigBuf_print_status(void); |
5330f532 | 37 | extern uint16_t BigBuf_get_traceLen(void); |
e7fd9f5f | 38 | extern void clear_trace(void); |
5330f532 | 39 | extern void set_tracing(bool enable); |
6e49717b | 40 | extern bool get_tracing(void); |
5330f532 | 41 | extern bool RAMFUNC LogTrace(const uint8_t *btBytes, uint16_t iLen, uint32_t timestamp_start, uint32_t timestamp_end, uint8_t *parity, bool readerToTag); |
42 | extern int LogTraceHitag(const uint8_t * btBytes, int iBits, int iSamples, uint32_t dwParity, int bReader); | |
43 | extern uint8_t emlSet(uint8_t *data, uint32_t offset, uint32_t length); | |
117d9ec2 | 44 | #endif /* __BIGBUF_H */ |