summaryrefslogtreecommitdiff
path: root/module/storage.h
blob: 4c73da611cfbd652a85cd8a2e9bf8e74005b2b31 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#ifndef BOARD_H_
#define BOARD_H_

#include <stdlib.h>

/* Communications white-board between processes/threads */

typedef struct sid_storage sid_storage_t;

typedef struct sid_assoc {
	const char *server;
	const char *handle;
	const char *type;
	const unsigned char *secret;
	const size_t n_secret;
	time_t expires;
} sid_assoc_t;

int      singleid_board_check_nonce       (sid_storage_t *storage,
                                           const char *nonce);

int      singleid_board_store_assoc       (sid_storage_t *storage,
                                           const sid_assoc_t *assoc);

int      singleid_board_find_assoc        (sid_storage_t *storage,
                                           const char *server,
                                           const char *handle,
                                           sid_assoc_t *assoc);

void     singleid_board_invalidate_assoc  (sid_storage_t *storage,
                                           const char *server,
                                           const char *handle);

#endif /* BOARD_H_ */