nfs-ganesha 1.4
Classes | Defines | Typedefs | Enumerations | Variables

fsal_types.h File Reference

#include <sys/types.h>
#include <sys/param.h>
#include <dirent.h>
#include "config_parsing.h"
#include "err_fsal.h"
#include "RW_Lock.h"
#include "ganesha_rpc.h"
#include "fsal_glue.h"

Go to the source code of this file.

Classes

struct  fsal_time__
struct  fsal_handle_desc
struct  user_cred
struct  user_credentials
struct  fsal_name__
struct  fsal_path__
struct  fsal_fsid__
struct  fsal_dev__
struct  fsal_ace__
struct  fsal_acl__
struct  fsal_acl_data__
struct  fsal_acl_key__
struct  fsal_attrib_list__
struct  fsal_extattrib_list__
struct  fsal_dirent__
struct  fsal_seek__
struct  fsal_staticfsinfo_t
struct  fsal_dynamicfsinfo__
struct  fs_common_initinfo__
struct  fs_common_initinfo__::_behavior_
struct  fsal_init_info__
struct  fsal_parameter__
struct  func_fsal_stats__
struct  fsal_statistics__
struct  fsal_status__
struct  fsal_buffdesc__
struct  fsal_quota__
struct  fsal_lock_param_t
struct  fsal_share_param_t

Defines

