]>
Commit | Line | Data |
---|---|---|
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 | ||
15 | #include <stdbool.h> // for bool | |
16 | #include "common.h" // for ramfunc | |
17 | ||
18 | #define BIGBUF_SIZE 40000 | |
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 | |
23 | #define CARD_MEMORY_SIZE 4096 | |
24 | #define DMA_BUFFER_SIZE 128 | |
25 | ||
26 | extern uint8_t *BigBuf_get_addr(void); | |
27 | extern uint8_t *BigBuf_get_EM_addr(void); | |
28 | extern uint16_t BigBuf_max_traceLen(void); | |
29 | extern void BigBuf_Clear(void); | |
30 | extern void BigBuf_Clear_ext(bool verbose); | |
31 | extern void BigBuf_Clear_keep_EM(void); | |
32 | extern void BigBuf_Clear_EM(void); | |
33 | extern uint8_t *BigBuf_malloc(uint16_t); | |
34 | extern void BigBuf_free(void); | |
35 | extern void BigBuf_free_keep_EM(void); | |
36 | extern void BigBuf_print_status(void); | |
37 | extern uint16_t BigBuf_get_traceLen(void); | |
38 | extern void clear_trace(void); | |
39 | extern void set_tracing(bool enable); | |
40 | extern bool get_tracing(void); | |
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); | |
44 | #endif /* __BIGBUF_H */ |