netatalk  4.5.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_attrname_invalid (const char *func, const char *attruname)
 
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()

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

◆ deletecurdir_adouble_loop()

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

◆ deletecurdir_ea_osx_chkifempty_loop()

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

◆ deletecurdir_ea_osx_loop()

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

◆ for_each_adouble()

static 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()

static int netatalk_name ( const char *  name)
static

◆ RF_chown_adouble()

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

◆ RF_chown_ea()

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

◆ RF_copyfile_adouble()

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

◆ RF_copyfile_ea()

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

◆ RF_deletecurdir_adouble()

static int RF_deletecurdir_adouble ( const struct vol vol)
static

◆ RF_deletecurdir_ea()

static int RF_deletecurdir_ea ( const struct vol vol)
static

◆ RF_deletefile_adouble()

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

◆ RF_deletefile_ea()

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

◆ RF_posix_acl()

static 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()

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

◆ RF_renamedir_adouble()

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

◆ RF_renamedir_ea()

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

◆ RF_renamefile_adouble()

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

◆ RF_renamefile_ea()

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

◆ RF_setdirmode_adouble()

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

◆ RF_setdirmode_ea()

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

◆ RF_setdirowner_adouble()

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

◆ RF_setdirowner_ea()

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

◆ RF_setdirunixmode_adouble()

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

◆ RF_setdirunixmode_ea()

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

◆ RF_setfilmode_adouble()

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

◆ RF_setfilmode_ea()

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

◆ RF_solaris_acl()

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

◆ RF_solaris_remove_acl()

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

◆ setdirmode_adouble_loop()

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

◆ validupath_adouble()

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

◆ validupath_ea()

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

◆ vfs_chown()

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

◆ vfs_copyfile()

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

◆ vfs_deletecurdir()

static int vfs_deletecurdir ( const struct vol vol)
static

◆ vfs_deletefile()

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

◆ vfs_ea_attrname_invalid()

static int vfs_ea_attrname_invalid ( const char *  func,
const char *  attruname 
)
static

◆ vfs_ea_getcontent()

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

◆ vfs_ea_getsize()

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

◆ vfs_ea_list()

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

◆ vfs_ea_remove()

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

◆ vfs_ea_set()

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

◆ vfs_posix_acl()

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

◆ vfs_remove_acl()

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

◆ vfs_renamedir()

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

◆ vfs_renamefile()

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

◆ vfs_setdirmode()

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

◆ vfs_setdirowner()

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

◆ vfs_setdirunixmode()

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

◆ vfs_setfilmode()

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

◆ vfs_solaris_acl()

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

◆ vfs_validupath()

static 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:618
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:635
static int RF_setdirowner_ea(const struct vol *vol, const char *name, uid_t uid, gid_t gid)
Definition vfs.c:627
static int RF_renamefile_ea(const struct vol *vol, int dirfd, const char *src, const char *dst)
Definition vfs.c:711
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:539
static int RF_copyfile_ea(const struct vol *vol, int sfd, const char *src, const char *dst)
Definition vfs.c:646
static int RF_deletecurdir_ea(const struct vol *vol)
Definition vfs.c:577
static int RF_setfilmode_ea(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition vfs.c:603
static int RF_setdirunixmode_ea(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition vfs.c:594

◆ 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:1567
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:1114
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:1249
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:1197
int ea_chmod_file(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition ea_ad.c:1632
int ea_deletefile(const struct vol *vol, int dirfd, const char *file)
Definition ea_ad.c:1293
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:1014
int ea_renamefile(const struct vol *vol, int dirfd, const char *src, const char *dst)
Definition ea_ad.c:1353
int ea_copyfile(const struct vol *vol, int sfd, const char *src, const char *dst)
copy EAs
Definition ea_ad.c:1471
int ea_chmod_dir(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition ea_ad.c:1706
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:949

◆ 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:403
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:307
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:168
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:69
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:523
int sys_ea_copyfile(const struct vol *vol, int sfd, const char *src, const char *dst)
copy EAs
Definition ea_sys.c:596

◆ 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:797
static int vfs_renamefile(const struct vol *vol, int dirfd, const char *src, const char *dst)
Definition vfs.c:903
static int vfs_setfilmode(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition vfs.c:814
static int vfs_ea_remove(const struct vol *vol, const char *uname, const char *attruname, int oflag, int fd)
Definition vfs.c:1100
static int vfs_chown(const struct vol *vol, const char *path, uid_t uid, gid_t gid)
Definition vfs.c:761
static int vfs_setdirunixmode(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition vfs.c:850
static int vfs_ea_list(const struct vol *vol, char *attrnamebuf, size_t *buflen, const char *uname, int oflag, int fd)
Definition vfs.c:1056
static int vfs_renamedir(const struct vol *vol, int dirfd, const char *oldpath, const char *newpath)
Definition vfs.c:779
static int vfs_copyfile(const struct vol *vol, int sfd, const char *src, const char *dst)
Definition vfs.c:921
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:1032
static int vfs_remove_acl(const struct vol *vol, const char *path, int dir)
Definition vfs.c:980
static int vfs_validupath(const struct vol *vol, const char *name)
Definition vfs.c:1123
static int vfs_posix_acl(const struct vol *vol, const char *path, acl_type_t type, int count, acl_t acl)
Definition vfs.c:961
static int vfs_setdirmode(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition vfs.c:832
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:1008
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:1076
static int vfs_deletefile(const struct vol *vol, int dirfd, const char *file)
Definition vfs.c:886
static int vfs_setdirowner(const struct vol *vol, const char *name, uid_t uid, gid_t gid)
Definition vfs.c:868
static int vfs_solaris_acl(const struct vol *vol, const char *path, int cmd, int count, void *aces)
Definition vfs.c:941

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