netatalk  4.4.0
Free and Open Source Apple Filing Protocol (AFP) Server
Loading...
Searching...
No Matches
vfs.c File Reference
#include <libgen.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include <bstrlib.h>
#include <atalk/acl.h>
#include <atalk/adouble.h>
#include <atalk/afp.h>
#include <atalk/compat.h>
#include <atalk/directory.h>
#include <atalk/ea.h>
#include <atalk/errchk.h>
#include <atalk/logger.h>
#include <atalk/unix.h>
#include <atalk/util.h>
#include <atalk/vfs.h>
#include <atalk/volume.h>

Data Structures

struct  perm

Typedefs

typedef int(* rf_loop) (const struct vol *, struct dirent *, char *, void *, int)

Functions

static int for_each_adouble (const char *from, const char *name, rf_loop fn, const struct vol *vol, void *data, int flag)
static int netatalk_name (const char *name)
static int validupath_adouble (const struct vol *vol, const char *name)
static int RF_chown_adouble (const struct vol *vol, const char *path, uid_t uid, gid_t gid)
static int RF_renamedir_adouble (const struct vol *vol, int dirfd, const char *oldpath, const char *newpath)
static int deletecurdir_adouble_loop (const struct vol *vol, struct dirent *de, char *name, void *data, int flag)
static int RF_deletecurdir_adouble (const struct vol *vol)
static int adouble_setfilmode (const struct vol *vol, const char *name, mode_t mode, struct stat *st)
static int RF_setfilmode_adouble (const struct vol *vol, const char *name, mode_t mode, struct stat *st)
static int RF_setdirunixmode_adouble (const struct vol *vol, const char *name, mode_t mode, struct stat *st)
static int setdirmode_adouble_loop (const struct vol *vol, struct dirent *de, char *name, void *data, int flag)
static int RF_setdirmode_adouble (const struct vol *vol, const char *name, mode_t mode, struct stat *st)
static int RF_setdirowner_adouble (const struct vol *vol, const char *name, uid_t uid, gid_t gid)
static int RF_deletefile_adouble (const struct vol *vol, int dirfd, const char *file)
static int RF_renamefile_adouble (const struct vol *vol, int dirfd, const char *src, const char *dst)
static int RF_copyfile_adouble (const struct vol *vol, int sfd, const char *src, const char *dst)
static int RF_solaris_acl (const struct vol *vol, const char *path, int cmd, int count, void *aces)
static int RF_solaris_remove_acl (const struct vol *vol, const char *path, int dir)
static int RF_posix_acl (const struct vol *vol, const char *path, acl_type_t type, int count, acl_t acl)
static int RF_posix_remove_acl (const struct vol *vol, const char *path, int dir)
static int validupath_ea (const struct vol *vol, const char *name)
static int RF_chown_ea (const struct vol *vol, const char *path, uid_t uid, gid_t gid)
static int RF_renamedir_ea (const struct vol *vol, int dirfd, const char *oldpath, const char *newpath)
static int deletecurdir_ea_osx_chkifempty_loop (const struct vol *vol, struct dirent *de, char *name, void *data, int flag)
static int deletecurdir_ea_osx_loop (const struct vol *vol, struct dirent *de, char *name, void *data, int flag)
static int RF_deletecurdir_ea (const struct vol *vol)
static int RF_setdirunixmode_ea (const struct vol *vol, const char *name, mode_t mode, struct stat *st)
static int RF_setfilmode_ea (const struct vol *vol, const char *name, mode_t mode, struct stat *st)
static int RF_setdirmode_ea (const struct vol *vol, const char *name, mode_t mode, struct stat *st)
static int RF_setdirowner_ea (const struct vol *vol, const char *name, uid_t uid, gid_t gid)
static int RF_deletefile_ea (const struct vol *vol, int dirfd, const char *file)
static int RF_copyfile_ea (const struct vol *vol, int sfd, const char *src, const char *dst)
static int RF_renamefile_ea (const struct vol *vol, int dirfd, const char *src, const char *dst)
static int vfs_chown (const struct vol *vol, const char *path, uid_t uid, gid_t gid)
static int vfs_renamedir (const struct vol *vol, int dirfd, const char *oldpath, const char *newpath)
static int vfs_deletecurdir (const struct vol *vol)
static int vfs_setfilmode (const struct vol *vol, const char *name, mode_t mode, struct stat *st)
static int vfs_setdirmode (const struct vol *vol, const char *name, mode_t mode, struct stat *st)
static int vfs_setdirunixmode (const struct vol *vol, const char *name, mode_t mode, struct stat *st)
static int vfs_setdirowner (const struct vol *vol, const char *name, uid_t uid, gid_t gid)
static int vfs_deletefile (const struct vol *vol, int dirfd, const char *file)
static int vfs_renamefile (const struct vol *vol, int dirfd, const char *src, const char *dst)
static int vfs_copyfile (const struct vol *vol, int sfd, const char *src, const char *dst)
static int vfs_solaris_acl (const struct vol *vol, const char *path, int cmd, int count, void *aces)
static int vfs_posix_acl (const struct vol *vol, const char *path, acl_type_t type, int count, acl_t acl)
static int vfs_remove_acl (const struct vol *vol, const char *path, int dir)
static int vfs_ea_getsize (const struct vol *vol, char *rbuf, size_t *rbuflen, const char *uname, int oflag, const char *attruname, int fd)
static int vfs_ea_getcontent (const struct vol *vol, char *rbuf, size_t *rbuflen, const char *uname, int oflag, const char *attruname, int maxreply, int fd)
static int vfs_ea_list (const struct vol *vol, char *attrnamebuf, size_t *buflen, const char *uname, int oflag, int fd)
static int vfs_ea_set (const struct vol *vol, const char *uname, const char *attruname, const char *ibuf, size_t attrsize, int oflag, int fd)
static int vfs_ea_remove (const struct vol *vol, const char *uname, const char *attruname, int oflag, int fd)
static int vfs_validupath (const struct vol *vol, const char *name)
void initvol_vfs (struct vol *vol)

