]> arthur.barton.de Git - netatalk.git/blob - libatalk/cnid/cdb/cnid_cdb.h
- merge branch-netatalk-afp-3x-dev, HEAD was tagged before
[netatalk.git] / libatalk / cnid / cdb / cnid_cdb.h
1 /* 
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.
4  */
5
6 #ifndef _ATALK_CNID_CDB__H
7 #define _ATALK_CNID_CDB__H 1
8
9 #include <sys/cdefs.h>
10 #include <sys/stat.h>
11 #include <unistd.h>
12 #include <string.h>
13
14 #include <netatalk/endian.h>
15 #include <atalk/cnid.h>
16
17 /* cnid_open.c */
18 extern struct _cnid_module cnid_cdb_module;
19 extern struct _cnid_db *cnid_cdb_open __P((const char *, mode_t));
20
21 /* cnid_close.c */
22 extern void cnid_cdb_close __P((struct _cnid_db *));
23
24 /* cnid_add.c */
25 extern cnid_t cnid_cdb_add __P((struct _cnid_db *, const struct stat *, const cnid_t,
26                             char *, const int, cnid_t));
27 extern int cnid_cdb_getstamp __P((struct _cnid_db *, void *, const int ));
28
29 /* cnid_get.c */
30 extern cnid_t cnid_cdb_get __P((struct _cnid_db *, const cnid_t, char *, const int)); 
31 extern char *cnid_cdb_resolve __P((struct _cnid_db *, cnid_t *, void *, u_int32_t )); 
32 extern cnid_t cnid_cdb_lookup __P((struct _cnid_db *, const struct stat *, const cnid_t,
33                                char *, const int));
34
35 /* cnid_update.c */
36 extern int cnid_cdb_update __P((struct _cnid_db *, const cnid_t, const struct stat *,
37                             const cnid_t, char *, int));
38
39 /* cnid_delete.c */
40 extern int cnid_cdb_delete __P((struct _cnid_db *, const cnid_t));
41
42 /* cnid_nextid.c */
43 extern cnid_t cnid_cdb_nextid __P((struct _cnid_db *));
44
45 extern int cnid_cdb_lock   __P((void *));
46 extern int cnid_cdb_unlock __P((void *));
47
48 extern cnid_t cnid_cdb_rebuild_add __P((struct _cnid_db *, const struct stat *,
49                 const cnid_t, const char *, const int, cnid_t));
50
51
52 #endif /* include/atalk/cnid_cdb.h */
53