1 //-----------------------------------------------------------------------------
2 // Copyright (C) 2018 grauerfuchs
4 // This code is licensed to you under the terms of the GNU GPL, version 2 or,
5 // at your option, any later version. See the LICENSE.txt file for the text of
7 //-----------------------------------------------------------------------------
8 // HID card format packing/unpacking routines
9 //-----------------------------------------------------------------------------
11 #ifndef HIDCARDFORMATS_H__
12 #define HIDCARDFORMATS_H__
16 #include "hidcardformatutils.h"
19 typedef struct hidcardformatdescriptor_s
{
25 } hidcardformatdescriptor_t
;
27 // Structure for defined HID card formats available for packing/unpacking
28 typedef struct hidcardformat_s
{
30 bool (*Pack
)(/*in*/hidproxcard_t
* card
, /*out*/hidproxmessage_t
* packed
);
31 bool (*Unpack
)(/*in*/hidproxmessage_t
* packed
, /*out*/hidproxcard_t
* card
);
33 hidcardformatdescriptor_t Fields
;
36 void HIDListFormats();
37 int HIDFindCardFormat(const char *format
);
38 hidcardformat_t
HIDGetCardFormat(int idx
);
39 bool HIDPack(/* in */int FormatIndex
, /* in */hidproxcard_t
* card
, /* out */hidproxmessage_t
* packed
);
40 bool HIDTryUnpack(/* in */hidproxmessage_t
* packed
, /* in */bool ignoreParity
);