#define TRUE   1
#define FALSE   0
#define CONF_LABEL_FSAL   "FSAL"
#define CONF_LABEL_FS_COMMON   "FileSystem"
#define INDEX_FSAL_lookup   0
#define INDEX_FSAL_access   1
#define INDEX_FSAL_create   2
#define INDEX_FSAL_mkdir   3
#define INDEX_FSAL_truncate   4
#define INDEX_FSAL_getattrs   5
#define INDEX_FSAL_setattrs   6
#define INDEX_FSAL_link   7
#define INDEX_FSAL_opendir   8
#define INDEX_FSAL_readdir   9
#define INDEX_FSAL_closedir   10
#define INDEX_FSAL_open   11
#define INDEX_FSAL_read   12
#define INDEX_FSAL_write   13
#define INDEX_FSAL_close   14
#define INDEX_FSAL_readlink   15
#define INDEX_FSAL_symlink   16
#define INDEX_FSAL_rename   17
#define INDEX_FSAL_unlink   18
#define INDEX_FSAL_mknode   19
#define INDEX_FSAL_unused_20   20
#define INDEX_FSAL_dynamic_fsinfo   21
#define INDEX_FSAL_rcp   22
#define INDEX_FSAL_Init   23
#define INDEX_FSAL_get_stats   24
#define INDEX_FSAL_unused_25   25
#define INDEX_FSAL_unused_26   26
#define INDEX_FSAL_unused_27   27
#define INDEX_FSAL_BuildExportContext   28
#define INDEX_FSAL_InitClientContext   29
#define INDEX_FSAL_GetClientContext   30
#define INDEX_FSAL_lookupPath   31
#define INDEX_FSAL_lookupJunction   32
#define INDEX_FSAL_test_access   33
#define INDEX_FSAL_rmdir   34
#define INDEX_FSAL_CleanObjectResources   35
#define INDEX_FSAL_open_by_name   36
#define INDEX_FSAL_open_by_fileid   37
#define INDEX_FSAL_ListXAttrs   38
#define INDEX_FSAL_GetXAttrValue   39
#define INDEX_FSAL_SetXAttrValue   40
#define INDEX_FSAL_GetXAttrAttrs   41
#define INDEX_FSAL_close_by_fileid   42
#define INDEX_FSAL_setattr_access   43
#define INDEX_FSAL_merge_attrs   44
#define INDEX_FSAL_rename_access   45
#define INDEX_FSAL_unlink_access   46
#define INDEX_FSAL_link_access   47
#define INDEX_FSAL_create_access   48
#define INDEX_FSAL_unused_49   49
#define INDEX_FSAL_CleanUpExportContext   50
#define INDEX_FSAL_getextattrs   51
#define INDEX_FSAL_commit   52
#define INDEX_FSAL_getattrs_descriptor   53
#define INDEX_FSAL_lock_op   54
#define INDEX_FSAL_UP_init   55
#define INDEX_FSAL_UP_addfilter   56
#define INDEX_FSAL_UP_getevents   57
#define INDEX_FSAL_unused_58   58
#define INDEX_FSAL_layoutget   59
#define INDEX_FSAL_layoutreturn   60
#define INDEX_FSAL_layoutcommit   61
#define INDEX_FSAL_getdeviceinfo   62
#define INDEX_FSAL_getdevicelist   63
#define INDEX_FSAL_ds_read   64
#define INDEX_FSAL_ds_write   65
#define INDEX_FSAL_ds_commit   66
#define INDEX_FSAL_share_op   67
#define FSAL_NB_FUNC   68
#define FSAL_XATTR_RW_COOKIE   ~0
#define FSAL_READDIR_SIZE   2048
#define FSAL_MAX_NAME_LEN   NAME_MAX
#define FSAL_MAX_PATH_LEN   PATH_MAX
#define FSAL_NGROUPS_MAX   32
#define FSAL_NAME_INITIALIZER   {"",0}
#define FSAL_PATH_INITIALIZER   {"",0}
#define FSAL_MAX_ACL   2
#define FSAL_ACLSUPPORT_ALLOW   0x01
#define FSAL_ACLSUPPORT_DENY   0x02
#define FSAL_ACE_TYPE_ALLOW   0
#define FSAL_ACE_TYPE_DENY   1
#define FSAL_ACE_TYPE_AUDIT   2
#define FSAL_ACE_TYPE_ALARM   3
#define FSAL_ACE_FLAG_FILE_INHERIT   0x00000001
#define FSAL_ACE_FLAG_DIR_INHERIT   0x00000002
#define FSAL_ACE_FLAG_NO_PROPAGATE   0x00000004
#define FSAL_ACE_FLAG_INHERIT_ONLY   0x00000008
#define FSAL_ACE_FLAG_SUCCESSFUL   0x00000010
#define FSAL_ACE_FLAG_FAILED   0x00000020
#define FSAL_ACE_FLAG_GROUP_ID   0x00000040
#define FSAL_ACE_FLAG_INHERITED   0x00000080
#define FSAL_ACE_IFLAG_EXCLUDE_FILES   0x40000000
#define FSAL_ACE_IFLAG_EXCLUDE_DIRS   0x20000000
#define FSAL_ACE_IFLAG_SPECIAL_ID   0x80000000
#define FSAL_ACE_FLAG_INHERIT
#define FSAL_ACE_PERM_READ_DATA   0x00000001
#define FSAL_ACE_PERM_LIST_DIR   0x00000001
#define FSAL_ACE_PERM_WRITE_DATA   0x00000002
#define FSAL_ACE_PERM_ADD_FILE   0x00000002
#define FSAL_ACE_PERM_APPEND_DATA   0x00000004
#define FSAL_ACE_PERM_ADD_SUBDIRECTORY   0x00000004
#define FSAL_ACE_PERM_READ_NAMED_ATTR   0x00000008
#define FSAL_ACE_PERM_WRITE_NAMED_ATTR   0x00000010
#define FSAL_ACE_PERM_EXECUTE   0x00000020
#define FSAL_ACE_PERM_DELETE_CHILD   0x00000040
#define FSAL_ACE_PERM_READ_ATTR   0x00000080
#define FSAL_ACE_PERM_WRITE_ATTR   0x00000100
#define FSAL_ACE_PERM_DELETE   0x00010000
#define FSAL_ACE_PERM_READ_ACL   0x00020000
#define FSAL_ACE_PERM_WRITE_ACL   0x00040000
#define FSAL_ACE_PERM_WRITE_OWNER   0x00080000
#define FSAL_ACE_PERM_SYNCHRONIZE   0x00100000
#define FSAL_ACE_NORMAL_WHO   0
#define FSAL_ACE_SPECIAL_OWNER   1
#define FSAL_ACE_SPECIAL_GROUP   2
#define FSAL_ACE_SPECIAL_EVERYONE   3
#define MD5_DIGEST_LENGTH   16
#define GET_FSAL_ACE_TYPE(ACE)   (ACE).type
#define GET_FSAL_ACE_PERM(ACE)   (ACE).perm
#define GET_FSAL_ACE_FLAG(ACE)   (ACE).flag
#define GET_FSAL_ACE_IFLAG(ACE)   (ACE).iflag
#define GET_FSAL_ACE_USER(ACE)   (ACE).who.uid
#define GET_FSAL_ACE_GROUP(ACE)   (ACE).who.gid
#define IS_FSAL_ACE_BIT(WORD, BIT)   (0 != ((WORD) & (BIT)))
#define IS_FSAL_ACE_ALL_BITS(WORD, BITS)   (BITS == ((WORD) & (BITS)))
#define IS_FSAL_ACE_TYPE(ACE, VALUE)   ((GET_FSAL_ACE_TYPE(ACE)) == (VALUE))
#define IS_FSAL_ACE_USER(ACE, VALUE)   ((GET_FSAL_ACE_USER(ACE)) == (VALUE))
#define IS_FSAL_ACE_GROUP(ACE, VALUE)   ((GET_FSAL_ACE_GROUP(ACE)) == (VALUE))
#define IS_FSAL_ACE_ALLOW(ACE)   IS_FSAL_ACE_TYPE(ACE, FSAL_ACE_TYPE_ALLOW)
#define IS_FSAL_ACE_DENY(ACE)   IS_FSAL_ACE_TYPE(ACE, FSAL_ACE_TYPE_DENY)
#define IS_FSAL_ACE_AUDIT(ACE)   IS_FSAL_ACE_TYPE(ACE, FSAL_ACE_TYPE_AUDIT)
#define IS_FSAL_ACE_ALRAM(ACE)   IS_FSAL_ACE_TYPE(ACE, FSAL_ACE_TYPE_ALARM)
#define IS_FSAL_ACE_FILE_INHERIT(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_FLAG(ACE),FSAL_ACE_FLAG_FILE_INHERIT)
#define IS_FSAL_ACE_DIR_INHERIT(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_FLAG(ACE),FSAL_ACE_FLAG_DIR_INHERIT)
#define IS_FSAL_ACE_NO_PROPAGATE(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_FLAG(ACE),FSAL_ACE_FLAG_NO_PROPAGATE)
#define IS_FSAL_ACE_INHERIT_ONLY(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_FLAG(ACE),FSAL_ACE_FLAG_INHERIT_ONLY)
#define IS_FSAL_ACE_FLAG_SUCCESSFUL(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_FLAG(ACE),FSAL_ACE_FLAG_SUCCESSFUL)
#define IS_FSAL_ACE_AUDIT_FAILURE(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_FLAG(ACE),FSAL_ACE_FLAG_FAILED)
#define IS_FSAL_ACE_GROUP_ID(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_FLAG(ACE),FSAL_ACE_FLAG_GROUP_ID)
#define IS_FSAL_ACE_INHERIT(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_FLAG(ACE),FSAL_ACE_FLAG_INHERIT)
#define IS_FSAL_ACE_INHERTED(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_FLAG(ACE),FSAL_ACE_FLAG_INHERITED)
#define GET_FSAL_ACE_WHO_TYPE(ACE)   IS_FSAL_ACE_GROUP_ID(ACE) ? "gid" : "uid"
#define GET_FSAL_ACE_WHO(ACE)   IS_FSAL_ACE_GROUP_ID(ACE) ? (ACE).who.gid : (ACE).who.uid
#define IS_FSAL_ACE_SPECIAL_OWNER(ACE)   IS_FSAL_ACE_USER(ACE,FSAL_ACE_SPECIAL_OWNER)
#define IS_FSAL_ACE_SPECIAL_GROUP(ACE)   IS_FSAL_ACE_USER(ACE,FSAL_ACE_SPECIAL_GROUP)
#define IS_FSAL_ACE_SPECIAL_EVERYONE(ACE)   IS_FSAL_ACE_USER(ACE,FSAL_ACE_SPECIAL_EVERYONE)
#define IS_FSAL_ACE_SPECIAL_ID(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_IFLAG(ACE),FSAL_ACE_IFLAG_SPECIAL_ID)
#define IS_FSAL_FILE_APPLICABLE(ACE)   (!IS_FSAL_ACE_BIT(GET_FSAL_ACE_IFLAG(ACE),FSAL_ACE_IFLAG_EXCLUDE_FILES))
#define IS_FSAL_DIR_APPLICABLE(ACE)   (!IS_FSAL_ACE_BIT(GET_FSAL_ACE_IFLAG(ACE),FSAL_ACE_IFLAG_EXCLUDE_DIRS))
#define IS_FSAL_ACE_READ_DATA(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_READ_DATA)
#define IS_FSAL_ACE_LIST_DIR(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_LIST_DIR)
#define IS_FSAL_ACE_WRITE_DATA(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_WRITE_DATA)
#define IS_FSAL_ACE_ADD_FIILE(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_ADD_FILE)
#define IS_FSAL_ACE_APPEND_DATA(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_APPEND_DATA)
#define IS_FSAL_ACE_ADD_SUBDIRECTORY(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_ADD_SUBDIRECTORY)
#define IS_FSAL_ACE_READ_NAMED_ATTR(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_READ_NAMED_ATTR)
#define IS_FSAL_ACE_WRITE_NAMED_ATTR(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_WRITE_NAMED_ATTR)
#define IS_FSAL_ACE_EXECUTE(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_EXECUTE)
#define IS_FSAL_ACE_DELETE_CHILD(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_DELETE_CHILD)
#define IS_FSAL_ACE_READ_ATTR(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_READ_ATTR)
#define IS_FSAL_ACE_WRITE_ATTR(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_WRITE_ATTR)
#define IS_FSAL_ACE_DELETE(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_DELETE)
#define IS_FSAL_ACE_READ_ACL(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_READ_ACL)
#define IS_FSAL_ACE_WRITE_ACL(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_WRITE_ACL)
#define IS_FSAL_ACE_WRITE_OWNER(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_WRITE_OWNER)
#define IS_FSAL_ACE_SYNCHRONIZE(ACE)   IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_SYNCHRONIZE)
#define FSAL_MODE_SUID   04000
#define FSAL_MODE_SGID   02000
#define FSAL_MODE_SVTX   01000
#define FSAL_MODE_RWXU   00700
#define FSAL_MODE_RUSR   00400
#define FSAL_MODE_WUSR   00200
#define FSAL_MODE_XUSR   00100
#define FSAL_MODE_RWXG   00070
#define FSAL_MODE_RGRP   00040
#define FSAL_MODE_WGRP   00020
#define FSAL_MODE_XGRP   00010
#define FSAL_MODE_RWXO   00007
#define FSAL_MODE_ROTH   00004
#define FSAL_MODE_WOTH   00002
#define FSAL_MODE_XOTH   00001
#define FSAL_ATTR_SUPPATTR   ((fsal_attrib_mask_t) 0x0000000000000001LL )
#define FSAL_ATTR_TYPE   ((fsal_attrib_mask_t) 0x0000000000000002LL )
#define FSAL_ATTR_SIZE   ((fsal_attrib_mask_t) 0x0000000000000004LL )
#define FSAL_ATTR_FSID   ((fsal_attrib_mask_t) 0x0000000000000008LL )
#define FSAL_ATTR_ACL   ((fsal_attrib_mask_t) 0x0000000000000020LL )
#define FSAL_ATTR_FILEID   ((fsal_attrib_mask_t) 0x0000000000000040LL )
#define FSAL_ATTR_MODE   ((fsal_attrib_mask_t) 0x0000000000000080LL )
#define FSAL_ATTR_NUMLINKS   ((fsal_attrib_mask_t) 0x0000000000000100LL )
#define FSAL_ATTR_OWNER   ((fsal_attrib_mask_t) 0x0000000000000200LL )
#define FSAL_ATTR_GROUP   ((fsal_attrib_mask_t) 0x0000000000000400LL )
#define FSAL_ATTR_RAWDEV   ((fsal_attrib_mask_t) 0x0000000000000800LL )
#define FSAL_ATTR_ATIME   ((fsal_attrib_mask_t) 0x0000000000001000LL )
#define FSAL_ATTR_CREATION   ((fsal_attrib_mask_t) 0x0000000000002000LL )
#define FSAL_ATTR_CTIME   ((fsal_attrib_mask_t) 0x0000000000004000LL )
#define FSAL_ATTR_MTIME   ((fsal_attrib_mask_t) 0x0000000000008000LL )
#define FSAL_ATTR_SPACEUSED   ((fsal_attrib_mask_t) 0x0000000000010000LL )
#define FSAL_ATTR_MOUNTFILEID   ((fsal_attrib_mask_t) 0x0000000000020000LL )
#define FSAL_ATTR_CHGTIME   ((fsal_attrib_mask_t) 0x0000000000040000LL )
#define FSAL_ATTR_RDATTR_ERR   ((fsal_attrib_mask_t) 0x8000000000000000LL )
#define FSAL_ATTR_GENERATION   ((fsal_attrib_mask_t) 0x0000000000080000LL )
#define FSAL_ATTR_CHANGE   ((fsal_attrib_mask_t) 0x0000000000100000LL )
#define FSAL_ATTRS_MANDATORY
#define FSAL_ATTRS_POSIX
#define FSAL_OWNER_OK   0x08000000
#define FSAL_R_OK   0x04000000
#define FSAL_W_OK   0x02000000
#define FSAL_X_OK   0x01000000
#define FSAL_F_OK   0x10000000
#define FSAL_ACCESS_OK   0x00000000
#define FSAL_ACCESS_FLAG_BIT_MASK   0x80000000
#define FSAL_MODE_BIT_MASK   0x7F000000
#define FSAL_ACE4_BIT_MASK   0x00FFFFFF
#define FSAL_MODE_MASK(access)   (access & FSAL_MODE_BIT_MASK)
#define FSAL_ACE4_MASK(access)   (access & FSAL_ACE4_BIT_MASK)
#define FSAL_MODE_MASK_FLAG   0x00000000
#define FSAL_ACE4_MASK_FLAG   0x80000000
#define FSAL_MODE_MASK_SET(access)   (access | FSAL_MODE_MASK_FLAG)
#define FSAL_ACE4_MASK_SET(access)   (access | FSAL_ACE4_MASK_FLAG)
#define IS_FSAL_MODE_MASK_VALID(access)   ((access & FSAL_ACCESS_FLAG_BIT_MASK) == FSAL_MODE_MASK_FLAG)
#define IS_FSAL_ACE4_MASK_VALID(access)   ((access & FSAL_ACCESS_FLAG_BIT_MASK) == FSAL_ACE4_MASK_FLAG)
#define IS_FSAL_DIR(filetype)   (filetype == FSAL_TYPE_DIR)
#define FSAL_WRITE_ACCESS
#define FSAL_READ_ACCESS
#define FSAL_O_CLOSED   0x0000
#define FSAL_O_RDONLY   0x0001
#define FSAL_O_RDWR   0x0002
#define FSAL_O_WRONLY   0x0004
#define FSAL_O_APPEND   0x0008
#define FSAL_O_TRUNC   0x0010
#define FSAL_O_CREATE   0x0020
#define FSAL_O_SYNC   0x0040
#define FSAL_EXPTYPE_PERSISTENT   0x0001
#define FSAL_EXPTYPE_VOLATILE   0x0002
#define FSAL_EXPTYPE_NOEXP_OPEN   0x0004
#define FSAL_EXPTYPE_MIGRATE   0x0008
#define FSAL_EXPTYPE_RENAME   0x0010
#define SET_INTEGER_PARAM(cfg, p_init_info, _field)
#define SET_BITMAP_PARAM(cfg, p_init_info, _field)
#define SET_BOOLEAN_PARAM(cfg, p_init_info, _field)
#define FSAL_RCP_FS_TO_LOCAL   0x0001
#define FSAL_RCP_LOCAL_TO_FS   0x0002
#define FSAL_RCP_LOCAL_CREAT   0x0010
#define FSAL_RCP_LOCAL_EXCL   0x0020
#define FSAL_DIGEST_SIZE_HDLV2   29
#define FSAL_DIGEST_SIZE_HDLV3   61
#define FSAL_DIGEST_SIZE_HDLV4   61
#define FSAL_DIGEST_SIZE_FILEID2   (sizeof(int))
#define FSAL_DIGEST_SIZE_FILEID3   (sizeof(fsal_u64_t))
#define FSAL_DIGEST_SIZE_FILEID4   (sizeof(fsal_u64_t))

