7#define ATALK_VOLUME_H 1
18#define AFPVOL_U8MNAMELEN 255
19#define AFPVOL_MACNAMELEN 27
51 const char *(*ad_path)(
const char *, int);
106 char *v_root_preexec;
110 char *v_root_postexec;
114 int v_root_preexec_close;
130#define AFPVOL_OPEN (1<<0)
133#define AFPVOL_GVSMASK (7 << 2)
134#define AFPVOL_NONE (0 << 2)
135#define AFPVOL_USTATFS (1 << 3)
136#define AFPVOL_UQUOTA (1 << 4)
139#define AFPVOL_NOV2TOEACONV (1 << 5)
140#define AFPVOL_SPOTLIGHT (1 << 6)
141#define AFPVOL_EA_SAMBA (1 << 7)
142#define AFPVOL_RO (1 << 8)
143#define AFPVOL_CHMOD_PRESERVE_ACL (1 << 9)
144#define AFPVOL_CHMOD_IGNORE (1 << 10)
145#define AFPVOL_FORCE_STICKY_XATTR (1 << 11)
146#define AFPVOL_LIMITSIZE (1 << 12)
147#define AFPVOL_A2VOL (1 << 13)
148#define AFPVOL_MULTIPROTO (1 << 14)
149#define AFPVOL_NOSTAT (1 << 16)
151#define AFPVOL_UNIX_PRIV (1 << 17)
152#define AFPVOL_NODEV (1 << 18)
156#define AFPVOL_EILSEQ (1 << 20)
158#define AFPVOL_INV_DOTS (1 << 22)
159#define AFPVOL_TM (1 << 23)
160#define AFPVOL_ACLS (1 << 24)
161#define AFPVOL_SEARCHDB (1 << 25)
162#define AFPVOL_NONETIDS (1 << 26)
163#define AFPVOL_FOLLOWSYM (1 << 27)
164#define AFPVOL_DELVETO (1 << 28)
167#define AFPVOL_EA_NONE 0
168#define AFPVOL_EA_AUTO 1
169#define AFPVOL_EA_SYS 2
170#define AFPVOL_EA_AD 3
173#define AFPSRVR_CONFIGINFO (1 << 0)
174#define AFPSRVR_PASSWD (1 << 7)
177#define AFPVOL_MTOUUPPER (1 << 0)
178#define AFPVOL_MTOULOWER (1 << 1)
179#define AFPVOL_UTOMUPPER (1 << 2)
180#define AFPVOL_UTOMLOWER (1 << 3)
181#define AFPVOL_UMLOWER (AFPVOL_MTOULOWER | AFPVOL_UTOMLOWER)
182#define AFPVOL_UMUPPER (AFPVOL_MTOUUPPER | AFPVOL_UTOMUPPER)
183#define AFPVOL_UUPPERMLOWER (AFPVOL_MTOUUPPER | AFPVOL_UTOMLOWER)
184#define AFPVOL_ULOWERMUPPER (AFPVOL_MTOULOWER | AFPVOL_UTOMUPPER)
185#define AFPVOL_CASESENS (1 << 4)
187#define AFPVOLSIG_FLAT 0x0001
188#define AFPVOLSIG_FIX 0x0002
189#define AFPVOLSIG_VAR 0x0003
190#define AFPVOLSIG_DEFAULT AFPVOLSIG_FIX
193#define VOLPBIT_ATTR_RO (1 << 0)
194#define VOLPBIT_ATTR_PASSWD (1 << 1)
195#define VOLPBIT_ATTR_FILEID (1 << 2)
196#define VOLPBIT_ATTR_CATSEARCH (1 << 3)
197#define VOLPBIT_ATTR_BLANKACCESS (1 << 4)
198#define VOLPBIT_ATTR_UNIXPRIV (1 << 5)
199#define VOLPBIT_ATTR_UTF8 (1 << 6)
200#define VOLPBIT_ATTR_NONETIDS (1 << 7)
201#define VOLPBIT_ATTR_PRIVPARENT (1 << 8)
202#define VOLPBIT_ATTR_NOTFILEXCHG (1 << 9)
203#define VOLPBIT_ATTR_EXT_ATTRS (1 << 10)
204#define VOLPBIT_ATTR_ACLS (1 << 11)
205#define VOLPBIT_ATTR_CASESENS (1 << 12)
206#define VOLPBIT_ATTR_TM (1 << 13)
208#define VOLPBIT_ATTR 0
210#define VOLPBIT_CDATE 2
211#define VOLPBIT_MDATE 3
212#define VOLPBIT_BDATE 4
214#define VOLPBIT_BFREE 6
215#define VOLPBIT_BTOTAL 7
216#define VOLPBIT_NAME 8
218#define VOLPBIT_XBFREE 9
219#define VOLPBIT_XBTOTAL 10
220#define VOLPBIT_BSIZE 11
222#define utf8_encoding(obj) ((obj)->afp_version >= 30)
224#define vol_nodev(vol) (((vol)->v_flags & AFPVOL_NODEV) ? 1 : 0)
225#define vol_unix_priv_enabled(vol) (((vol)->v_flags & AFPVOL_UNIX_PRIV) ? 1 : 0)
226#define vol_unix_priv(vol) ((vol)->v_obj->afp_version >= 30 && vol_unix_priv_enabled(vol))
227#define vol_umask(vol) (vol_unix_priv_enabled(vol) ? (vol)->v_umask : 0)
228#define vol_dperm(vol) (vol_unix_priv_enabled(vol) ? (vol)->v_dperm : 0)
229#define vol_fperm(vol) (vol_unix_priv_enabled(vol) ? (vol)->v_fperm : 0)
230#define vol_inv_dots(vol) (((vol)->v_flags & AFPVOL_INV_DOTS) ? 1 : 0)
231#define vol_syml_opt(vol) (((vol)->v_flags & AFPVOL_FOLLOWSYM) ? 0 : O_NOFOLLOW)
232#define vol_chmod_opt(vol) (((vol)->v_flags & AFPVOL_CHMOD_PRESERVE_ACL) ? O_NETATALK_ACL : \
233 ((vol)->v_flags & AFPVOL_CHMOD_IGNORE) ? O_IGNORE : 0)
#define ADEDLEN_PRIVSYN
Definition adouble.h:113
lv_flags_t
Definition include/atalk/volume.h:123
@ LV_DEFAULT
Definition include/atalk/volume.h:124
@ LV_ALL
Definition include/atalk/volume.h:125
@ LV_FORCE
Definition include/atalk/volume.h:126
uint64_t VolSpace
Definition include/atalk/volume.h:21
Definition include/atalk/directory.h:72
Definition include/atalk/volume.h:27
char * em_ext
Definition include/atalk/volume.h:28
char em_type[4]
Definition include/atalk/volume.h:30
char em_creator[4]
Definition include/atalk/volume.h:29
Definition spotlight.h:118
Definition include/atalk/volume.h:33
const struct sl_backend_ops * v_sl_backend
Definition include/atalk/volume.h:104
char * v_postexec
Definition include/atalk/volume.h:112
void * v_nfsclient
Definition include/atalk/volume.h:75
char * v_volcodepage
Definition include/atalk/volume.h:87
uint32_t v_kTextEncoding
Definition include/atalk/volume.h:46
ucs2_t * v_name
Definition include/atalk/volume.h:62
char * v_password
Definition include/atalk/volume.h:89
dev_t v_dev
Definition include/atalk/volume.h:66
uint16_t v_utom_flags
Definition include/atalk/volume.h:45
struct dir * v_root
Definition include/atalk/volume.h:39
ucs2_t * v_u8mname
Definition include/atalk/volume.h:60
uint16_t v_vid
Definition include/atalk/volume.h:36
time_t v_tm_cachetime
Definition include/atalk/volume.h:78
int v_flags
Definition include/atalk/volume.h:37
int v_ad_options
Definition include/atalk/volume.h:50
int v_adouble
Definition include/atalk/volume.h:49
AFPObj * v_obj
Definition include/atalk/volume.h:35
char * v_path
Definition include/atalk/volume.h:38
char * v_veto
Definition include/atalk/volume.h:48
charset_t v_volcharset
Definition include/atalk/volume.h:42
char * v_cnidport
Definition include/atalk/volume.h:93
VolSpace v_appended
Definition include/atalk/volume.h:80
VolSpace v_limitsize
Definition include/atalk/volume.h:54
int v_preexec_close
Definition include/atalk/volume.h:116
char * v_cnidserver
Definition include/atalk/volume.h:92
mode_t v_dperm
Definition include/atalk/volume.h:56
char * v_legacyicon
Definition include/atalk/volume.h:94
struct vfs_ops * vfs
Definition include/atalk/volume.h:69
size_t v_icon_rfork_len
Definition include/atalk/volume.h:96
char * v_maccodepage
Definition include/atalk/volume.h:88
int v_nfs
Definition include/atalk/volume.h:76
unsigned char * v_icon_rfork
Definition include/atalk/volume.h:95
const struct vfs_ops * vfs_modules[4]
Definition include/atalk/volume.h:70
char * v_localname
Definition include/atalk/volume.h:85
char * v_configname
Definition include/atalk/volume.h:84
ucs2_t * v_macname
Definition include/atalk/volume.h:61
mode_t v_fperm
Definition include/atalk/volume.h:58
char * v_sl_backend_name
Definition include/atalk/volume.h:103
charset_t v_maccharset
Definition include/atalk/volume.h:43
uint16_t v_mtou_flags
Definition include/atalk/volume.h:44
size_t max_filename
Definition include/atalk/volume.h:47
mode_t v_umask
Definition include/atalk/volume.h:55
VolSpace v_tm_used
Definition include/atalk/volume.h:77
char * v_preexec
Definition include/atalk/volume.h:108
char * v_gvs
Definition include/atalk/volume.h:74
char * v_cnidscheme
Definition include/atalk/volume.h:90
time_t v_mtime
Definition include/atalk/volume.h:40
time_t v_ctime
Definition include/atalk/volume.h:65
struct vol * v_next
Definition include/atalk/volume.h:34
int v_deleted
Definition include/atalk/volume.h:102
int v_vfs_ea
Definition include/atalk/volume.h:71
char * v_dbpath
Definition include/atalk/volume.h:91
char * v_uuid
Definition include/atalk/volume.h:117
struct _cnid_db * v_cdb
Definition include/atalk/volume.h:52
uint32_t v_ignattr
Definition include/atalk/volume.h:119
int v_qfd
Definition include/atalk/volume.h:118
int v_casefold
Definition include/atalk/volume.h:83
char v_stamp[ADEDLEN_PRIVSYN]
Definition include/atalk/volume.h:53
#define ucs2_t
Definition unicode.h:8
charset_t
Definition unicode.h:57