X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/c856ceae8acabef3a35a0c70fb4a671d6c5ca292..0644d5e3a3ed255fea1084c0af564c00f592b36c:/armsrc/BigBuf.h diff --git a/armsrc/BigBuf.h b/armsrc/BigBuf.h new file mode 100644 index 00000000..9d89a4f0 --- /dev/null +++ b/armsrc/BigBuf.h @@ -0,0 +1,34 @@ +//----------------------------------------------------------------------------- +// Jonathan Westhues, Aug 2005 +// Gerhard de Koning Gans, April 2008, May 2011 +// +// 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. +//----------------------------------------------------------------------------- +// BigBuf and functions to allocate/free parts of it. +//----------------------------------------------------------------------------- + +#ifndef __BIGBUF_H +#define __BIGBUF_H + + +#define BIGBUF_SIZE 40000 +#define MAX_FRAME_SIZE 256 // maximum allowed ISO14443 frame +#define MAX_PARITY_SIZE ((MAX_FRAME_SIZE + 7) / 8) +#define MAX_MIFARE_FRAME_SIZE 18 // biggest Mifare frame is answer to a read (one block = 16 Bytes) + 2 Bytes CRC +#define MAX_MIFARE_PARITY_SIZE 3 // need 18 parity bits for the 18 Byte above. 3 Bytes are enough to store these +#define CARD_MEMORY_SIZE 4096 +#define DMA_BUFFER_SIZE 128 + +extern uint8_t *BigBuf_get_addr(void); +extern uint8_t *BigBuf_get_EM_addr(void); +extern uint16_t BigBuf_max_traceLen(void); +void BigBuf_Clear(void); +extern uint8_t *BigBuf_malloc(uint16_t); +extern void BigBuf_free(void); +extern void BigBuf_free_keep_EM(void); + +extern uint16_t traceLen; + +#endif /* __BIGBUF_H */