Variables

static struct vfs_ops vfs_master_funcs
static struct vfs_ops netatalk_adouble_v2
static struct vfs_ops netatalk_adouble_ea
static struct vfs_ops netatalk_ea_adouble
static struct vfs_ops netatalk_ea_sys
static struct vfs_ops netatalk_solaris_acl_adouble
static struct vfs_ops netatalk_posix_acl_adouble

Typedef Documentation

◆ rf_loop

typedef int(* rf_loop) (const struct vol *, struct dirent *, char *, void *, int)

Function Documentation

◆ adouble_setfilmode()

int adouble_setfilmode ( const struct vol * vol,
const char * name,
mode_t mode,
struct stat * st )
static

◆ deletecurdir_adouble_loop()

int deletecurdir_adouble_loop ( const struct vol * vol,
struct dirent * de,
char * name,
void * data,
int flag )
static

◆ deletecurdir_ea_osx_chkifempty_loop()

int deletecurdir_ea_osx_chkifempty_loop ( const struct vol * vol,
struct dirent * de,
char * name,
void * data,
int flag )
static

◆ deletecurdir_ea_osx_loop()

int deletecurdir_ea_osx_loop ( const struct vol * vol,
struct dirent * de,
char * name,
void * data,
int flag )
static

◆ for_each_adouble()

int for_each_adouble ( const char * from,
const char * name,
rf_loop fn,
const struct vol * vol,
void * data,
int flag )
static

◆ initvol_vfs()

void initvol_vfs ( struct vol * vol)

◆ netatalk_name()

int netatalk_name ( const char * name)
static

◆ RF_chown_adouble()

int RF_chown_adouble ( const struct vol * vol,
const char * path,
uid_t uid,
gid_t gid )
static

◆ RF_chown_ea()

int RF_chown_ea ( const struct vol * vol,
const char * path,
uid_t uid,
gid_t gid )
static

◆ RF_copyfile_adouble()

int RF_copyfile_adouble ( const struct vol * vol,
int sfd,
const char * src,
const char * dst )
static

◆ RF_copyfile_ea()

