]> arthur.barton.de Git - netatalk.git/blobdiff - etc/afpd/file.h
Symlink patch from Anton Starikov
[netatalk.git] / etc / afpd / file.h
index 4848b5069e1338a79fe85e4a1c0556ccbc2c845d..90e3aa1d56217ae8eae0c33e692d022ff12d76b1 100644 (file)
@@ -1,4 +1,6 @@
 /*
+ * $Id: file.h,v 1.24.2.1 2010-01-02 10:22:32 franklahm Exp $
+ *
  * Copyright (c) 1990,1991 Regents of The University of Michigan.
  * All Rights Reserved.
  *
 
 extern const u_char    ufinderi[];
 
-#define FILPBIT_ATTR   0
-#define FILPBIT_PDID   1
-#define FILPBIT_CDATE  2
-#define FILPBIT_MDATE  3
-#define FILPBIT_BDATE  4
-#define FILPBIT_FINFO  5
-#define FILPBIT_LNAME  6
-#define FILPBIT_SNAME  7
-#define FILPBIT_FNUM   8
-#define FILPBIT_DFLEN  9
-#define FILPBIT_RFLEN  10
-#define FILPBIT_PDINFO  13    /* ProDOS Info */
-
-/* attribute bits. (d) = directory attribute bit as well. */
-#define ATTRBIT_INVISIBLE (1<<0)  /* invisible (d) */
-#define ATTRBIT_MULTIUSER (1<<1)  /* multiuser */
-#define ATTRBIT_SYSTEM    (1<<2)  /* system (d) */
-#define ATTRBIT_DOPEN     (1<<3)  /* data fork already open */
-#define ATTRBIT_ROPEN     (1<<4)  /* resource fork already open */
-#define ATTRBIT_NOWRITE   (1<<5)  /* write inhibit(v2)/read-only(v1) bit */
-#define ATTRBIT_BACKUP    (1<<6)  /* backup needed (d) */
-#define ATTRBIT_NORENAME  (1<<7)  /* rename inhibit (d) */
-#define ATTRBIT_NODELETE  (1<<8)  /* delete inhibit (d) */
-#define ATTRBIT_NOCOPY    (1<<10) /* copy protect */
-#define ATTRBIT_SETCLR   (1<<15) /* set/clear bits (d) */
+#define FILPBIT_ATTR    0
+#define FILPBIT_PDID    1
+#define FILPBIT_CDATE   2
+#define FILPBIT_MDATE   3
+#define FILPBIT_BDATE   4
+#define FILPBIT_FINFO   5
+#define FILPBIT_LNAME   6
+#define FILPBIT_SNAME   7
+#define FILPBIT_FNUM    8
+#define FILPBIT_DFLEN   9
+#define FILPBIT_RFLEN   10
+#define FILPBIT_EXTDFLEN 11
+#define FILPBIT_PDINFO   13    /* ProDOS Info/ UTF8 name */
+#define FILPBIT_EXTRFLEN 14
+#define FILPBIT_UNIXPR   15
 
 struct extmap {
-    struct extmap      *em_next;
-    char               em_ext[ MAXPATHLEN + 1];
+    char               *em_ext;
     char               em_creator[ 4 ];
     char               em_type[ 4 ];
 };
 
