netatalk  4.6.1
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 <atalk/acl.h>
#include <atalk/adouble.h>
#include <atalk/afp.h>
#include <atalk/bstrlib_compat.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:617
static int RF_chown_ea(const struct vol *vol, const char *path, uid_t uid, gid_t gid)
Definition vfs.c:523
static int RF_deletefile_ea(const struct vol *vol, int dirfd, const char *file)
Definition vfs.c:634
static int RF_setdirowner_ea(const struct vol *vol, const char *name, uid_t uid, gid_t gid)
Definition vfs.c:626
static int RF_renamefile_ea(const struct vol *vol, int dirfd, const char *src, const char *dst)
Definition vfs.c:710
static int validupath_ea(const struct vol *vol, const char *name)
Definition vfs.c:506
static int RF_renamedir_ea(const struct vol *vol, int dirfd, const char *oldpath, const char *newpath)
Definition vfs.c:538
static int RF_copyfile_ea(const struct vol *vol, int sfd, const char *src, const char *dst)
Definition vfs.c:645
static int RF_deletecurdir_ea(const struct vol *vol)
Definition vfs.c:576
static int RF_setfilmode_ea(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition vfs.c:602
static int RF_setdirunixmode_ea(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition vfs.c:593

◆ 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:193
static int RF_renamefile_adouble(const struct vol *vol, int dirfd, const char *src, const char *dst)
Definition vfs.c:302
static int RF_chown_adouble(const struct vol *vol, const char *path, uid_t uid, gid_t gid)
Definition vfs.c:119
static int RF_setdirmode_adouble(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition vfs.c:247
static int RF_renamedir_adouble(const struct vol *vol, int dirfd, const char *oldpath, const char *newpath)
Definition vfs.c:137
static int RF_copyfile_adouble(const struct vol *vol, int sfd, const char *src, const char *dst)
Definition vfs.c:353
static int RF_setdirowner_adouble(const struct vol *vol, const char *name, uid_t uid, gid_t gid)
Definition vfs.c:282
static int validupath_adouble(const struct vol *vol, const char *name)
Definition vfs.c:108
static int RF_deletecurdir_adouble(const struct vol *vol)
Definition vfs.c:165
static int RF_deletefile_adouble(const struct vol *vol, int dirfd, const char *file)
Definition vfs.c:295
static int RF_setfilmode_adouble(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition vfs.c:186

◆ 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:1622
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:1150
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:1304
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:1233
int ea_chmod_file(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition ea_ad.c:1687
int ea_deletefile(const struct vol *vol, int dirfd, const char *file)
Definition ea_ad.c:1348
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:1022
int ea_renamefile(const struct vol *vol, int dirfd, const char *src, const char *dst)
Definition ea_ad.c:1408
int ea_copyfile(const struct vol *vol, int sfd, const char *src, const char *dst)
copy EAs
Definition ea_ad.c:1526
int ea_chmod_dir(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition ea_ad.c:1761
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:952

◆ 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:458
static int RF_posix_remove_acl(const struct vol *vol, const char *path, int dir)
Definition vfs.c:483

◆ 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:408
static int RF_solaris_remove_acl(const struct vol *vol, const char *path, int dir)
Definition vfs.c:433

◆ vfs_master_funcs

struct vfs_ops vfs_master_funcs
static
Initial value:
= {
}
static int vfs_deletecurdir(const struct vol *vol)
Definition vfs.c:796
static int vfs_renamefile(const struct vol *vol, int dirfd, const char *src, const char *dst)
Definition vfs.c:902
static int vfs_setfilmode(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition vfs.c:813
static int vfs_ea_remove(const struct vol *vol, const char *uname, const char *attruname, int oflag, int fd)
Definition vfs.c:1099
static int vfs_chown(const struct vol *vol, const char *path, uid_t uid, gid_t gid)
Definition vfs.c:760
static int vfs_setdirunixmode(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition vfs.c:849
static int vfs_ea_list(const struct vol *vol, char *attrnamebuf, size_t *buflen, const char *uname, int oflag, int fd)
Definition vfs.c:1055
static int vfs_renamedir(const struct vol *vol, int dirfd, const char *oldpath, const char *newpath)
Definition vfs.c:778
static int vfs_copyfile(const struct vol *vol, int sfd, const char *src, const char *dst)
Definition vfs.c:920
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:1031
static int vfs_remove_acl(const struct vol *vol, const char *path, int dir)
Definition vfs.c:979
static int vfs_validupath(const struct vol *vol, const char *name)
Definition vfs.c:1122
static int vfs_posix_acl(const struct vol *vol, const char *path, acl_type_t type, int count, acl_t acl)
Definition vfs.c:960
static int vfs_setdirmode(const struct vol *vol, const char *name, mode_t mode, struct stat *st)
Definition vfs.c:831
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:1007
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:1075
static int vfs_deletefile(const struct vol *vol, int dirfd, const char *file)
Definition vfs.c:885
static int vfs_setdirowner(const struct vol *vol, const char *name, uid_t uid, gid_t gid)
Definition vfs.c:867
static int vfs_solaris_acl(const struct vol *vol, const char *path, int cmd, int count, void *aces)
Definition vfs.c:940

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