int RF_copyfile_ea ( const struct vol * vol,
int sfd,
const char * src,
const char * dst )
static

◆ RF_deletecurdir_adouble()

int RF_deletecurdir_adouble ( const struct vol * vol)
static

◆ RF_deletecurdir_ea()

int RF_deletecurdir_ea ( const struct vol * vol)
static

◆ RF_deletefile_adouble()

int RF_deletefile_adouble ( const struct vol * vol,
int dirfd,
const char * file )
static

◆ RF_deletefile_ea()

int RF_deletefile_ea ( const struct vol * vol,
int dirfd,
const char * file )
static

◆ RF_posix_acl()

int RF_posix_acl ( const struct vol * vol,
const char * path,
acl_type_t type,
int count,
acl_t acl )
static

◆ RF_posix_remove_acl()

int RF_posix_remove_acl ( const struct vol * vol,
const char * path,
int dir )
static

◆ RF_renamedir_adouble()

int RF_renamedir_adouble ( const struct vol * vol,
int dirfd,
const char * oldpath,
const char * newpath )
static

◆ RF_renamedir_ea()

int RF_renamedir_ea ( const struct vol * vol,
int dirfd,
const char * oldpath,
const char * newpath )
static

◆ RF_renamefile_adouble()

int RF_renamefile_adouble ( const struct vol * vol,
int dirfd,
const char * src,
const char * dst )
static

◆ RF_renamefile_ea()

int RF_renamefile_ea ( const struct vol * vol,
int dirfd,
const char * src,
const char * dst )
static

◆ RF_setdirmode_adouble()

int RF_setdirmode_adouble ( const struct vol * vol,
const char * name,
mode_t mode,
struct stat * st )
static

◆ RF_setdirmode_ea()

int RF_setdirmode_ea ( const struct vol * vol,
const char * name,
mode_t mode,
struct stat * st )
static

◆ RF_setdirowner_adouble()

int RF_setdirowner_adouble ( const struct vol * vol,
const char * name,
uid_t uid,
gid_t gid )
static

◆ RF_setdirowner_ea()

int RF_setdirowner_ea ( const struct vol * vol,
const char * name,
uid_t uid,
gid_t gid )
static

◆ RF_setdirunixmode_adouble()

int RF_setdirunixmode_adouble ( const struct vol * vol,
const char * name,
mode_t mode,
struct stat * st )
static

◆ RF_setdirunixmode_ea()

int RF_setdirunixmode_ea ( const struct vol * vol,
const char * name,
mode_t mode,
struct stat * st )
static

◆ RF_setfilmode_adouble()

int RF_setfilmode_adouble ( const struct vol * vol,
const char * name,
mode_t mode,
struct stat * st )
static

◆ RF_setfilmode_ea()

int RF_setfilmode_ea ( const struct vol * vol,
const char * name,
mode_t mode,
struct stat * st )
static

◆ RF_solaris_acl()

int RF_solaris_acl ( const struct vol * vol,
const char * path,
int cmd,
int count,
void * aces )
static

◆ RF_solaris_remove_acl()

int RF_solaris_remove_acl ( const struct vol * vol,
const char * path,
int dir )
static

◆ setdirmode_adouble_loop()

int setdirmode_adouble_loop ( const struct vol * vol,
struct dirent * de,
char * name,
void * data,
int flag )
static

◆ validupath_adouble()

int validupath_adouble ( const struct vol * vol,
const char * name )
static

◆ validupath_ea()

int validupath_ea ( const struct vol * vol,
const char * name )
static

◆ vfs_chown()

int vfs_chown ( const struct vol * vol,
const char * path,
uid_t uid,
gid_t gid )
static

◆ vfs_copyfile()

int vfs_copyfile ( const struct vol * vol,
int sfd,
const char * src,
const char * dst )
static

◆ vfs_deletecurdir()

int vfs_deletecurdir ( const struct vol * vol)
static

◆ vfs_deletefile()

int vfs_deletefile ( const struct vol * vol,
int dirfd,
const char * file )
static

◆ vfs_ea_getcontent()

