]> arthur.barton.de Git - netatalk.git/blobdiff - etc/afpd/desktop.h
Fix data corruption bug
[netatalk.git] / etc / afpd / desktop.h
index 0427a181889a6374accbddd9bc09ffcd7ebd280d..5f8242439e98fad5534637e6cdf6b4b9b9eb1e9e 100644 (file)
 #ifndef AFPD_DESKTOP_H
 #define AFPD_DESKTOP_H 1
 
-#include <sys/cdefs.h>
-#include "globals.h"
+#include <atalk/globals.h>
+
 #include "volume.h"
 
-/* various finder info bits */
-#define FINDERINFO_FRFLAGOFF   8
-#define FINDERINFO_FRVIEWOFF  14 
-#define FINDERINFO_INVISIBLE  (1<<14)
-#define FINDERINFO_CLOSEDVIEW 0x100   
+#define APPLEDESKTOP ".AppleDesktop"
 
 struct savedt {
     u_char     sdt_creator[ 4 ];
@@ -43,25 +39,24 @@ struct savedt {
 
 typedef unsigned char CreatorType[4];
 
-extern char    *dtfile __P((const struct vol *, u_char [], char *));
-extern char    *mtoupath __P((const struct vol *, char *));
-extern char    *utompath __P((const struct vol *, char *));
-extern u_char  ucreator[];
+extern char    *dtfile (const struct vol *, u_char [], char *);
+extern char    *mtoupath (const struct vol *, char *, cnid_t, int utf8);
+extern char    *utompath (const struct vol *, char *, cnid_t, int utf8);
 
-#define validupath(vol, name) ((((vol)->v_flags & AFPVOL_USEDOTS) ? \
-   (strncasecmp((name),".Apple", 6) && \
-    strcasecmp((name), ".Parent")) : (name)[0] != '.'))
+extern int setdeskmode(const struct vol *vol, const mode_t mode);
+extern int setdeskowner(const struct vol *vol, uid_t uid, gid_t gid);
 
 /* FP functions */
-extern int     afp_opendt __P((AFPObj *, char *, int, char *, int *));
-extern int     afp_addcomment __P((AFPObj *, char *, int, char *, int *));
-extern int     afp_getcomment __P((AFPObj *, char *, int, char *, int *));
-extern int     afp_rmvcomment __P((AFPObj *, char *, int, char *, int *));
-extern int     afp_addappl __P((AFPObj *, char *, int, char *, int *));
-extern int     afp_rmvappl __P((AFPObj *, char *, int, char *, int *));
-extern int     afp_getappl __P((AFPObj *, char *, int, char *, int *));
-extern int      afp_closedt __P((AFPObj *, char *, int, char *, int *));
-extern int     afp_addicon __P((AFPObj *, char *, int, char *, int *));
-extern int     afp_geticoninfo __P((AFPObj *, char *, int, char *, int *));
-extern int     afp_geticon __P((AFPObj *, char *, int, char *, int *));
+int afp_opendt (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+int afp_addcomment (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+int afp_getcomment (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+int afp_rmvcomment (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+int afp_addappl (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+int afp_rmvappl (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+int afp_getappl (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+int afp_closedt (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+int afp_addicon (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+int afp_geticoninfo (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+int afp_geticon (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+
 #endif