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/stat.h> 10#include <unistd.h> 11#include <string.h> 12 13#include <atalk/cnid.h> 14 15/* cnid_open.c */ 16extern struct _cnid_module cnid_cdb_module; 17extern struct _cnid_db *cnid_cdb_open (struct cnid_open_args *args); 18 19/* cnid_close.c */ 20extern void cnid_cdb_close (struct _cnid_db *); 21 22/* cnid_add.c */ 23extern cnid_t cnid_cdb_add (struct _cnid_db *, const struct stat *, cnid_t, 24 const char *, size_t, cnid_t); 25extern int cnid_cdb_getstamp (struct _cnid_db *, void *, const size_t ); 26 27/* cnid_get.c */ 28extern cnid_t cnid_cdb_get (struct _cnid_db *, cnid_t, const char *, size_t); 29extern char *cnid_cdb_resolve (struct _cnid_db *, cnid_t *, void *, size_t ); 30extern cnid_t cnid_cdb_lookup (struct _cnid_db *, const struct stat *, cnid_t, 31 const char *, size_t); 32 33/* cnid_update.c */ 34extern int cnid_cdb_update (struct _cnid_db *, cnid_t, const struct stat *, 35 cnid_t, const char *, size_t); 36 37/* cnid_delete.c */ 38extern int cnid_cdb_delete (struct _cnid_db *, const cnid_t); 39 40/* cnid_nextid.c */ 41extern cnid_t cnid_cdb_nextid (struct _cnid_db *); 42 43extern int cnid_cdb_lock (void *); 44extern int cnid_cdb_unlock (void *); 45 46extern cnid_t cnid_cdb_rebuild_add (struct _cnid_db *, const struct stat *, 47 cnid_t, const char *, size_t, cnid_t); 48 49 50#endif /* include/atalk/cnid_cdb.h */ 51 52