netatalk  4.4.0dev
Free and Open Source Apple Filing Protocol (AFP) Server
Loading...
Searching...
No Matches
cnid.h File Reference
#include <atalk/adouble.h>
#include <atalk/list.h>
#include <atalk/uuid.h>

Go to the source code of this file.

Data Structures

struct  _cnid_db
struct  cnid_open_args
struct  _cnid_module

Macros

#define CNID_FLAG_PERSISTENT   0x01 /* This backend implements DID persistence */
#define CNID_FLAG_MANGLING   0x02 /* This backend has name mangling feature. */
#define CNID_FLAG_SETUID   0x04 /* Set db owner to parent folder owner. */
#define CNID_FLAG_BLOCK   0x08 /* block signals in update. */
#define CNID_FLAG_NODEV   0x10 /* don't use device number only inode */
#define CNID_FLAG_LAZY_INIT   0x20 /* */
#define CNID_FLAG_INODE   0x80 /* in cnid_add the inode is authoritative */
#define CNID_INVALID   0
#define CNID_START   17
#define CNID_ERR_PARAM   0x80000001
#define CNID_ERR_PATH   0x80000002
#define CNID_ERR_DB   0x80000003
#define CNID_ERR_CLOSE   0x80000004 /* the db was not open */
#define CNID_ERR_MAX   0x80000005

Typedefs

typedef struct _cnid_db cnid_db
typedef struct _cnid_module cnid_module

Functions

void cnid_init (void)
void cnid_register (struct _cnid_module *module)
struct _cnid_dbcnid_open (struct vol *vol, char *type, int flags)
cnid_t cnid_add (struct _cnid_db *cdb, const struct stat *st, const cnid_t did, const char *name, const size_t len, cnid_t hint)
int cnid_delete (struct _cnid_db *cdb, cnid_t id)
cnid_t cnid_get (struct _cnid_db *cdb, const cnid_t did, char *name, const size_t len)
int cnid_getstamp (struct _cnid_db *cdb, void *buffer, const size_t len)
cnid_t cnid_lookup (struct _cnid_db *cdb, const struct stat *st, const cnid_t did, char *name, const size_t len)
char * cnid_resolve (struct _cnid_db *cdb, cnid_t *id, void *buffer, size_t len)
int cnid_update (struct _cnid_db *cdb, const cnid_t id, const struct stat *st, const cnid_t did, char *name, const size_t len)
cnid_t cnid_rebuild_add (struct _cnid_db *cdb, const struct stat *st, const cnid_t did, char *name, const size_t len, cnid_t hint)
int cnid_find (struct _cnid_db *cdb, const char *name, size_t namelen, void *buffer, size_t buflen)
int cnid_wipe (struct _cnid_db *cdb)
void cnid_close (struct _cnid_db *db)

Macro Definition Documentation

◆ CNID_ERR_CLOSE

#define CNID_ERR_CLOSE   0x80000004 /* the db was not open */

◆ CNID_ERR_DB

#define CNID_ERR_DB   0x80000003

◆ CNID_ERR_MAX

#define CNID_ERR_MAX   0x80000005

◆ CNID_ERR_PARAM

#define CNID_ERR_PARAM   0x80000001

◆ CNID_ERR_PATH

#define CNID_ERR_PATH   0x80000002

◆ CNID_FLAG_BLOCK

#define CNID_FLAG_BLOCK   0x08 /* block signals in update. */

◆ CNID_FLAG_INODE

#define CNID_FLAG_INODE   0x80 /* in cnid_add the inode is authoritative */

◆ CNID_FLAG_LAZY_INIT

#define CNID_FLAG_LAZY_INIT   0x20 /* */

◆ CNID_FLAG_MANGLING

#define CNID_FLAG_MANGLING   0x02 /* This backend has name mangling feature. */

◆ CNID_FLAG_NODEV

#define CNID_FLAG_NODEV   0x10 /* don't use device number only inode */

◆ CNID_FLAG_PERSISTENT

#define CNID_FLAG_PERSISTENT   0x01 /* This backend implements DID persistence */

◆ CNID_FLAG_SETUID

#define CNID_FLAG_SETUID   0x04 /* Set db owner to parent folder owner. */

◆ CNID_INVALID

#define CNID_INVALID   0

◆ CNID_START

#define CNID_START   17

Typedef Documentation

◆ cnid_db

typedef struct _cnid_db cnid_db

◆ cnid_module

typedef struct _cnid_module cnid_module

Function Documentation

◆ cnid_add()

cnid_t cnid_add ( struct _cnid_db * cdb,
const struct stat * st,
const cnid_t did,
const char * name,
const size_t len,
cnid_t hint )

◆ cnid_close()

void cnid_close ( struct _cnid_db * db)

◆ cnid_delete()

int cnid_delete ( struct _cnid_db * cdb,
cnid_t id )

◆ cnid_find()

int cnid_find ( struct _cnid_db * cdb,
const char * name,
size_t namelen,
void * buffer,
size_t buflen )

◆ cnid_get()

cnid_t cnid_get ( struct _cnid_db * cdb,
const cnid_t did,
char * name,
const size_t len )

◆ cnid_getstamp()

int cnid_getstamp ( struct _cnid_db * cdb,
void * buffer,
const size_t len )

◆ cnid_init()

void cnid_init ( void )

◆ cnid_lookup()

cnid_t cnid_lookup ( struct _cnid_db * cdb,
const struct stat * st,
const cnid_t did,
char * name,
const size_t len )

◆ cnid_open()

struct _cnid_db * cnid_open ( struct vol * vol,
char * type,
int flags )

◆ cnid_rebuild_add()

cnid_t cnid_rebuild_add ( struct _cnid_db * cdb,
const struct stat * st,
const cnid_t did,
char * name,
const size_t len,
cnid_t hint )

◆ cnid_register()

void cnid_register ( struct _cnid_module * module)

◆ cnid_resolve()

char * cnid_resolve ( struct _cnid_db * cdb,
cnid_t * id,
void * buffer,
size_t len )

◆ cnid_update()

int cnid_update ( struct _cnid_db * cdb,
const cnid_t id,
const struct stat * st,
const cnid_t did,
char * name,
const size_t len )

◆ cnid_wipe()

int cnid_wipe ( struct _cnid_db * cdb)