Typedefs

typedef struct fsal_staticfsinfo_t fsal_staticfsinfo_t
typedef unsigned long long fsal_u64_t
typedef unsigned int fsal_uint_t
typedef unsigned short fsal_ushort_t
typedef int fsal_boolean_t
typedef size_t fsal_size_t
typedef off_t fsal_off_t
typedef unsigned long fsal_mdsize_t
typedef unsigned long fsal_count_t
typedef uid_t fsal_uid_t
typedef gid_t fsal_gid_t
typedef mode_t fsal_accessmode_t
typedef struct fsal_time__ fsal_time_t
typedef enum fsal_initflag__ fsal_initflag_t
typedef enum fsal_nodetype__ fsal_nodetype_t
typedef struct fsal_name__ fsal_name_t
typedef struct fsal_path__ fsal_path_t
typedef struct fsal_fsid__ fsal_fsid_t
typedef struct fsal_dev__ fsal_dev_t
typedef fsal_ushort_t fsal_aclsupp_t
typedef unsigned int fsal_acetype_t
typedef unsigned int fsal_aceflag_t
typedef fsal_uint_t fsal_aceperm_t
typedef struct fsal_ace__ fsal_ace_t
typedef struct fsal_acl__ fsal_acl_t
typedef struct fsal_acl_data__ fsal_acl_data_t
typedef struct fsal_acl_key__ fsal_acl_key_t
typedef fsal_u64_t fsal_attrib_mask_t
typedef struct fsal_attrib_list__ fsal_attrib_list_t
typedef struct
fsal_extattrib_list__ 
fsal_extattrib_list_t
typedef fsal_uint_t fsal_accessflags_t
typedef struct fsal_dirent__ fsal_dirent_t
typedef fsal_ushort_t fsal_openflags_t
typedef enum fsal_seektype__ fsal_seektype_t
typedef struct fsal_seek__ fsal_seek_t
typedef fsal_ushort_t fsal_fhexptype_t
typedef struct fsal_dynamicfsinfo__ fsal_dynamicfsinfo_t
typedef fsal_ushort_t fsal_rcpflag_t
typedef struct fs_common_initinfo__ fs_common_initinfo_t
typedef struct fsal_init_info__ fsal_init_info_t
typedef struct fsal_parameter__ fsal_parameter_t
typedef struct func_fsal_stats__ func_fsal_stats_t
typedef struct fsal_statistics__ fsal_statistics_t
typedef struct fsal_status__ fsal_status_t
typedef struct fsal_buffdesc__ fsal_buffdesc_t
typedef struct fsal_quota__ fsal_quota_t
typedef enum fsal_quota_type__ fsal_quota_type_t
typedef enum fsal_digesttype_t fsal_digesttype_t
typedef enum fsal_lock_op_t fsal_lock_op_t
typedef enum fsal_lock_t fsal_lock_t
typedef struct fsal_lock_param_t fsal_lock_param_t
typedef struct fsal_share_param_t fsal_share_param_t

Enumerations