int vfs_ea_getcontent ( const struct vol * vol,
char * rbuf,
size_t * rbuflen,
const char * uname,
int oflag,
const char * attruname,
int maxreply,
int fd )
static

◆ vfs_ea_getsize()

int vfs_ea_getsize ( const struct vol * vol,
char * rbuf,
size_t * rbuflen,
const char * uname,
int oflag,
const char * attruname,
int fd )
static

◆ vfs_ea_list()

int vfs_ea_list ( const struct vol * vol,
char * attrnamebuf,
size_t * buflen,
const char * uname,
int oflag,
int fd )
static

◆ vfs_ea_remove()

int vfs_ea_remove ( const struct vol * vol,
const char * uname,
const char * attruname,
int oflag,
int fd )
static

◆ vfs_ea_set()

int vfs_ea_set ( const struct vol * vol,
const char * uname,
const char * attruname,
const char * ibuf,
size_t attrsize,
int oflag,
int fd )
static

◆ vfs_posix_acl()

int vfs_posix_acl ( const struct vol * vol,
const char * path,
acl_type_t type,
int count,
acl_t acl )
static

◆ vfs_remove_acl()

int vfs_remove_acl ( const struct vol * vol,
const char * path,
int dir )
static

◆ vfs_renamedir()

int vfs_renamedir ( const struct vol * vol,
int dirfd,
const char * oldpath,
const char * newpath )
static

◆ vfs_renamefile()

int vfs_renamefile ( const struct vol * vol,
int dirfd,
const char * src,
const char * dst )
static

◆ vfs_setdirmode()

int vfs_setdirmode ( const struct vol * vol,
const char * name,
mode_t mode,
struct stat * st )
static

◆ vfs_setdirowner()

int vfs_setdirowner ( const struct vol * vol,
const char * name,
uid_t uid,
gid_t gid )
static

◆ vfs_setdirunixmode()

int vfs_setdirunixmode ( const struct vol * vol,
const char * name,
mode_t mode,
struct stat * st )
static

◆ vfs_setfilmode()

int vfs_setfilmode ( const struct vol * vol,
const char * name,
mode_t mode,
struct stat * st )
static

◆ vfs_solaris_acl()

int vfs_solaris_acl ( const struct vol * vol,
const char * path,
int cmd,
int count,
void * aces )
static

◆ vfs_validupath()

int vfs_validupath ( const struct vol * vol,
const char * name )
static

Variable Documentation

◆ netatalk_adouble_ea

