return (code==0);
}
-BOOL IsSymlink(const char * true_name)
-{
- char parent_dir[MAXSIZE]; /*Parent directory of true name*/
- char strip_name[MAXSIZE];
- struct ViceIoctl blob;
- char *last_component;
- int code;
- last_component = (char *) strrchr(true_name, '\\');
- if (!last_component)
- last_component = (char *) strrchr(true_name, '/');
- if (last_component) {
- /*
- * Found it. Designate everything before it as the parent directory,
- * everything after it as the final component.
- */
- strncpy(parent_dir, true_name, last_component - true_name + 1);
- parent_dir[last_component - true_name + 1] = 0;
- last_component++; /*Skip the slash*/
- }
- else {
- /*
- * No slash appears in the given file name. Set parent_dir to the current
- * directory, and the last component as the given name.
- */
- fs_ExtractDriveLetter(true_name, parent_dir);
- strcat(parent_dir, ".");
- last_component = strip_name;
- fs_StripDriveLetter(true_name, strip_name, sizeof(strip_name));
- }
-
- blob.in = last_component;
- blob.in_size = strlen(last_component)+1;
- blob.out_size = MAXSIZE;
- blob.out = space;
- memset(space, 0, MAXSIZE);
- code = pioctl(parent_dir, VIOC_ISSYMLINK, &blob, 1);
- return (code==0);
-}
-
/*
* Delete AFS mount points. Variables are used as follows:
// tokenInfo.Add("");
// return TRUE;
-BOOL RemoveSymlink(const char * linkName)
-{
- BOOL error = FALSE;
- INT code=0;
- struct ViceIoctl blob;
- char tbuffer[1024];
- char lsbuffer[1024];
- char tpbuffer[1024];
- char *tp;
-
- tp = (char *) strrchr(linkName, '\\');
- if (!tp)
- tp = (char *) strrchr(linkName, '/');
- if (tp) {
- strncpy(tbuffer, linkName, code=tp-linkName+1); /* the dir name */
- tbuffer[code] = 0;
- tp++; /* skip the slash */
- }
- else {
- fs_ExtractDriveLetter(linkName, tbuffer);
- strcat(tbuffer, ".");
- fs_StripDriveLetter(tp, tpbuffer, 0);
- tp=tpbuffer;
- }
- blob.in = tp;
- blob.in_size = strlen(tp)+1;
- blob.out = lsbuffer;
- blob.out_size = sizeof(lsbuffer);
- code = pioctl(tbuffer, VIOC_LISTSYMLINK, &blob, 0);
- if (code)
- return FALSE;
- blob.out_size = 0;
- blob.in = tp;
- blob.in_size = strlen(tp)+1;
- return (pioctl(tbuffer, VIOC_DELSYMLINK, &blob, 0)==0);
-}
-
-BOOL IsSymlink(const char * true_name)
-{
- char parent_dir[MAXSIZE]; /*Parent directory of true name*/
- char strip_name[MAXSIZE];
- struct ViceIoctl blob;
- char *last_component;
- int code;
- last_component = (char *) strrchr(true_name, '\\');
- if (!last_component)
- last_component = (char *) strrchr(true_name, '/');
- if (last_component) {
- /*
- * Found it. Designate everything before it as the parent directory,
- * everything after it as the final component.
- */
- strncpy(parent_dir, true_name, last_component - true_name + 1);
- parent_dir[last_component - true_name + 1] = 0;
- last_component++; /*Skip the slash*/
- }
- else {
- /*
- * No slash appears in the given file name. Set parent_dir to the current
- * directory, and the last component as the given name.
- */
- fs_ExtractDriveLetter(true_name, parent_dir);
- strcat(parent_dir, ".");
- last_component = strip_name;
- fs_StripDriveLetter(true_name, strip_name, sizeof(strip_name));
- }
-
- blob.in = last_component;
- blob.in_size = strlen(last_component)+1;
- blob.out_size = MAXSIZE;
- blob.out = space;
- memset(space, 0, MAXSIZE);
- code = pioctl(parent_dir, VIOC_LISTSYMLINK, &blob, 1);
- return (code==0);
-}
-
HOURGLASS hourglass;
{
int code = 0;
static char nullString[1] = ""; /*The ``contents'' of motd */
- afs_int64 addvar;
+ afs_uint64 addvar;
/* if (!code) code = DumpTag(iodp, D_VOLUMEHEADER); */
FillInt64(addvar,0, 1);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) {code = DumpInt32(iodp, 'i',V_id(vp));} */
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpInt32(iodp, 'v',V_stamp(vp).version); */
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpString(iodp, 'n',V_name(vp)); */
FillInt64(addvar,0, (2 + strlen(V_name(vp))));
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpBool(iodp, 's',V_inService(vp)); */
FillInt64(addvar,0, 2);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpBool(iodp, 'b',V_blessed(vp)); */
FillInt64(addvar,0, 2);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpInt32(iodp, 'u',V_uniquifier(vp)); */
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpByte(iodp, 't',(byte)V_type(vp)); */
FillInt64(addvar,0, 2);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code){ code = DumpInt32(iodp, 'p',V_parentId(vp));} */
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpInt32(iodp, 'c',V_cloneId(vp)); */
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpInt32(iodp, 'q',V_maxquota(vp)); */
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpInt32(iodp, 'm',V_minquota(vp)); */
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpInt32(iodp, 'd',V_diskused(vp)); */
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpInt32(iodp, 'f',V_filecount(vp)); */
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpInt32(iodp, 'a', V_accountNumber(vp)); */
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpInt32(iodp, 'o', V_owner(vp)); */
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpInt32(iodp, 'C',V_creationDate(vp)); /\* Rw volume creation date *\/ */
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpInt32(iodp, 'A',V_accessDate(vp)); */
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpInt32(iodp, 'U',V_updateDate(vp)); */
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpInt32(iodp, 'E',V_expirationDate(vp)); */
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpInt32(iodp, 'B',V_backupDate(vp)); /\* Rw volume backup clone date *\/ */
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpString(iodp, 'O',V_offlineMessage(vp)); */
FillInt64(addvar,0, (2 + strlen(V_offlineMessage(vp))));
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* /\* */
/* * We do NOT dump the detailed volume statistics residing in the old */
/* * motd field, since we cannot tell from the info in a dump whether */
/* *\/ */
/* if (!code) code = DumpString(iodp, 'M', nullString); */
FillInt64(addvar,0, (2 + strlen(nullString)));
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpArrayInt32(iodp, 'W', (afs_uint32 *)V_weekUse(vp), sizeof(V_weekUse(vp))/sizeof(V_weekUse(vp)[0])); */
FillInt64(addvar,0, (3 + 4 * (sizeof(V_weekUse(vp)) / sizeof(V_weekUse(vp)[0]))));
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpInt32(iodp, 'D', V_dayUseDate(vp)); */
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpInt32(iodp, 'Z', V_dayUse(vp)); */
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
return code;
}
SizeDumpEnd(register struct iod *iodp, register struct volintSize *v_size)
{
int code = 0;
- afs_int64 addvar;
+ afs_uint64 addvar;
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
return code;
}
int code = 0;
int UseLatestReadOnlyClone = 1;
afs_int32 dumpTimes[2];
- afs_int64 addvar;
+ afs_uint64 addvar;
/* iodp->device = vp->device; */
/* iodp->parentId = V_parentId(vp); */
/* iodp->dumpPartition = vp->partition; */
ZeroInt64(v_size->dump_size); /* initialize the size */
/* if (!code) code = DumpDouble(iodp, D_DUMPHEADER, DUMPBEGINMAGIC, DUMPVERSION); */
FillInt64(addvar,0, 9);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpInt32(iodp, 'v', UseLatestReadOnlyClone? V_id(vp): V_parentId(vp)); */
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpString(iodp, 'n',V_name(vp)); */
FillInt64(addvar,0, (2 + strlen(V_name(vp))));
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* dumpTimes[0] = fromtime; */
/* dumpTimes[1] = V_backupDate(vp); /\* Until the time the clone was made *\/ */
/* if (!code) code = DumpArrayInt32(iodp, 't', (afs_uint32 *)dumpTimes, 2); */
FillInt64(addvar,0, (3 + 4 * 2));
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
return code;
}
register struct volintSize *v_size)
{
int code = 0;
- afs_int64 addvar;
+ afs_uint64 addvar;
if (!v || v->type == vNull)
return code;
/* if (!code) code = DumpDouble(iodp, D_VNODE, vnodeNumber, v->uniquifier); */
FillInt64(addvar,0, 9);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
if (!dumpEverything)
return code;
/* if (!code) code = DumpByte(iodp, 't',(byte)v->type); */
FillInt64(addvar,0, 2);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpShort(iodp, 'l', v->linkCount); /\* May not need this *\/ */
FillInt64(addvar,0, 3);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpInt32(iodp, 'v', v->dataVersion); */
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpInt32(iodp, 'm', v->unixModifyTime); */
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpInt32(iodp, 'a', v->author); */
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpInt32(iodp, 'o', v->owner); */
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code && v->group) code = DumpInt32(iodp, 'g', v->group); /\* default group is 0 *\/ */
if (v->group) {
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
}
/* if (!code) code = DumpShort(iodp, 'b', v->modeBits); */
FillInt64(addvar,0, 3);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpInt32(iodp, 'p', v->parent); */
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
/* if (!code) code = DumpInt32(iodp, 's', v->serverModifyTime); */
FillInt64(addvar,0, 5);
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
if (v->type == vDirectory) {
/* acl_HtonACL(VVnodeDiskACL(v)); */
/* if (!code) code = DumpByteString(iodp, 'A', (byte *) VVnodeDiskACL(v), VAclDiskSize(v)); */
FillInt64(addvar,0, (1 + VAclDiskSize(v)));
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
}
if (VNDISK_GET_INO(v)) {
FillInt64(addvar,0, (v->length + 5));
- AddInt64(v_size->dump_size, addvar, &v_size->dump_size);
+ AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
}
return code;
}