enum  fsal_initflag__ { FSAL_INIT_FS_DEFAULT = 0, FSAL_INIT_FORCE_VALUE, FSAL_INIT_MAX_LIMIT, FSAL_INIT_MIN_LIMIT }
enum  fsal_nodetype__ {
  FSAL_TYPE_FIFO = 0x1, FSAL_TYPE_CHR = 0x2, FSAL_TYPE_DIR = 0x4, FSAL_TYPE_BLK = 0x6,
  FSAL_TYPE_FILE = 0x8, FSAL_TYPE_LNK = 0xA, FSAL_TYPE_SOCK = 0xC, FSAL_TYPE_XATTR = 0xE,
  FSAL_TYPE_JUNCTION = 0xF
}
enum  fsal_seektype__ { FSAL_SEEK_SET, FSAL_SEEK_CUR, FSAL_SEEK_END }
enum  fsal_quota_type__ { FSAL_QUOTA_BLOCKS = 1, FSAL_QUOTA_INODES = 2 }
enum  fsal_digesttype_t {
  FSAL_DIGEST_SIZEOF, FSAL_DIGEST_NFSV2, FSAL_DIGEST_NFSV3, FSAL_DIGEST_NFSV4,
  FSAL_DIGEST_FILEID2, FSAL_DIGEST_FILEID3, FSAL_DIGEST_FILEID4
}
enum  fsal_lock_op_t {
  FSAL_OP_LOCKT, FSAL_OP_LOCK, FSAL_OP_LOCKB, FSAL_OP_UNLOCK,
  FSAL_OP_CANCEL
}
enum  fsal_lock_t { FSAL_LOCK_R, FSAL_LOCK_W, FSAL_NO_LOCK }

Variables

const char * fsal_function_names []

Define Documentation

#define CONF_LABEL_FS_COMMON   "FileSystem"

Definition at line 66 of file fsal_types.h.

#define CONF_LABEL_FSAL   "FSAL"

Definition at line 65 of file fsal_types.h.

#define FALSE   0

Definition at line 42 of file fsal_types.h.

#define FSAL_ACCESS_FLAG_BIT_MASK   0x80000000

Definition at line 656 of file fsal_types.h.

#define FSAL_ACCESS_OK   0x00000000

Definition at line 654 of file fsal_types.h.

#define FSAL_ACE4_BIT_MASK   0x00FFFFFF

Definition at line 658 of file fsal_types.h.

#define FSAL_ACE4_MASK (   access)    (access & FSAL_ACE4_BIT_MASK)

Definition at line 661 of file fsal_types.h.

#define FSAL_ACE4_MASK_FLAG   0x80000000

Definition at line 664 of file fsal_types.h.

#define FSAL_ACE4_MASK_SET (   access)    (access | FSAL_ACE4_MASK_FLAG)

Definition at line 667 of file fsal_types.h.

#define FSAL_ACE_FLAG_DIR_INHERIT   0x00000002

Definition at line 349 of file fsal_types.h.

#define FSAL_ACE_FLAG_FAILED   0x00000020

Definition at line 353 of file fsal_types.h.

#define FSAL_ACE_FLAG_FILE_INHERIT   0x00000001

Definition at line 348 of file fsal_types.h.

#define FSAL_ACE_FLAG_GROUP_ID   0x00000040

Definition at line 354 of file fsal_types.h.

#define FSAL_ACE_FLAG_INHERIT
#define FSAL_ACE_FLAG_INHERIT_ONLY   0x00000008

Definition at line 351 of file fsal_types.h.

#define FSAL_ACE_FLAG_INHERITED   0x00000080

Definition at line 355 of file fsal_types.h.

#define FSAL_ACE_FLAG_NO_PROPAGATE   0x00000004

Definition at line 350 of file fsal_types.h.

#define FSAL_ACE_FLAG_SUCCESSFUL   0x00000010

Definition at line 352 of file fsal_types.h.

#define FSAL_ACE_IFLAG_EXCLUDE_DIRS   0x20000000

Definition at line 360 of file fsal_types.h.

#define FSAL_ACE_IFLAG_EXCLUDE_FILES   0x40000000

ACE internal flags

Definition at line 359 of file fsal_types.h.

#define FSAL_ACE_IFLAG_SPECIAL_ID   0x80000000

Definition at line 361 of file fsal_types.h.

#define FSAL_ACE_NORMAL_WHO   0

ACE who

Definition at line 390 of file fsal_types.h.

#define FSAL_ACE_PERM_ADD_FILE   0x00000002

Definition at line 373 of file fsal_types.h.

#define FSAL_ACE_PERM_ADD_SUBDIRECTORY   0x00000004

Definition at line 375 of file fsal_types.h.

#define FSAL_ACE_PERM_APPEND_DATA   0x00000004

Definition at line 374 of file fsal_types.h.

#define FSAL_ACE_PERM_DELETE   0x00010000

Definition at line 382 of file fsal_types.h.

#define FSAL_ACE_PERM_DELETE_CHILD   0x00000040

Definition at line 379 of file fsal_types.h.

#define FSAL_ACE_PERM_EXECUTE   0x00000020

Definition at line 378 of file fsal_types.h.

#define FSAL_ACE_PERM_LIST_DIR   0x00000001

Definition at line 371 of file fsal_types.h.

#define FSAL_ACE_PERM_READ_ACL   0x00020000

Definition at line 383 of file fsal_types.h.

#define FSAL_ACE_PERM_READ_ATTR   0x00000080

Definition at line 380 of file fsal_types.h.

#define FSAL_ACE_PERM_READ_DATA   0x00000001

Definition at line 370 of file fsal_types.h.

#define FSAL_ACE_PERM_READ_NAMED_ATTR   0x00000008

Definition at line 376 of file fsal_types.h.

#define FSAL_ACE_PERM_SYNCHRONIZE   0x00100000

Definition at line 386 of file fsal_types.h.

#define FSAL_ACE_PERM_WRITE_ACL   0x00040000

Definition at line 384 of file fsal_types.h.

#define FSAL_ACE_PERM_WRITE_ATTR   0x00000100

Definition at line 381 of file fsal_types.h.

#define FSAL_ACE_PERM_WRITE_DATA   0x00000002

Definition at line 372 of file fsal_types.h.

#define FSAL_ACE_PERM_WRITE_NAMED_ATTR   0x00000010

Definition at line 377 of file fsal_types.h.

#define FSAL_ACE_PERM_WRITE_OWNER   0x00080000

Definition at line 385 of file fsal_types.h.

#define FSAL_ACE_SPECIAL_EVERYONE   3

Definition at line 393 of file fsal_types.h.

#define FSAL_ACE_SPECIAL_GROUP   2

Definition at line 392 of file fsal_types.h.

#define FSAL_ACE_SPECIAL_OWNER   1

Definition at line 391 of file fsal_types.h.

#define FSAL_ACE_TYPE_ALARM   3

Definition at line 341 of file fsal_types.h.

#define FSAL_ACE_TYPE_ALLOW   0

Definition at line 338 of file fsal_types.h.

#define FSAL_ACE_TYPE_AUDIT   2

Definition at line 340 of file fsal_types.h.

#define FSAL_ACE_TYPE_DENY   1

Definition at line 339 of file fsal_types.h.

#define FSAL_ACLSUPPORT_ALLOW   0x01

Definition at line 331 of file fsal_types.h.

#define FSAL_ACLSUPPORT_DENY   0x02

Definition at line 332 of file fsal_types.h.

#define FSAL_ATTR_ACL   ((fsal_attrib_mask_t) 0x0000000000000020LL )

Definition at line 544 of file fsal_types.h.

#define FSAL_ATTR_ATIME   ((fsal_attrib_mask_t) 0x0000000000001000LL )

Definition at line 558 of file fsal_types.h.

#define FSAL_ATTR_CHANGE   ((fsal_attrib_mask_t) 0x0000000000100000LL )

Definition at line 580 of file fsal_types.h.

#define FSAL_ATTR_CHGTIME   ((fsal_attrib_mask_t) 0x0000000000040000LL )

Definition at line 571 of file fsal_types.h.

#define FSAL_ATTR_CREATION   ((fsal_attrib_mask_t) 0x0000000000002000LL )

Definition at line 560 of file fsal_types.h.

#define FSAL_ATTR_CTIME   ((fsal_attrib_mask_t) 0x0000000000004000LL )

Definition at line 562 of file fsal_types.h.

#define FSAL_ATTR_FILEID   ((fsal_attrib_mask_t) 0x0000000000000040LL )

Definition at line 546 of file fsal_types.h.

#define FSAL_ATTR_FSID   ((fsal_attrib_mask_t) 0x0000000000000008LL )

Definition at line 542 of file fsal_types.h.

#define FSAL_ATTR_GENERATION   ((fsal_attrib_mask_t) 0x0000000000080000LL )

Definition at line 577 of file fsal_types.h.

