-
Notifications
You must be signed in to change notification settings - Fork 0
/
cdb_int.h
44 lines (38 loc) · 1.03 KB
/
cdb_int.h
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
35
36
37
38
39
40
41
42
43
44
/* cdb_int.h: internal cdb library declarations
*
* This file is based on the tinycdb package by Michael Tokarev, [email protected].
* Public domain.
*
* Patched for Chan FatFs by Torsten Raudssus, <[email protected]>
*
*/
#include "cdb.h"
#include <errno.h>
#include <string.h>
#include "ff.h" // ChanFs must be in include directory
#ifndef EPROTO
# define EPROTO EINVAL
#endif
#ifndef internal_function
# ifdef __GNUC__
# define internal_function __attribute__((visibility("hidden")))
# else
# define internal_function
# endif
#endif
struct cdb_rec {
unsigned hval;
unsigned rpos;
};
struct cdb_rl {
struct cdb_rl *next;
unsigned cnt;
struct cdb_rec rec[254];
};
int _cdb_make_write(struct cdb_make *cdbmp,
const unsigned char *ptr, unsigned len);
int _cdb_make_fullwrite(FIL *fd, const unsigned char *buf, unsigned len);
int _cdb_make_flush(struct cdb_make *cdbmp);
int _cdb_make_add(struct cdb_make *cdbmp, unsigned hval,
const void *key, unsigned klen,
const void *val, unsigned vlen);