#ifndef __COMMON_H
#define __COMMON_H
+#include <stddef.h>
#include <stdint.h>
+#include <stdbool.h>
+#include <at91sam7s512.h>
+typedef unsigned char byte_t;
-//-----------------------------------------------------------------------------
-// ISO 14443A
-//-----------------------------------------------------------------------------
-typedef struct {
- uint8_t atqa[2];
- uint8_t sak;
- uint8_t ats_len;
- uint8_t ats[20]; //FIXME: size?
-} __attribute__((__packed__)) iso14a_card_select_t;
+#ifndef MIN
+# define MIN(a, b) (((a) < (b)) ? (a) : (b))
+#endif
-typedef enum ISO14A_COMMAND {
- ISO14A_CONNECT = 1,
- ISO14A_NO_DISCONNECT = 2,
- ISO14A_APDU = 4,
- ISO14A_RAW = 8,
- ISO14A_REQUEST_TRIGGER = 0x10,
- ISO14A_APPEND_CRC = 0x20,
- ISO14A_SET_TIMEOUT = 0x40
-} iso14a_command_t;
+#ifndef MAX
+# define MAX(a, b) (((a) > (b)) ? (a) : (b))
+#endif
+#ifndef ABS
+# define ABS(a) ( ((a)<0) ? -(a) : (a) )
+#endif
+#define RAMFUNC __attribute((long_call, section(".ramfunc")))
#endif