#define FSAL_ATTR_GROUP   ((fsal_attrib_mask_t) 0x0000000000000400LL )

Definition at line 554 of file fsal_types.h.

#define FSAL_ATTR_MODE   ((fsal_attrib_mask_t) 0x0000000000000080LL )

Definition at line 548 of file fsal_types.h.

#define FSAL_ATTR_MOUNTFILEID   ((fsal_attrib_mask_t) 0x0000000000020000LL )

Definition at line 568 of file fsal_types.h.

#define FSAL_ATTR_MTIME   ((fsal_attrib_mask_t) 0x0000000000008000LL )

Definition at line 564 of file fsal_types.h.

#define FSAL_ATTR_NUMLINKS   ((fsal_attrib_mask_t) 0x0000000000000100LL )

Definition at line 550 of file fsal_types.h.

#define FSAL_ATTR_OWNER   ((fsal_attrib_mask_t) 0x0000000000000200LL )

Definition at line 552 of file fsal_types.h.

#define FSAL_ATTR_RAWDEV   ((fsal_attrib_mask_t) 0x0000000000000800LL )

Definition at line 556 of file fsal_types.h.

#define FSAL_ATTR_RDATTR_ERR   ((fsal_attrib_mask_t) 0x8000000000000000LL )

Definition at line 574 of file fsal_types.h.

#define FSAL_ATTR_SIZE   ((fsal_attrib_mask_t) 0x0000000000000004LL )

Definition at line 540 of file fsal_types.h.

#define FSAL_ATTR_SPACEUSED   ((fsal_attrib_mask_t) 0x0000000000010000LL )

Definition at line 566 of file fsal_types.h.

#define FSAL_ATTR_SUPPATTR   ((fsal_attrib_mask_t) 0x0000000000000001LL )

Attribute masks.

Definition at line 536 of file fsal_types.h.

#define FSAL_ATTR_TYPE   ((fsal_attrib_mask_t) 0x0000000000000002LL )

Definition at line 538 of file fsal_types.h.

#define FSAL_ATTRS_MANDATORY
#define FSAL_ATTRS_POSIX
#define FSAL_DIGEST_SIZE_FILEID2   (sizeof(int))

Definition at line 1064 of file fsal_types.h.

#define FSAL_DIGEST_SIZE_FILEID3   (sizeof(fsal_u64_t))

Definition at line 1065 of file fsal_types.h.

#define FSAL_DIGEST_SIZE_FILEID4   (sizeof(fsal_u64_t))

Definition at line 1066 of file fsal_types.h.

#define FSAL_DIGEST_SIZE_HDLV2   29

Definition at line 1053 of file fsal_types.h.

#define FSAL_DIGEST_SIZE_HDLV3   61

Definition at line 1054 of file fsal_types.h.

#define FSAL_DIGEST_SIZE_HDLV4   61

Definition at line 1059 of file fsal_types.h.

#define FSAL_EXPTYPE_MIGRATE   0x0008

Definition at line 768 of file fsal_types.h.

#define FSAL_EXPTYPE_NOEXP_OPEN   0x0004

Definition at line 764 of file fsal_types.h.

#define FSAL_EXPTYPE_PERSISTENT   0x0001

Definition at line 755 of file fsal_types.h.

#define FSAL_EXPTYPE_RENAME   0x0010

Definition at line 772 of file fsal_types.h.

#define FSAL_EXPTYPE_VOLATILE   0x0002

Definition at line 760 of file fsal_types.h.

#define FSAL_F_OK   0x10000000

Definition at line 653 of file fsal_types.h.

#define FSAL_MAX_ACL   2

Definition at line 326 of file fsal_types.h.

#define FSAL_MAX_NAME_LEN   NAME_MAX

Definition at line 226 of file fsal_types.h.

#define FSAL_MAX_PATH_LEN   PATH_MAX

Definition at line 227 of file fsal_types.h.

#define FSAL_MODE_BIT_MASK   0x7F000000

Definition at line 657 of file fsal_types.h.

#define FSAL_MODE_MASK (   access)    (access & FSAL_MODE_BIT_MASK)

Definition at line 660 of file fsal_types.h.

#define FSAL_MODE_MASK_FLAG   0x00000000

Definition at line 663 of file fsal_types.h.

#define FSAL_MODE_MASK_SET (   access)    (access | FSAL_MODE_MASK_FLAG)

Definition at line 666 of file fsal_types.h.

#define FSAL_MODE_RGRP   00040

Definition at line 514 of file fsal_types.h.

#define FSAL_MODE_ROTH   00004

Definition at line 520 of file fsal_types.h.

#define FSAL_MODE_RUSR   00400

Definition at line 508 of file fsal_types.h.

#define FSAL_MODE_RWXG   00070

Definition at line 512 of file fsal_types.h.

#define FSAL_MODE_RWXO   00007

Definition at line 518 of file fsal_types.h.

#define FSAL_MODE_RWXU   00700

Definition at line 506 of file fsal_types.h.

#define FSAL_MODE_SGID   02000

Definition at line 503 of file fsal_types.h.

#define FSAL_MODE_SUID   04000

Modes constants

Definition at line 502 of file fsal_types.h.

#define FSAL_MODE_SVTX   01000

Definition at line 504 of file fsal_types.h.

#define FSAL_MODE_WGRP   00020

Definition at line 515 of file fsal_types.h.

#define FSAL_MODE_WOTH   00002

Definition at line 521 of file fsal_types.h.

#define FSAL_MODE_WUSR   00200

Definition at line 509 of file fsal_types.h.

#define FSAL_MODE_XGRP   00010

Definition at line 516 of file fsal_types.h.

#define FSAL_MODE_XOTH   00001

Definition at line 522 of file fsal_types.h.

#define FSAL_MODE_XUSR   00100

Definition at line 510 of file fsal_types.h.

#define FSAL_NAME_INITIALIZER   {"",0}

Definition at line 270 of file fsal_types.h.

#define FSAL_NB_FUNC   68

Definition at line 152 of file fsal_types.h.

#define FSAL_NGROUPS_MAX   32

Definition at line 229 of file fsal_types.h.

#define FSAL_O_APPEND   0x0008

Definition at line 703 of file fsal_types.h.

#define FSAL_O_CLOSED   0x0000

Definition at line 699 of file fsal_types.h.

#define FSAL_O_CREATE   0x0020

Definition at line 705 of file fsal_types.h.

#define FSAL_O_RDONLY   0x0001

Definition at line 700 of file fsal_types.h.

#define FSAL_O_RDWR   0x0002

Definition at line 701 of file fsal_types.h.

#define FSAL_O_SYNC   0x0040

Definition at line 706 of file fsal_types.h.

#define FSAL_O_TRUNC   0x0010

Definition at line 704 of file fsal_types.h.

#define FSAL_O_WRONLY   0x0004

Definition at line 702 of file fsal_types.h.

#define FSAL_OWNER_OK   0x08000000

Definition at line 649 of file fsal_types.h.

#define FSAL_PATH_INITIALIZER   {"",0}

Definition at line 271 of file fsal_types.h.

#define FSAL_R_OK   0x04000000

Definition at line 650 of file fsal_types.h.

#define FSAL_RCP_FS_TO_LOCAL   0x0001

Definition at line 930 of file fsal_types.h.

#define FSAL_RCP_LOCAL_CREAT   0x0010

Definition at line 936 of file fsal_types.h.

#define FSAL_RCP_LOCAL_EXCL   0x0020

Definition at line 939 of file fsal_types.h.

#define FSAL_RCP_LOCAL_TO_FS   0x0002

Definition at line 933 of file fsal_types.h.

#define FSAL_READ_ACCESS
#define FSAL_READDIR_SIZE   2048

Definition at line 224 of file fsal_types.h.

#define FSAL_W_OK   0x02000000

Definition at line 651 of file fsal_types.h.

#define FSAL_WRITE_ACCESS
#define FSAL_X_OK   0x01000000

Definition at line 652 of file fsal_types.h.

#define FSAL_XATTR_RW_COOKIE   ~0

Definition at line 155 of file fsal_types.h.

#define GET_FSAL_ACE_FLAG (   ACE)    (ACE).flag

