2 * interface for database access to cnids. i do it this way to abstract
3 * things a bit in case we want to change the underlying implementation.
6 #ifndef _ATALK_CNID_HASH__H
7 #define _ATALK_CNID_HASH__H 1
14 #include <netatalk/endian.h>
15 #include <atalk/cnid.h>
28 #include <atalk/tdb.h>
30 #define HASH_ERROR_LINK 1
31 #define HASH_ERROR_DEV 2
32 #define HASH_ERROR_INODE 4
34 struct _cnid_hash_private {
42 extern struct _cnid_module cnid_hash_module;
43 extern struct _cnid_db *cnid_hash_open (const char *, mode_t);
46 extern void cnid_hash_close (struct _cnid_db *);
49 extern cnid_t cnid_hash_add (struct _cnid_db *, const struct stat *, const cnid_t,
50 char *, const int, cnid_t);
53 extern cnid_t cnid_hash_get (struct _cnid_db *, const cnid_t, char *, const int);
54 extern char *cnid_hash_resolve (struct _cnid_db *, cnid_t *, void *, u_int32_t);
55 extern cnid_t cnid_hash_lookup (struct _cnid_db *, const struct stat *, const cnid_t, char *, const int);
58 extern int cnid_hash_update (struct _cnid_db *, const cnid_t, const struct stat *,
59 const cnid_t, char *, int);
62 extern int cnid_hash_delete (struct _cnid_db *, const cnid_t);
65 extern cnid_t cnid_hash_nextid (struct _cnid_db *);
67 #endif /* include/atalk/cnid_hash.h */