diff --git a/client/messages.h b/client/messages.h new file mode 100644 index 00000000..cc637c0f --- /dev/null +++ b/client/messages.h @@ -0,0 +1,39 @@ +/** + * Proxmark3 (debug) messages + * + * Copyright (c) 2012, Roel Verdult + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see + * + * + * @file messages.h + * @brief + */ + +#ifndef _PROXMARK_MESSAGES_H_ +#define _PROXMARK_MESSAGES_H_ + +// Useful macros +#ifdef DEBUG +// #define DBG(x, args...) printf("DBG %s:%d: " x "\n", __FILE__, __LINE__,## args ) + #define DBG(x, ...) fprintf(stderr, "DBG %s:%d: " x "\n", __FILE__, __LINE__, ## __VA_ARGS__ ) +#else + #define DBG(...) {} +#endif + +#define INFO(x, ...) printf("INFO: " x "\n", ## __VA_ARGS__ ) +#define WARN(x, ...) printf("WARNING: " x "\n", ## __VA_ARGS__ ) +#define ERR(x, ...) fprintf(stderr, "ERROR: " x "\n", ## __VA_ARGS__ ) + +#endif // _PROXMARK_MESSAGES_H_ diff --git a/include/mifare.h b/include/mifare.h new file mode 100644 index 00000000..9ef03f20 --- /dev/null +++ b/include/mifare.h @@ -0,0 +1,38 @@ +//----------------------------------------------------------------------------- +// (c) 2012 Roel Verdult +// +// 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. +//----------------------------------------------------------------------------- +// MIFARE type prototyping +//----------------------------------------------------------------------------- + +#ifndef _MIFARE_H_ +#define _MIFARE_H_ + +#include "common.h" + +//----------------------------------------------------------------------------- +// ISO 14443A +//----------------------------------------------------------------------------- +typedef struct { + byte_t uid[10]; + byte_t uidlen; + byte_t atqa[2]; + byte_t sak; + byte_t ats_len; + byte_t ats[256]; +} __attribute__((__packed__)) iso14a_card_select_t; + +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; + +#endif // _MIFARE_H_