Definition at line 438 of file fsal_types.h.

#define GET_FSAL_ACE_GROUP (   ACE)    (ACE).who.gid

Definition at line 441 of file fsal_types.h.

#define GET_FSAL_ACE_IFLAG (   ACE)    (ACE).iflag

Definition at line 439 of file fsal_types.h.

#define GET_FSAL_ACE_PERM (   ACE)    (ACE).perm

Definition at line 437 of file fsal_types.h.

#define GET_FSAL_ACE_TYPE (   ACE)    (ACE).type

Definition at line 436 of file fsal_types.h.

#define GET_FSAL_ACE_USER (   ACE)    (ACE).who.uid

Definition at line 440 of file fsal_types.h.

#define GET_FSAL_ACE_WHO (   ACE)    IS_FSAL_ACE_GROUP_ID(ACE) ? (ACE).who.gid : (ACE).who.uid

Definition at line 466 of file fsal_types.h.

#define GET_FSAL_ACE_WHO_TYPE (   ACE)    IS_FSAL_ACE_GROUP_ID(ACE) ? "gid" : "uid"

Definition at line 465 of file fsal_types.h.

#define INDEX_FSAL_access   1

Definition at line 83 of file fsal_types.h.

#define INDEX_FSAL_BuildExportContext   28

Definition at line 110 of file fsal_types.h.

#define INDEX_FSAL_CleanObjectResources   35

Definition at line 117 of file fsal_types.h.

#define INDEX_FSAL_CleanUpExportContext   50

Definition at line 132 of file fsal_types.h.

#define INDEX_FSAL_close   14

Definition at line 96 of file fsal_types.h.

#define INDEX_FSAL_close_by_fileid   42

Definition at line 124 of file fsal_types.h.

#define INDEX_FSAL_closedir   10

Definition at line 92 of file fsal_types.h.

#define INDEX_FSAL_commit   52

Definition at line 134 of file fsal_types.h.

#define INDEX_FSAL_create   2

Definition at line 84 of file fsal_types.h.

#define INDEX_FSAL_create_access   48

Definition at line 130 of file fsal_types.h.

#define INDEX_FSAL_ds_commit   66

Definition at line 148 of file fsal_types.h.

#define INDEX_FSAL_ds_read   64

Definition at line 146 of file fsal_types.h.

#define INDEX_FSAL_ds_write   65

Definition at line 147 of file fsal_types.h.

#define INDEX_FSAL_dynamic_fsinfo   21

Definition at line 103 of file fsal_types.h.

#define INDEX_FSAL_get_stats   24

Definition at line 106 of file fsal_types.h.

#define INDEX_FSAL_getattrs   5

Definition at line 87 of file fsal_types.h.

#define INDEX_FSAL_getattrs_descriptor   53

Definition at line 135 of file fsal_types.h.

#define INDEX_FSAL_GetClientContext   30

Definition at line 112 of file fsal_types.h.

#define INDEX_FSAL_getdeviceinfo   62

Definition at line 144 of file fsal_types.h.

#define INDEX_FSAL_getdevicelist   63

Definition at line 145 of file fsal_types.h.

#define INDEX_FSAL_getextattrs   51

Definition at line 133 of file fsal_types.h.

#define INDEX_FSAL_GetXAttrAttrs   41

Definition at line 123 of file fsal_types.h.

#define INDEX_FSAL_GetXAttrValue   39

Definition at line 121 of file fsal_types.h.

#define INDEX_FSAL_Init   23

Definition at line 105 of file fsal_types.h.

#define INDEX_FSAL_InitClientContext   29

Definition at line 111 of file fsal_types.h.

#define INDEX_FSAL_layoutcommit   61

Definition at line 143 of file fsal_types.h.

#define INDEX_FSAL_layoutget   59

Definition at line 141 of file fsal_types.h.

#define INDEX_FSAL_layoutreturn   60

Definition at line 142 of file fsal_types.h.

#define INDEX_FSAL_link   7

Definition at line 89 of file fsal_types.h.

#define INDEX_FSAL_link_access   47

Definition at line 129 of file fsal_types.h.

#define INDEX_FSAL_ListXAttrs   38

Definition at line 120 of file fsal_types.h.

#define INDEX_FSAL_lock_op   54

Definition at line 136 of file fsal_types.h.

#define INDEX_FSAL_lookup   0

Definition at line 82 of file fsal_types.h.

#define INDEX_FSAL_lookupJunction   32

Definition at line 114 of file fsal_types.h.

#define INDEX_FSAL_lookupPath   31

Definition at line 113 of file fsal_types.h.

#define INDEX_FSAL_merge_attrs   44

Definition at line 126 of file fsal_types.h.

#define INDEX_FSAL_mkdir   3

Definition at line 85 of file fsal_types.h.

#define INDEX_FSAL_mknode   19

Definition at line 101 of file fsal_types.h.

#define INDEX_FSAL_open   11

Definition at line 93 of file fsal_types.h.

#define INDEX_FSAL_open_by_fileid   37

Definition at line 119 of file fsal_types.h.

#define INDEX_FSAL_open_by_name   36

Definition at line 118 of file fsal_types.h.

#define INDEX_FSAL_opendir   8

Definition at line 90 of file fsal_types.h.

#define INDEX_FSAL_rcp   22

Definition at line 104 of file fsal_types.h.

#define INDEX_FSAL_read   12

Definition at line 94 of file fsal_types.h.

#define INDEX_FSAL_readdir   9

Definition at line 91 of file fsal_types.h.

#define INDEX_FSAL_readlink   15

Definition at line 97 of file fsal_types.h.

#define INDEX_FSAL_rename   17

Definition at line 99 of file fsal_types.h.

#define INDEX_FSAL_rename_access   45

Definition at line 127 of file fsal_types.h.

#define INDEX_FSAL_rmdir   34

Definition at line 116 of file fsal_types.h.

#define INDEX_FSAL_setattr_access   43

Definition at line 125 of file fsal_types.h.

#define INDEX_FSAL_setattrs   6

Definition at line 88 of file fsal_types.h.

#define INDEX_FSAL_SetXAttrValue   40

Definition at line 122 of file fsal_types.h.

#define INDEX_FSAL_share_op   67

Definition at line 149 of file fsal_types.h.

#define INDEX_FSAL_symlink   16

Definition at line 98 of file fsal_types.h.

#define INDEX_FSAL_test_access   33

Definition at line 115 of file fsal_types.h.

#define INDEX_FSAL_truncate   4

Definition at line 86 of file fsal_types.h.

#define INDEX_FSAL_unlink   18

Definition at line 100 of file fsal_types.h.

#define INDEX_FSAL_unlink_access   46

Definition at line 128 of file fsal_types.h.

#define INDEX_FSAL_unused_20   20

Definition at line 102 of file fsal_types.h.

#define INDEX_FSAL_unused_25   25

Definition at line 107 of file fsal_types.h.

#define INDEX_FSAL_unused_26   26

Definition at line 108 of file fsal_types.h.

#define INDEX_FSAL_unused_27   27

Definition at line 109 of file fsal_types.h.

#define INDEX_FSAL_unused_49   49

Definition at line 131 of file fsal_types.h.

#define INDEX_FSAL_unused_58   58

Definition at line 140 of file fsal_types.h.

#define INDEX_FSAL_UP_addfilter   56

Definition at line 138 of file fsal_types.h.

#define INDEX_FSAL_UP_getevents   57

Definition at line 139 of file fsal_types.h.

#define INDEX_FSAL_UP_init   55

Definition at line 137 of file fsal_types.h.

#define INDEX_FSAL_write   13

Definition at line 95 of file fsal_types.h.

#define IS_FSAL_ACE4_MASK_VALID (   access)    ((access & FSAL_ACCESS_FLAG_BIT_MASK) == FSAL_ACE4_MASK_FLAG)

Definition at line 670 of file fsal_types.h.

#define IS_FSAL_ACE_ADD_FIILE (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_ADD_FILE)

Definition at line 485 of file fsal_types.h.

#define IS_FSAL_ACE_ADD_SUBDIRECTORY (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_ADD_SUBDIRECTORY)

Definition at line 487 of file fsal_types.h.

