summaryrefslogtreecommitdiff
path: root/module/storage.h
blob: b3a2ad75a3038f6ed1efe41a85ee446d03fb82a7 (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
#ifndef BOARD_H_
#define BOARD_H_

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

typedef struct singleid_board singleid_board_t;

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

int      singleid_board_check_nonce       (singleid_board_t *board,
                                           const char *nonce);

int      singleid_board_store_assoc       (singleid_board_t *board,
                                           const singleid_assoc_t *assoc);

int      singleid_board_find_assoc        (singleid_board_t *board,
                                           const char *server,
                                           const char *handle,
                                           singleid_assoc_t *assoc);

void     singleid_board_invalidate_assoc  (singleid_board_t *board,
                                           const char *server,
                                           const char *handle);

#endif /* BOARD_H_ */