X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=netatalk.git;a=blobdiff_plain;f=etc%2Fafpd%2Ffile.h;h=90e3aa1d56217ae8eae0c33e692d022ff12d76b1;hp=4848b5069e1338a79fe85e4a1c0556ccbc2c845d;hb=1b20936596f89b2706f1122ca2fabad6ffe00c98;hpb=31843674b7bd32eabcce3a1ad6159b4f94921f79 diff --git a/etc/afpd/file.h b/etc/afpd/file.h index 4848b506..90e3aa1d 100644 --- a/etc/afpd/file.h +++ b/etc/afpd/file.h @@ -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. * @@ -36,63 +38,105 @@ 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