#define IS_FSAL_ACE_ALL_BITS (   WORD,
  BITS 
)    (BITS == ((WORD) & (BITS)))

Definition at line 444 of file fsal_types.h.

#define IS_FSAL_ACE_ALLOW (   ACE)    IS_FSAL_ACE_TYPE(ACE, FSAL_ACE_TYPE_ALLOW)

Definition at line 450 of file fsal_types.h.

#define IS_FSAL_ACE_ALRAM (   ACE)    IS_FSAL_ACE_TYPE(ACE, FSAL_ACE_TYPE_ALARM)

Definition at line 453 of file fsal_types.h.

#define IS_FSAL_ACE_APPEND_DATA (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_APPEND_DATA)

Definition at line 486 of file fsal_types.h.

#define IS_FSAL_ACE_AUDIT (   ACE)    IS_FSAL_ACE_TYPE(ACE, FSAL_ACE_TYPE_AUDIT)

Definition at line 452 of file fsal_types.h.

#define IS_FSAL_ACE_AUDIT_FAILURE (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_FLAG(ACE),FSAL_ACE_FLAG_FAILED)

Definition at line 460 of file fsal_types.h.

#define IS_FSAL_ACE_BIT (   WORD,
  BIT 
)    (0 != ((WORD) & (BIT)))

Definition at line 443 of file fsal_types.h.

#define IS_FSAL_ACE_DELETE (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_DELETE)

Definition at line 494 of file fsal_types.h.

#define IS_FSAL_ACE_DELETE_CHILD (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_DELETE_CHILD)

Definition at line 491 of file fsal_types.h.

#define IS_FSAL_ACE_DENY (   ACE)    IS_FSAL_ACE_TYPE(ACE, FSAL_ACE_TYPE_DENY)

Definition at line 451 of file fsal_types.h.

#define IS_FSAL_ACE_DIR_INHERIT (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_FLAG(ACE),FSAL_ACE_FLAG_DIR_INHERIT)

Definition at line 456 of file fsal_types.h.

#define IS_FSAL_ACE_EXECUTE (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_EXECUTE)

Definition at line 490 of file fsal_types.h.

#define IS_FSAL_ACE_FILE_INHERIT (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_FLAG(ACE),FSAL_ACE_FLAG_FILE_INHERIT)

Definition at line 455 of file fsal_types.h.

#define IS_FSAL_ACE_FLAG_SUCCESSFUL (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_FLAG(ACE),FSAL_ACE_FLAG_SUCCESSFUL)

Definition at line 459 of file fsal_types.h.

#define IS_FSAL_ACE_GROUP (   ACE,
  VALUE 
)    ((GET_FSAL_ACE_GROUP(ACE)) == (VALUE))

Definition at line 448 of file fsal_types.h.

#define IS_FSAL_ACE_GROUP_ID (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_FLAG(ACE),FSAL_ACE_FLAG_GROUP_ID)

Definition at line 461 of file fsal_types.h.

#define IS_FSAL_ACE_INHERIT (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_FLAG(ACE),FSAL_ACE_FLAG_INHERIT)

Definition at line 462 of file fsal_types.h.

#define IS_FSAL_ACE_INHERIT_ONLY (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_FLAG(ACE),FSAL_ACE_FLAG_INHERIT_ONLY)

Definition at line 458 of file fsal_types.h.

#define IS_FSAL_ACE_INHERTED (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_FLAG(ACE),FSAL_ACE_FLAG_INHERITED)

Definition at line 463 of file fsal_types.h.

#define IS_FSAL_ACE_LIST_DIR (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_LIST_DIR)

Definition at line 483 of file fsal_types.h.

#define IS_FSAL_ACE_NO_PROPAGATE (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_FLAG(ACE),FSAL_ACE_FLAG_NO_PROPAGATE)

Definition at line 457 of file fsal_types.h.

#define IS_FSAL_ACE_READ_ACL (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_READ_ACL)

Definition at line 495 of file fsal_types.h.

#define IS_FSAL_ACE_READ_ATTR (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_READ_ATTR)

Definition at line 492 of file fsal_types.h.

#define IS_FSAL_ACE_READ_DATA (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_READ_DATA)

Definition at line 482 of file fsal_types.h.

#define IS_FSAL_ACE_READ_NAMED_ATTR (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_READ_NAMED_ATTR)

Definition at line 488 of file fsal_types.h.

#define IS_FSAL_ACE_SPECIAL_EVERYONE (   ACE)    IS_FSAL_ACE_USER(ACE,FSAL_ACE_SPECIAL_EVERYONE)

Definition at line 470 of file fsal_types.h.

#define IS_FSAL_ACE_SPECIAL_GROUP (   ACE)    IS_FSAL_ACE_USER(ACE,FSAL_ACE_SPECIAL_GROUP)

Definition at line 469 of file fsal_types.h.

#define IS_FSAL_ACE_SPECIAL_ID (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_IFLAG(ACE),FSAL_ACE_IFLAG_SPECIAL_ID)

Definition at line 474 of file fsal_types.h.

#define IS_FSAL_ACE_SPECIAL_OWNER (   ACE)    IS_FSAL_ACE_USER(ACE,FSAL_ACE_SPECIAL_OWNER)

Definition at line 468 of file fsal_types.h.

#define IS_FSAL_ACE_SYNCHRONIZE (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_SYNCHRONIZE)

Definition at line 498 of file fsal_types.h.

#define IS_FSAL_ACE_TYPE (   ACE,
  VALUE 
)    ((GET_FSAL_ACE_TYPE(ACE)) == (VALUE))

Definition at line 446 of file fsal_types.h.

#define IS_FSAL_ACE_USER (   ACE,
  VALUE 
)    ((GET_FSAL_ACE_USER(ACE)) == (VALUE))

Definition at line 447 of file fsal_types.h.

#define IS_FSAL_ACE_WRITE_ACL (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_WRITE_ACL)

Definition at line 496 of file fsal_types.h.

#define IS_FSAL_ACE_WRITE_ATTR (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_WRITE_ATTR)

Definition at line 493 of file fsal_types.h.

#define IS_FSAL_ACE_WRITE_DATA (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_WRITE_DATA)

Definition at line 484 of file fsal_types.h.

#define IS_FSAL_ACE_WRITE_NAMED_ATTR (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_WRITE_NAMED_ATTR)

Definition at line 489 of file fsal_types.h.

#define IS_FSAL_ACE_WRITE_OWNER (   ACE)    IS_FSAL_ACE_BIT(GET_FSAL_ACE_PERM(ACE),FSAL_ACE_PERM_WRITE_OWNER)

Definition at line 497 of file fsal_types.h.

#define IS_FSAL_DIR (   filetype)    (filetype == FSAL_TYPE_DIR)

Definition at line 672 of file fsal_types.h.

#define IS_FSAL_DIR_APPLICABLE (   ACE)    (!IS_FSAL_ACE_BIT(GET_FSAL_ACE_IFLAG(ACE),FSAL_ACE_IFLAG_EXCLUDE_DIRS))

Definition at line 477 of file fsal_types.h.

#define IS_FSAL_FILE_APPLICABLE (   ACE)    (!IS_FSAL_ACE_BIT(GET_FSAL_ACE_IFLAG(ACE),FSAL_ACE_IFLAG_EXCLUDE_FILES))

Definition at line 475 of file fsal_types.h.

#define IS_FSAL_MODE_MASK_VALID (   access)    ((access & FSAL_ACCESS_FLAG_BIT_MASK) == FSAL_MODE_MASK_FLAG)

Definition at line 669 of file fsal_types.h.

#define MD5_DIGEST_LENGTH   16

Definition at line 426 of file fsal_types.h.

#define SET_BITMAP_PARAM (   cfg,
  p_init_info,
  _field 
)
Value:
switch( (p_init_info)->behaviors._field ){                    \
    case FSAL_INIT_FORCE_VALUE :                                  \
        /* force the value in any case */                         \
        cfg._field = (p_init_info)->values._field;                \
        break;                                                    \
    case FSAL_INIT_MAX_LIMIT :                                    \
      /* proceed a bit AND */                                     \
      cfg._field &= (p_init_info)->values._field ;                \
      break;                                                      \
    case FSAL_INIT_MIN_LIMIT :                                    \
      /* proceed a bit OR */                                      \
      cfg._field |= (p_init_info)->values._field ;                \
      break;                                                      \
    case FSAL_INIT_FS_DEFAULT:                                    \
    default:                                                      \
    /* In the other cases, we keep the default value. */          \
        break;                                                    \
    }