-extern struct extmap   *extmap;
-extern struct extmap   *getextmap __P((const char *));
+#define kTextEncodingUTF8 0x08000103
+
+typedef enum {
+                                        /* Mac OS encodings*/
+  kTextEncodingMacRoman         = 0L,
+  kTextEncodingMacJapanese      = 1,
+  kTextEncodingMacChineseTrad   = 2,
+  kTextEncodingMacKorean        = 3,
+  kTextEncodingMacArabic        = 4,
+  kTextEncodingMacHebrew        = 5,
+  kTextEncodingMacGreek         = 6,
+  kTextEncodingMacCyrillic      = 7,
+  kTextEncodingMacDevanagari    = 9,
+  kTextEncodingMacGurmukhi      = 10,
+  kTextEncodingMacGujarati      = 11,
+  kTextEncodingMacOriya         = 12,
+  kTextEncodingMacBengali       = 13,
+  kTextEncodingMacTamil         = 14,
+  kTextEncodingMacTelugu        = 15,
+  kTextEncodingMacKannada       = 16,
+  kTextEncodingMacMalayalam     = 17,
+  kTextEncodingMacSinhalese     = 18,
+  kTextEncodingMacBurmese       = 19,
+  kTextEncodingMacKhmer         = 20,
+  kTextEncodingMacThai          = 21,
+  kTextEncodingMacLaotian       = 22,
+  kTextEncodingMacGeorgian      = 23,
+  kTextEncodingMacArmenian      = 24,
+  kTextEncodingMacChineseSimp   = 25,
+  kTextEncodingMacTibetan       = 26,
+  kTextEncodingMacMongolian     = 27,
+  kTextEncodingMacEthiopic      = 28,
+  kTextEncodingMacCentralEurRoman = 29,
+  kTextEncodingMacVietnamese    = 30,
+  kTextEncodingMacExtArabic     = 31,   /* The following use script code 0, smRoman*/
+  kTextEncodingMacSymbol        = 33,
+  kTextEncodingMacDingbats      = 34,
+  kTextEncodingMacTurkish       = 35,
+  kTextEncodingMacCroatian      = 36,
+  kTextEncodingMacIcelandic     = 37,
+  kTextEncodingMacRomanian      = 38,
+  kTextEncodingMacCeltic        = 39,
+  kTextEncodingMacGaelic        = 40,
+  kTextEncodingMacKeyboardGlyphs = 41,
+} kTextEncoding_t;
+
+extern char *set_name   (const struct vol *, char *, cnid_t, char *, cnid_t, u_int32_t );
+
+extern struct extmap   *getextmap (const char *);
+extern struct extmap   *getdefextmap (void);
+
+extern int getfilparams (struct vol *, u_int16_t, struct path *,
+                                 struct dir *, char *buf, size_t *);
 
-extern int getfilparams __P((struct vol *, u_int16_t, char *, 
-                            struct dir *, struct stat *, char *buf, 
-                            int *));
-extern int setfilparams __P((struct vol *, char *, u_int16_t, char *));
-extern int renamefile   __P((char *, char *, char *, const int));
-extern int copyfile     __P((char *, char *, char *, const int));
-extern int deletefile   __P((char *));
+extern int setfilparams (struct vol *, struct path *, u_int16_t, char *);
+extern int renamefile   (const struct vol *, char *, char *, char *, struct adouble *);
+extern int copyfile     (const struct vol *, const struct vol *, char *, char *, char *, struct adouble *);
+extern int deletefile   (const struct vol *, char *, int);
+
+extern int getmetadata  (struct vol *vol, u_int16_t bitmap, struct path *path, 
+                         struct dir *dir, char *buf, size_t *buflen, struct adouble *adp);
+
+extern void *get_finderinfo (const struct vol *, const char *, struct adouble *, void *, int);
+
+extern size_t mtoUTF8   (const struct vol *, const char *, size_t , char *, size_t );
+extern int  copy_path_name (const struct vol *, char *, char *i);
+
+extern u_int32_t get_id  (struct vol *, struct adouble *, const struct stat *,
+                                const cnid_t , char *, const int );
 
 /* FP functions */
-extern int      afp_exchangefiles __P((AFPObj *, char *, int, char *, int *));
-extern int     afp_setfilparams __P((AFPObj *, char *, int, char *, int *));
-extern int     afp_copyfile __P((AFPObj *, char *, int, char *, int *));
-extern int     afp_createfile __P((AFPObj *, char *, int, char *, int *));
-#if AD_VERSION > AD_VERSION1
-extern int      afp_createid __P((AFPObj *, char *, int, char *, int *));
-extern int      afp_resolveid __P((AFPObj *, char *, int, char *, int *));
-extern int      afp_deleteid __P((AFPObj *, char *, int, char *, int *));
-#else
-#define afp_createid      afp_null
-#define afp_resolveid     afp_null
-#define afp_deleteid      afp_null
-#endif
+int afp_exchangefiles (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+int afp_setfilparams (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+int afp_copyfile (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+int afp_createfile (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+int afp_createid (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+int afp_resolveid (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
+int afp_deleteid (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);
 
 #endif