#include <dirent.h>#include <errno.h>#include <fcntl.h>#include <setjmp.h>#include <stdlib.h>#include <string.h>#include <sys/stat.h>#include <sys/types.h>#include <unistd.h>#include <atalk/acl.h>#include <atalk/adouble.h>#include <atalk/cnid.h>#include <atalk/compat.h>#include <atalk/ea.h>#include <atalk/errchk.h>#include <atalk/netatalk_conf.h>#include <atalk/unicode.h>#include <atalk/util.h>#include <atalk/volume.h>#include "cmd_dbd.h"#include "db_param.h"#include "dbd.h"#include "dbif.h"Macros | |
| #define | ADDIR_OK (addir_ok == 0) |
| #define | ADFILE_OK (adfile_ok == 0) |
Functions | |
| static const char * | check_netatalk_dirs (const char *name) |
| Check for netatalk special folders e.g. ".AppleDB" or ".AppleDesktop". | |
| static const char * | check_special_dirs (const char *name) |
| Check for special names. | |
| static int | update_cnid (cnid_t did, const struct stat *sp, const char *oldname, const char *newname) |
| static int | check_adfile (const char *fname, const struct stat *st, const char **newname) |
| static void | remove_eafiles (const char *name, struct ea *ea) |
| static int | check_eafiles (const char *fname) |
| static int | check_addir (int volroot) |
| static int | check_eafile_in_adouble (const char *name) |
| Check if file cotains "::EA" and if it does check if its correspondig data fork exists. | |
| static int | read_addir (void) |
| Check files and dirs inside .AppleDouble folder. | |
| static cnid_t | check_cnid (const char *name, cnid_t did, struct stat *st, int adfile_ok) |
| Check CNID for a file/dir, both from db and from ad-file. | |
| static int | check_orphaned (const char *name) |
| static int | dbd_readdir (int volroot, cnid_t did) |
| int | cmd_dbd_scanvol (struct vol *vol_in, dbd_flags_t flags) |
Variables | |
| static char | cwdbuf [MAXPATHLEN+1] |
| static struct vol * | vol |
| static dbd_flags_t | dbd_flags |
| static char | stamp [CNID_DEV_LEN] |
| static char * | netatalk_dirs [] |
| static char * | special_dirs [] |
| static struct cnid_dbd_rqst | rqst |
| static struct cnid_dbd_rply | rply |
| static jmp_buf | jmp |
| static char | pname [MAXPATHLEN] = "../" |
| #define ADDIR_OK (addir_ok == 0) |
| #define ADFILE_OK (adfile_ok == 0) |
|
static |
Check for .AppleDouble folder and .Parent, create if missing
|
static |
Check for .AppleDouble file, create if missing
Check CNID for a file/dir, both from db and from ad-file.
|
static |
Check if file cotains "::EA" and if it does check if its correspondig data fork exists.
|
static |
Check Extended Attributes files
|
static |
Check for netatalk special folders e.g. ".AppleDB" or ".AppleDesktop".
|
static |
|
static |
Check for special names.
| int cmd_dbd_scanvol | ( | struct vol * | vol_in, |
| dbd_flags_t | flags ) |
Main func called from cmd_dbd.c
|
static |
This is called recursively for all dirs. volroot=1 means we're in the volume root dir, 0 means we aren't. We use this when checking for netatalk private folders like .AppleDB. did is our parent's CNID.
|
static |
Check files and dirs inside .AppleDouble folder.
|
static |
Remove all files with file::EA* from adouble dir
|
static |
We unCAPed a name, update CNID db
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |