]> arthur.barton.de Git - netatalk.git/blobdiff - etc/afpd/volume.h
Disallow leading and trailing spaces in MSWINDOWS volumes. This is based on
[netatalk.git] / etc / afpd / volume.h
index 67ac2d0b1a49ca3d42e3bcccdb2e202179c62575..eb78adac3673b3e8532d7b3f6351dd839109e9e9 100644 (file)
@@ -1,4 +1,6 @@
 /*
+ * $Id: volume.h,v 1.9 2002-01-02 21:14:10 srittau Exp $
+ *
  * Copyright (c) 1990,1994 Regents of The University of Michigan.
  * All Rights Reserved.  See COPYRIGHT.
  */
 #define AFPVOL_NAMELEN   27
 
 struct codepage_hash {
-  unsigned char *from, *to;
-  struct codepage_hash *next, *prev;
+    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_hash hash; /* hash for multibyte values */
+    unsigned char value; /* single byte value/rule */
 };
 
 struct codepage {
-  union codepage_val *map;
-  int quantum;
+    union codepage_val *map;
+    int quantum;
 };
 
 #define CP_HASH(a)    (*(a))
@@ -39,7 +41,7 @@ struct vol {
 #ifdef __svr4__
     int                        v_qfd;
 #endif /*__svr4__*/
-    void               *v_gvs;
+    char               *v_gvs;
     u_int32_t          v_time;
     int                        v_lastdid;
     u_int16_t          v_vid;
@@ -47,21 +49,22 @@ struct vol {
     int                 v_nfs, v_casefold;
     struct codepage     *v_mtoupage, *v_utompage, *v_badumap;
     char                *v_password;
-#if AD_VERSION > AD_VERSION1
+    char                *v_veto;
+#ifdef CNID_DB
     void                *v_db;
     char                *v_dbpath;
-#endif
+#endif /* CNID_DB */
 #ifdef FORCE_UIDGID
-       char                            *v_forceuid;
-       char                            *v_forcegid;
-#endif FORCE_UIDGID
+    char                               *v_forceuid;
+    char                               *v_forcegid;
+#endif /* FORCE_UIDGID */
 };
 
 #ifdef NO_LARGE_VOL_SUPPORT
 typedef u_int32_t VolSpace;
-#else
+#else /* NO_LARGE_VOL_SUPPORT */
 typedef u_int64_t VolSpace;
-#endif
+#endif /* NO_LARGE_VOL_SUPPORT */
 
 #define AFPVOL_OPEN    (1<<0)
 #define AFPVOL_DT      (1<<1)
@@ -78,11 +81,12 @@ typedef u_int64_t VolSpace;
 #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. */
+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 */
 
 /* FPGetSrvrParms options */
 #define AFPSRVR_CONFIGINFO     (1 << 0)
@@ -97,10 +101,12 @@ typedef u_int64_t VolSpace;
 #define AFPVOL_UMUPPER         (AFPVOL_MTOUUPPER | AFPVOL_UTOMUPPER)
 #define AFPVOL_UUPPERMLOWER    (AFPVOL_MTOUUPPER | AFPVOL_UTOMLOWER)
 #define AFPVOL_ULOWERMUPPER    (AFPVOL_MTOULOWER | AFPVOL_UTOMUPPER)
+
 #define MSWINDOWS_BADCHARS "\\/<>*?|\""
 #define MSWINDOWS_CODEPAGE "maccode.iso8859-1"
 
+int wincheck(struct vol *vol, const char *path);
+
 #define AFPVOLSIG_FLAT          0x0001 /* flat fs */
 #define AFPVOLSIG_FIX          0x0002 /* fixed ids */
 #define AFPVOLSIG_VAR           0x0003 /* variable ids */
@@ -133,10 +139,10 @@ typedef u_int64_t VolSpace;
 
 extern struct vol      *getvolbyvid __P((const u_int16_t));
 extern int              ustatfs_getvolspace __P((const struct vol *,
-                                                VolSpace *, VolSpace *,
-                                                u_int32_t *));
-extern int              codepage_init __P((struct vol *, const int, 
-                                          const int));
+            VolSpace *, VolSpace *,
+            u_int32_t *));
+extern int              codepage_init __P((struct vol *, const int,
+            const int));
 extern int              codepage_read __P((struct vol *, const char *));
 extern union codepage_val codepage_find __P(());
 extern void             setvoltime __P((AFPObj *, struct vol *));
@@ -147,4 +153,5 @@ extern int  afp_getvolparams __P((AFPObj *, char *, int, char *, int *));
 extern int     afp_setvolparams __P((AFPObj *, char *, int, char *, int *));
 extern int     afp_getsrvrparms __P((AFPObj *, char *, int, char *, int *));
 extern int     afp_closevol     __P((AFPObj *, char *, int, char *, int *));
+
 #endif