libcontrac
A library for contact tracing
Macros | Functions
contrac.h File Reference

Core Contact Tracing functionality. More...

#include <stdint.h>
#include <stdbool.h>
Include dependency graph for contrac.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define TK_SIZE   (32)
 
#define TK_SIZE_BASE64   (44)
 

Functions

Contrac * contrac_new ()
 
void contrac_delete (Contrac *data)
 
bool contrac_generate_tracing_key (Contrac *data)
 
bool contrac_set_day_number (Contrac *data, uint32_t day_number)
 
bool contrac_set_time_interval_number (Contrac *data, uint8_t time_interval_number)
 
bool contrac_update_current_time (Contrac *data)
 
bool contrac_get_initialised (Contrac const *data)
 
uint32_t contrac_get_day_number (Contrac *data)
 
uint8_t contrac_get_time_interval_number (Contrac *data)
 
unsigned char const * contrac_get_tracing_key (Contrac const *data)
 
void contrac_get_tracing_key_base64 (Contrac const *data, char *base64)
 
void contrac_set_tracing_key (Contrac *data, unsigned char const *tracing_key)
 
bool contrac_set_tracing_key_base64 (Contrac *data, char const *tracing_key)
 
unsigned char const * contrac_get_daily_key (Contrac const *data)
 
void contrac_get_daily_key_base64 (Contrac const *data, char *base64)
 
unsigned char const * contrac_get_proximity_id (Contrac const *data)
 
void contrac_get_proximity_id_base64 (Contrac const *data, char *base64)
 

Detailed Description

Core Contact Tracing functionality.

Author
David Llewellyn-Jones david.nosp@m.@fly.nosp@m.pig.c.nosp@m.o.uk
Version
0.01

LICENSE

Copyright David Llewellyn-Jones, 2020 Released under the GPLv2.

DESCRIPTION

This class provides the core Contact Tracing functionality. It provides an interfaces for:

  1. Generating a random Tracing Key.
  2. Generating a Daily Tracing Key based on the current day number.
  3. Generating a Rolling Proximity Identifier based on the current time interval number.

Values can be extracted and set in binary or base64 format.