-/*
- * Hitag2 emulation public interface
- *
- * (c) 2009 Henryk Plötz <henryk@ploetzli.ch>
- */
+//-----------------------------------------------------------------------------
+// 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.
+//-----------------------------------------------------------------------------
+// Hitag2 emulation
+//
+// (c) 2009 Henryk Plötz <henryk@ploetzli.ch>
+// (c) 2012 Roel Verdult
+//-----------------------------------------------------------------------------
-#ifndef __HITAG2_H
-#define __HITAG2_H
+#ifndef HITAG2_H__
+#define HITAG2_H__
-typedef int (*hitag2_response_callback_t)(const char* response_data, const int response_length, const int fdt, void *cb_cookie);
+#include <stdint.h>
+#include <stdbool.h>
+#include "hitag.h"
-extern int hitag2_init(void);
-extern int hitag2_handle_command(const char* data, const int length, hitag2_response_callback_t cb, void *cb_cookie);
+void SnoopHitag(uint32_t type);
+void SimulateHitagTag(bool tag_mem_supplied, uint8_t* data);
+void ReaderHitag(hitag_function htf, hitag_data* htd);
+void WriterHitag(hitag_function htf, hitag_data* htd, int page);
#endif