/* rf_renamefile: */ RF_renamefile_osx,
};
-/* =======================================
- samba ads format
- */
-struct vfs_ops netatalk_adouble_ads = {
- /* ad_path: */ ad_path_ads,
- /* validupath: */ validupath_adouble,
- /* rf_chown: */ RF_chown_ads,
- /* rf_renamedir: */ RF_renamedir_adouble,
- /* rf_deletecurdir: */ RF_deletecurdir_ads,
- /* rf_setfilmode: */ RF_setfilmode_ads,
- /* rf_setdirmode: */ RF_setdirmode_ads,
- /* rf_setdirunixmode:*/ RF_setdirunixmode_ads,
- /* rf_setdirowner: */ RF_setdirowner_ads,
- /* rf_deletefile: */ RF_deletefile_ads,
- /* rf_renamefile: */ RF_renamefile_ads,
-};
-
/* =======================================
samba sfm format
ad_path shouldn't be set here
if (vol->v_adouble == AD_VERSION2_OSX) {
vol->vfs = &netatalk_adouble_osx;
}
- else if (vol->v_adouble == AD_VERSION1_ADS) {
- vol->vfs = &netatalk_adouble_ads;
- }
else if (vol->v_adouble == AD_VERSION1_SFM) {
vol->vfs = &netatalk_adouble_sfm;
}
/*
- * $Id: volume.c,v 1.87 2009-07-02 17:53:52 franklahm Exp $
+ * $Id: volume.c,v 1.88 2009-07-20 23:23:02 didg Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
options[VOLOPT_ADOUBLE].i_value = AD_VERSION2;
else if (strcasecmp(val + 1, "osx") == 0)
options[VOLOPT_ADOUBLE].i_value = AD_VERSION2_OSX;
- else if (strcasecmp(val + 1, "ads") == 0)
- options[VOLOPT_ADOUBLE].i_value = AD_VERSION1_ADS;
else if (strcasecmp(val + 1, "sfm") == 0)
options[VOLOPT_ADOUBLE].i_value = AD_VERSION1_SFM;
#endif
case AD_VERSION2_OSX:
strlcat(buf, "ADOUBLE_VER:osx\n", sizeof(buf));
break;
- case AD_VERSION1_ADS:
- strlcat(buf, "ADOUBLE_VER:ads\n", sizeof(buf));
- break;
case AD_VERSION1_SFM:
strlcat(buf, "ADOUBLE_VER:sfm\n", sizeof(buf));
break;
/*
- * $Id: adouble.h,v 1.37 2009-06-22 12:05:15 franklahm Exp $
+ * $Id: adouble.h,v 1.38 2009-07-20 23:23:02 didg Exp $
* Copyright (c) 1990,1991 Regents of The University of Michigan.
* All Rights Reserved.
*
#define AD_VERSION2 0x00020000
#define AD_VERSION2_OSX 0x00020001
+/*
#define AD_VERSION1_ADS 0x00010002
+*/
#define AD_VERSION1_SFM 0x00010003
#define AD_VERSION AD_VERSION2
/*
- * $Id: ad_open.c,v 1.43 2009-06-22 12:05:15 franklahm Exp $
+ * $Id: ad_open.c,v 1.44 2009-07-20 23:23:02 didg Exp $
*
* Copyright (c) 1999 Adrian Sun (asun@u.washington.edu)
* Copyright (c) 1990,1991 Regents of The University of Michigan.
/* ---------------------------------------
* Put the .AppleDouble where it needs to be:
*
- * / a/.AppleDouble/b/Afp_AfpInfo
+ * / a/.AppleDouble/b/AFP_AfpInfo
* a/b
- * \ b/.AppleDouble/.Parent/Afp_AfpInfo
+ * \ b/.AppleDouble/.Parent/AFP_AfpInfo
*
- */
-char *
-ad_path_ads( path, adflags )
- const char *path;
- int adflags;
-{
- static char pathbuf[ MAXPATHLEN + 1];
- char c, *slash, buf[MAXPATHLEN + 1];
- size_t l;
-
- l = strlcpy(buf, path, MAXPATHLEN +1);
- if ( adflags & ADFLAGS_DIR ) {
- strcpy( pathbuf, buf);
- if ( *buf != '\0' && l < MAXPATHLEN) {
- pathbuf[l++] = '/';
- pathbuf[l] = 0;
- }
- slash = ".Parent";
- } else {
- if (NULL != ( slash = strrchr( buf, '/' )) ) {
- c = *++slash;
- *slash = '\0';
- strcpy( pathbuf, buf);
- *slash = c;
- } else {
- pathbuf[ 0 ] = '\0';
- slash = buf;
- }
- }
- strlcat( pathbuf, ".AppleDouble/", MAXPATHLEN +1);
- strlcat( pathbuf, slash, MAXPATHLEN +1);
-
- strlcat( pathbuf, "/Afp_AfpInfo", MAXPATHLEN +1);
- return( pathbuf );
-}
-
-/* ----------------------
- * mostly the same as ads, only case change Afp --> AFP and AFP_Resoure
*/
char *
ad_path_sfm( path, adflags )
}
/* -------------------- */
-static int ad_mkrf_ads(char *path)
+static int ad_mkrf_sfm(char *path)
{
char *slash;
/*
&ad_header_upgrade,
};
-static struct adouble_fops ad_ads = {
- &ad_path_ads,
- &ad_mkrf_ads,
- &ad_rebuild_adouble_header,
- &ad_check_size,
-
- &ad_header_read,
- &ad_header_upgrade,
-};
-
static struct adouble_fops ad_sfm = {
&ad_path_sfm,
- &ad_mkrf_ads,
+ &ad_mkrf_sfm,
&ad_rebuild_sfm_header,
&ad_check_size_sfm,
if (flags == AD_VERSION2_OSX) {
ad->ad_ops = &ad_osx;
}
- else if (flags == AD_VERSION1_ADS) {
- ad->ad_ops = &ad_ads;
- }
else if (flags == AD_VERSION1_SFM) {
ad->ad_ops = &ad_sfm;
}