-#include <netatalk/endian.h>
-#include "globals.h"
-
-#define AFPVOL_NAMELEN 27
-
-struct codepage_hash {
- unsigned char *from, *to;
- struct codepage_hash *next, *prev;
-};
-
-union codepage_val {
- struct codepage_hash hash; /* hash for multibyte values */
- unsigned char value; /* single byte value/rule */
-};
-
-struct codepage {
- union codepage_val *map;
- int quantum;
-};
-
-#define CP_HASH(a) (*(a))
-
-struct vol {
- struct vol *v_next;
- char *v_name;
- char *v_path;
- struct dir *v_dir, *v_root;
- int v_flags;
-#ifdef __svr4__
- int v_qfd;
-#endif /*__svr4__*/
- char *v_gvs;
- time_t v_time;
- int v_lastdid;
- u_int16_t v_vid;
- void *v_nfsclient;
- int v_nfs, v_casefold;
- struct codepage *v_mtoupage, *v_utompage, *v_badumap;
- char *v_password;
- char *v_veto;
-#ifdef CNID_DB
- void *v_db;
- char *v_dbpath;
-#endif /* CNID_DB */
- mode_t v_umask;
-#ifdef FORCE_UIDGID
- char *v_forceuid;
- char *v_forcegid;
-#endif /* FORCE_UIDGID */
-};
-
-#ifdef NO_LARGE_VOL_SUPPORT
-typedef u_int32_t VolSpace;
-#else /* NO_LARGE_VOL_SUPPORT */
-typedef u_int64_t VolSpace;
-#endif /* NO_LARGE_VOL_SUPPORT */
-
-#define AFPVOL_OPEN (1<<0)
-#define AFPVOL_DT (1<<1)
-
-#define AFPVOL_GVSMASK (7<<2)
-#define AFPVOL_NONE (0<<2)
-#define AFPVOL_AFSGVS (1<<2)
-#define AFPVOL_USTATFS (2<<2)
-#define AFPVOL_UQUOTA (4<<2)
-
-/* flags that alter volume behaviour. */
-#define AFPVOL_A2VOL (1 << 5) /* prodos volume */
-#define AFPVOL_CRLF (1 << 6) /* cr/lf translation */
-#define AFPVOL_NOADOUBLE (1 << 7) /* don't create .AppleDouble by default */
-#define AFPVOL_RO (1 << 8) /* read-only volume */
-#define AFPVOL_MSWINDOWS (1 << 9) /* deal with ms-windows yuckiness.
-this is going away. */
-#define AFPVOL_NOHEX (1 << 10) /* don't do :hex translation */
-#define AFPVOL_USEDOTS (1 << 11) /* use real dots */
-#define AFPVOL_LIMITSIZE (1 << 12) /* limit size for older macs */
-#define AFPVOL_MAPASCII (1 << 13) /* map the ascii range as well */
-#define AFPVOL_DROPBOX (1 << 14) /* dropkludge dropbox support */
-#define AFPVOL_NOFILEID (1 << 15) /* don't advertise createid resolveid and deleteid calls */