struct vfs_ops netatalk_adouble_ea
static
Initial value:
= {
.vfs_validupath = validupath_ea,
.vfs_chown = RF_chown_ea,
.vfs_renamedir = RF_renamedir_ea,
.vfs_deletecurdir = RF_deletecurdir_ea,
.vfs_setfilmode = RF_setfilmode_ea,
.vfs_setdirmode = RF_setdirmode_ea,
.vfs_setdirunixmode = RF_setdirunixmode_ea,
.vfs_setdirowner = RF_setdirowner_ea,
.vfs_deletefile = RF_deletefile_ea,
.vfs_renamefile = RF_renamefile_ea,
.vfs_copyfile = RF_copyfile_ea,
.vfs_solaris_acl = NULL,
.vfs_posix_acl = NULL,
.vfs_remove_acl = NULL,
.vfs_ea_getsize = NULL,
.vfs_ea_getcontent = NULL,
.vfs_ea_list = NULL,
.vfs_ea_set = NULL,
.vfs_ea_remove = NULL
}
static int RF_setdirmode_ea(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition vfs.c:608
static int RF_chown_ea(const struct vol *vol, const char *path, uid_t uid, gid_t gid)
Definition vfs.c:524
static int RF_deletefile_ea(const struct vol *vol, int dirfd, const char *file)
Definition vfs.c:625
static int RF_setdirowner_ea(const struct vol *vol, const char *name, uid_t uid, gid_t gid)
Definition vfs.c:617
static int RF_renamefile_ea(const struct vol *vol, int dirfd, const char *src, const char *dst)
Definition vfs.c:697
static int validupath_ea(const struct vol *vol, const char *name)
Definition vfs.c:507
static int RF_renamedir_ea(const struct vol *vol, int dirfd, const char *oldpath, const char *newpath)
Definition vfs.c:534
static int RF_copyfile_ea(const struct vol *vol, int sfd, const char *src, const char *dst)
Definition vfs.c:632
static int RF_deletecurdir_ea(const struct vol *vol)
Definition vfs.c:572
static int RF_setfilmode_ea(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition vfs.c:598
static int RF_setdirunixmode_ea(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition vfs.c:589

◆ netatalk_adouble_v2

struct vfs_ops netatalk_adouble_v2
static
Initial value:
= {
.vfs_validupath = validupath_adouble,
.vfs_chown = RF_chown_adouble,
.vfs_renamedir = RF_renamedir_adouble,
.vfs_deletecurdir = RF_deletecurdir_adouble,
.vfs_setfilmode = RF_setfilmode_adouble,
.vfs_setdirmode = RF_setdirmode_adouble,
.vfs_setdirunixmode = RF_setdirunixmode_adouble,
.vfs_setdirowner = RF_setdirowner_adouble,
.vfs_deletefile = RF_deletefile_adouble,
.vfs_renamefile = RF_renamefile_adouble,
.vfs_copyfile = RF_copyfile_adouble,
.vfs_solaris_acl = NULL,
.vfs_posix_acl = NULL,
.vfs_remove_acl = NULL,
.vfs_ea_getsize = NULL,
.vfs_ea_getcontent = NULL,
.vfs_ea_list = NULL,
.vfs_ea_set = NULL,
.vfs_ea_remove = NULL
}
static int RF_setdirunixmode_adouble(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition vfs.c:194
static int RF_renamefile_adouble(const struct vol *vol, int dirfd, const char *src, const char *dst)
Definition vfs.c:303
static int RF_chown_adouble(const struct vol *vol, const char *path, uid_t uid, gid_t gid)
Definition vfs.c:120
static int RF_setdirmode_adouble(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition vfs.c:248
static int RF_renamedir_adouble(const struct vol *vol, int dirfd, const char *oldpath, const char *newpath)
Definition vfs.c:138
static int RF_copyfile_adouble(const struct vol *vol, int sfd, const char *src, const char *dst)
Definition vfs.c:354
static int RF_setdirowner_adouble(const struct vol *vol, const char *name, uid_t uid, gid_t gid)
Definition vfs.c:283
static int validupath_adouble(const struct vol *vol, const char *name)
Definition vfs.c:109
static int RF_deletecurdir_adouble(const struct vol *vol)
Definition vfs.c:166
static int RF_deletefile_adouble(const struct vol *vol, int dirfd, const char *file)
Definition vfs.c:296
static int RF_setfilmode_adouble(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition vfs.c:187

◆ netatalk_ea_adouble

struct vfs_ops netatalk_ea_adouble
static
Initial value:
= {
.vfs_validupath = NULL,
.vfs_chown = ea_chown,
.vfs_renamedir = NULL,
.vfs_deletecurdir = NULL,
.vfs_setfilmode = ea_chmod_file,
.vfs_setdirmode = NULL,
.vfs_setdirunixmode = ea_chmod_dir,
.vfs_setdirowner = NULL,
.vfs_deletefile = ea_deletefile,
.vfs_renamefile = ea_renamefile,
.vfs_copyfile = ea_copyfile,
.vfs_solaris_acl = NULL,
.vfs_posix_acl = NULL,
.vfs_remove_acl = NULL,
.vfs_ea_getsize = get_easize,
.vfs_ea_getcontent = get_eacontent,
.vfs_ea_list = list_eas,
.vfs_ea_set = set_ea,
.vfs_ea_remove = remove_ea
}
int ea_chown(const struct vol *vol, const char *path, uid_t uid, gid_t gid)
Definition ea_ad.c:1570
int list_eas(const struct vol *vol, char *attrnamebuf, size_t *buflen, const char *uname, int oflag, int fd)
copy names of EAs into attrnamebuf
Definition ea_ad.c:1126
int remove_ea(const struct vol *vol, const char *uname, const char *attruname, int oflag, int fd)
remove a EA from a file
Definition ea_ad.c:1257
int set_ea(const struct vol *vol, const char *uname, const char *attruname, const char *ibuf, size_t attrsize, int oflag, int fd)
set a Solaris native EA
Definition ea_ad.c:1209
int ea_chmod_file(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition ea_ad.c:1637
int ea_deletefile(const struct vol *vol, int dirfd, const char *file)
Definition ea_ad.c:1296
int get_eacontent(const struct vol *vol, char *rbuf, size_t *rbuflen, const char *uname, int oflag, const char *attruname, int maxreply, int fd)
copy EA into rbuf
Definition ea_ad.c:1032
int ea_renamefile(const struct vol *vol, int dirfd, const char *src, const char *dst)
Definition ea_ad.c:1356
int ea_copyfile(const struct vol *vol, int sfd, const char *src, const char *dst)
copy EAs
Definition ea_ad.c:1474
int ea_chmod_dir(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition ea_ad.c:1713
int get_easize(const struct vol *vol, char *rbuf, size_t *rbuflen, const char *uname, int oflag, const char *attruname, int fd)
get size of an EA
Definition ea_ad.c:972

◆ netatalk_ea_sys

struct vfs_ops netatalk_ea_sys
static
Initial value:
= {
.vfs_validupath = NULL,
.vfs_chown = NULL,
.vfs_renamedir = NULL,
.vfs_deletecurdir = NULL,
.vfs_setfilmode = NULL,
.vfs_setdirmode = NULL,
.vfs_setdirunixmode = NULL,
.vfs_setdirowner = NULL,
.vfs_deletefile = NULL,
.vfs_renamefile = NULL,
.vfs_copyfile = sys_ea_copyfile,
.vfs_solaris_acl = NULL,
.vfs_posix_acl = NULL,
.vfs_remove_acl = NULL,
.vfs_ea_getsize = sys_get_easize,
.vfs_ea_getcontent = sys_get_eacontent,
.vfs_ea_list = sys_list_eas,
.vfs_ea_set = sys_set_ea,
.vfs_ea_remove = sys_remove_ea
}
int sys_set_ea(const struct vol *vol, const char *uname, const char *attruname, const char *ibuf, size_t attrsize, int oflag, int fd)
set a native EA
Definition ea_sys.c:383
int sys_list_eas(const struct vol *vol, char *attrnamebuf, size_t *buflen, const char *uname, int oflag, int fd)
copy names of native EAs into attrnamebuf
Definition ea_sys.c:287
int sys_get_eacontent(const struct vol *vol, char *rbuf, size_t *rbuflen, const char *uname, int oflag, const char *attruname, int maxreply, int fd)
copy native EA into rbuf
Definition ea_sys.c:153
int sys_get_easize(const struct vol *vol, char *rbuf, size_t *rbuflen, const char *uname, int oflag, const char *attruname, int fd)
get size of a native EA
Definition ea_sys.c:59
int sys_remove_ea(const struct vol *vol, const char *uname, const char *attruname, int oflag, int fd)
remove a native EA
Definition ea_sys.c:498
int sys_ea_copyfile(const struct vol *vol, int sfd, const char *src, const char *dst)
copy EAs
Definition ea_sys.c:566

◆ netatalk_posix_acl_adouble

struct vfs_ops netatalk_posix_acl_adouble
static
Initial value:
= {
.vfs_validupath = NULL,
.vfs_chown = NULL,
.vfs_renamedir = NULL,
.vfs_deletecurdir = NULL,
.vfs_setfilmode = NULL,
.vfs_setdirmode = NULL,
.vfs_setdirunixmode = NULL,
.vfs_setdirowner = NULL,
.vfs_deletefile = NULL,
.vfs_renamefile = NULL,
.vfs_copyfile = NULL,
.vfs_posix_acl = RF_posix_acl,
.vfs_remove_acl = RF_posix_remove_acl,
.vfs_ea_getsize = NULL,
.vfs_ea_getcontent = NULL,
.vfs_ea_list = NULL,
.vfs_ea_set = NULL,
.vfs_ea_remove = NULL
}
static int RF_posix_acl(const struct vol *vol, const char *path, acl_type_t type, int count, acl_t acl)
Definition vfs.c:459
static int RF_posix_remove_acl(const struct vol *vol, const char *path, int dir)
Definition vfs.c:484

◆ netatalk_solaris_acl_adouble

struct vfs_ops netatalk_solaris_acl_adouble
static
Initial value:
= {
.vfs_validupath = NULL,
.vfs_chown = NULL,
.vfs_renamedir = NULL,
.vfs_deletecurdir = NULL,
.vfs_setfilmode = NULL,
.vfs_setdirmode = NULL,
.vfs_setdirunixmode = NULL,
.vfs_setdirowner = NULL,
.vfs_deletefile = NULL,
.vfs_renamefile = NULL,
.vfs_copyfile = NULL,
.vfs_solaris_acl = RF_solaris_acl,
.vfs_remove_acl = RF_solaris_remove_acl,
.vfs_ea_getsize = NULL,
.vfs_ea_getcontent = NULL,
.vfs_ea_list = NULL,
.vfs_ea_set = NULL,
.vfs_ea_remove = NULL
}
static int RF_solaris_acl(const struct vol *vol, const char *path, int cmd, int count, void *aces)
Definition vfs.c:409
static int RF_solaris_remove_acl(const struct vol *vol, const char *path, int dir)
Definition vfs.c:434

◆ vfs_master_funcs

struct vfs_ops vfs_master_funcs
static
Initial value:
= {
}
static int vfs_deletecurdir(const struct vol *vol)
Definition vfs.c:778
static int vfs_renamefile(const struct vol *vol, int dirfd, const char *src, const char *dst)
Definition vfs.c:884
static int vfs_setfilmode(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition vfs.c:795
static int vfs_ea_remove(const struct vol *vol, const char *uname, const char *attruname, int oflag, int fd)
Definition vfs.c:1059
static int vfs_chown(const struct vol *vol, const char *path, uid_t uid, gid_t gid)
Definition vfs.c:742
static int vfs_setdirunixmode(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition vfs.c:831
static int vfs_ea_list(const struct vol *vol, char *attrnamebuf, size_t *buflen, const char *uname, int oflag, int fd)
Definition vfs.c:1019
static int vfs_renamedir(const struct vol *vol, int dirfd, const char *oldpath, const char *newpath)
Definition vfs.c:760
static int vfs_copyfile(const struct vol *vol, int sfd, const char *src, const char *dst)
Definition vfs.c:902
static int vfs_ea_getcontent(const struct vol *vol, char *rbuf, size_t *rbuflen, const char *uname, int oflag, const char *attruname, int maxreply, int fd)
Definition vfs.c:999
static int vfs_remove_acl(const struct vol *vol, const char *path, int dir)
Definition vfs.c:961
static int vfs_validupath(const struct vol *vol, const char *name)
Definition vfs.c:1078
static int vfs_posix_acl(const struct vol *vol, const char *path, acl_type_t type, int count, acl_t acl)
Definition vfs.c:942
static int vfs_setdirmode(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition vfs.c:813
static int vfs_ea_getsize(const struct vol *vol, char *rbuf, size_t *rbuflen, const char *uname, int oflag, const char *attruname, int fd)
Definition vfs.c:979
static int vfs_ea_set(const struct vol *vol, const char *uname, const char *attruname, const char *ibuf, size_t attrsize, int oflag, int fd)
Definition vfs.c:1039
static int vfs_deletefile(const struct vol *vol, int dirfd, const char *file)
Definition vfs.c:867
static int vfs_setdirowner(const struct vol *vol, const char *name, uid_t uid, gid_t gid)
Definition vfs.c:849
static int vfs_solaris_acl(const struct vol *vol, const char *path, int cmd, int count, void *aces)
Definition vfs.c:922

These function pointers get called from the lib users via vol->vfs->func.