Add initial crypto functionality
[libcontrac.git] / include / contrac / rpi.h
1 /** \ingroup contrac
2 * @file
3 * @author David Llewellyn-Jones
4 * @version $(VERSION)
5 *
6 * @section LICENSE
7 *
8 *
9 *
10 * @brief
11 * @section DESCRIPTION
12 *
13 *
14 *
15 */
16
17 #ifndef __RPI_H
18 #define __RPI_H
19
20 // Includes
21
22 #include "contrac/contrac.h"
23 #include "contrac/dtk.h"
24
25 // Defines
26
27 #define RPI_SIZE (16)
28 #define RPI_INTERVAL_MAX (144)
29 #define RPI_SIZE_BASE64 (24)
30
31 // Structures
32
33 typedef struct _Rpi Rpi;
34
35 // Function prototypes
36
37 Rpi * rpi_new();
38 void rpi_delete(Rpi * data);
39
40 bool rpi_generate_proximity_id(Rpi * data, Dtk const * dtk, uint8_t time_interval_number);
41 const unsigned char * rpi_get_proximity_id(Rpi const * data);
42 uint8_t rpi_get_time_interval_number(Rpi const * data);
43 void rpi_assign(Rpi * data, unsigned char const * rpi_bytes, uint8_t time_interval_number);
44 bool rpi_compare(Rpi const * data, Rpi const * comparitor);
45
46 // Function definitions
47
48 #endif // __RPI_H
49
50