Definition at line 798 of file fsal_types.h.

#define SET_BOOLEAN_PARAM (   cfg,
  p_init_info,
  _field 
)
Value:
switch( (p_init_info)->behaviors._field ){                    \
    case FSAL_INIT_FORCE_VALUE :                                  \
        /* force the value in any case */                         \
        cfg._field = (p_init_info)->values._field;                \
        break;                                                    \
    case FSAL_INIT_MAX_LIMIT :                                    \
      /* proceed a boolean AND */                                 \
      cfg._field = cfg._field && (p_init_info)->values._field ;   \
      break;                                                      \
    case FSAL_INIT_MIN_LIMIT :                                    \
      /* proceed a boolean OR */                                  \
      cfg._field = cfg._field && (p_init_info)->values._field ;   \
      break;                                                      \
    case FSAL_INIT_FS_DEFAULT:                                    \
    default:                                                      \
    /* In the other cases, we keep the default value. */          \
        break;                                                    \
    }

Definition at line 818 of file fsal_types.h.

#define SET_INTEGER_PARAM (   cfg,
  p_init_info,
  _field 
)
Value:
switch( (p_init_info)->behaviors._field ){                    \
    case FSAL_INIT_FORCE_VALUE :                                  \
      /* force the value in any case */                           \
      cfg._field = (p_init_info)->values._field;                  \
      break;                                                      \
    case FSAL_INIT_MAX_LIMIT :                                    \
      /* check the higher limit */                                \
      if ( cfg._field > (p_init_info)->values._field )            \
        cfg._field = (p_init_info)->values._field ;               \
      break;                                                      \
    case FSAL_INIT_MIN_LIMIT :                                    \
      /* check the lower limit */                                 \
      if ( cfg._field < (p_init_info)->values._field )            \
        cfg._field = (p_init_info)->values._field ;               \
      break;                                                      \
    case FSAL_INIT_FS_DEFAULT:                                    \
    default:                                                      \
    /* In the other cases, we keep the default value. */          \
        break;                                                    \
    }

File system static info.

Definition at line 776 of file fsal_types.h.

#define TRUE   1

Definition at line 39 of file fsal_types.h.


Typedef Documentation

Configuration info for every type of filesystem.

Mask for permission testing. Both mode and ace4 mask are encoded.

Definition at line 647 of file fsal_types.h.

typedef mode_t fsal_accessmode_t

Access mode (32 bits)

Definition at line 170 of file fsal_types.h.

typedef struct fsal_ace__ fsal_ace_t
typedef unsigned int fsal_aceflag_t

ACE flag

Definition at line 346 of file fsal_types.h.

ACE permissions

Definition at line 368 of file fsal_types.h.

typedef unsigned int fsal_acetype_t

ACE types

Definition at line 336 of file fsal_types.h.

typedef struct fsal_acl__ fsal_acl_t

Definition at line 330 of file fsal_types.h.

A list of FS object's attributes.

Defines an attribute mask. A mask is an inclusive OR between some FSAL_ATTR_xxx values.

Definition at line 529 of file fsal_types.h.

typedef int fsal_boolean_t

boolean

Definition at line 162 of file fsal_types.h.

Buffer descriptor similar to utf8 strings.

typedef unsigned long fsal_count_t

FS object count.

Definition at line 167 of file fsal_types.h.

typedef struct fsal_dev__ fsal_dev_t

raw device spec

typedef struct fsal_dirent__ fsal_dirent_t

directory entry

File system dynamic info.

A list of FS object's extended attributes (like generation numbers or creation time).

FH expire type (mask).

Definition at line 751 of file fsal_types.h.

typedef struct fsal_fsid__ fsal_fsid_t

filesystem identifier

typedef gid_t fsal_gid_t

Group

Definition at line 169 of file fsal_types.h.

Configuration info for the fsal

Behavior for init values

typedef enum fsal_lock_t fsal_lock_t
typedef unsigned long fsal_mdsize_t

metadata size

Definition at line 166 of file fsal_types.h.

typedef struct fsal_name__ fsal_name_t

FS object types

typedef off_t fsal_off_t

offset

Definition at line 165 of file fsal_types.h.

FSAL_open behavior.

Definition at line 697 of file fsal_types.h.

FSAL_Init parameter.

typedef struct fsal_path__ fsal_path_t

object path.

typedef struct fsal_quota__ fsal_quota_t

Defines the direction for the rcp operation

Definition at line 927 of file fsal_types.h.

typedef struct fsal_seek__ fsal_seek_t

Describes an absolute or relative position in a file.

FSAL_SEEK_SET Set position equal to offset bytes. FSAL_SEEK_CUR Set position to current location plus offset. FSAL_SEEK_END Set position to EOF plus offset.

typedef size_t fsal_size_t

data size

Definition at line 164 of file fsal_types.h.

Definition at line 78 of file fsal_types.h.

typedef struct fsal_status__ fsal_status_t

Status of FSAL operations

typedef struct fsal_time__ fsal_time_t

time

typedef unsigned long long fsal_u64_t

64 bit unsigned integer.

Definition at line 159 of file fsal_types.h.

typedef uid_t fsal_uid_t

Owner

Definition at line 168 of file fsal_types.h.

typedef unsigned int fsal_uint_t

32 bit unsigned integer.

Definition at line 160 of file fsal_types.h.

typedef unsigned short fsal_ushort_t

16 bit unsigned integer.

Definition at line 161 of file fsal_types.h.

Statistics about the use of the Filesystem abstraction layer.


Enumeration Type Documentation

Enumerator:
FSAL_DIGEST_SIZEOF 
FSAL_DIGEST_NFSV2 
FSAL_DIGEST_NFSV3 
FSAL_DIGEST_NFSV4 
FSAL_DIGEST_FILEID2 
FSAL_DIGEST_FILEID3 
FSAL_DIGEST_FILEID4 

Definition at line 1076 of file fsal_types.h.

Behavior for init values

Enumerator:
FSAL_INIT_FS_DEFAULT 

keep FS default value

FSAL_INIT_FORCE_VALUE 

force a value

FSAL_INIT_MAX_LIMIT 

force a value if default is greater

FSAL_INIT_MIN_LIMIT 

force a value if default is smaller

Definition at line 179 of file fsal_types.h.

Enumerator:
FSAL_OP_LOCKT 
FSAL_OP_LOCK 
FSAL_OP_LOCKB 
FSAL_OP_UNLOCK 
FSAL_OP_CANCEL 

Definition at line 1096 of file fsal_types.h.

Enumerator:
FSAL_LOCK_R 
FSAL_LOCK_W 
FSAL_NO_LOCK 

Definition at line 1106 of file fsal_types.h.

FS object types

Enumerator:
FSAL_TYPE_FIFO 

Fifo

FSAL_TYPE_CHR 

character special

FSAL_TYPE_DIR 

directory

FSAL_TYPE_BLK 

block special

FSAL_TYPE_FILE 

regular file

FSAL_TYPE_LNK 

symbolic link

FSAL_TYPE_SOCK 

socket

FSAL_TYPE_XATTR 

extended attribute

FSAL_TYPE_JUNCTION 

junction to another fileset

Definition at line 189 of file fsal_types.h.

Enumerator:
FSAL_QUOTA_BLOCKS 
FSAL_QUOTA_INODES 

Definition at line 1045 of file fsal_types.h.

Describes an absolute or relative position in a file.

FSAL_SEEK_SET Set position equal to offset bytes. FSAL_SEEK_CUR Set position to current location plus offset. FSAL_SEEK_END Set position to EOF plus offset.

Enumerator:
FSAL_SEEK_SET 
FSAL_SEEK_CUR 
FSAL_SEEK_END 

Definition at line 718 of file fsal_types.h.


Variable Documentation

const char* fsal_function_names[]

Definition at line 55 of file fsal_errors.c.