Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
Source/PBHGetVInfo.c
// |
// MPW Tool by im. |
// Usage : PBHGetVInfo [-i index] [-v volumeName:] [-r vRefNum] |
// |
#include <Files.h> |
#include <stdio.h> |
#include <StdLib.h> |
#include <string.h> |
#include <strings.h> |
#include <Quickdraw.h> |
#include <TextUtils.h> |
HParamBlockRec pb; |
Str255 volName; |
void main (int argc, char *argv[], char *envp[]) { |
#pragma unused (envp) |
auto OSErr osErr; |
auto short index; |
auto char *option, *parameter; |
auto Str255 string; |
InitGraf(&qd.thePort); |
pb.volumeParam.ioNamePtr = volName; |
pb.volumeParam.ioVRefNum = 0; |
pb.volumeParam.ioVolIndex = 0; |
index = 1; |
while (index < argc) { |
option = argv[index++]; |
parameter = argv[index++]; |
if ('-' != option[0] || (! strchr("ivr", option[1])) || index > argc) { |
printf("PBHGetVInfo [-i index] [-v volumeName:] [-r vRefNum]\n"); |
exit(1); |
} else { |
switch (option[1]) { |
case 'i' : |
sscanf(parameter, "%hd", &pb.volumeParam.ioVolIndex); |
break; |
case 'v' : |
parameter = (char *) c2pstr(parameter); |
pb.volumeParam.ioNamePtr = (StringPtr) parameter; |
break; |
case 'r' : |
sscanf(parameter, "%hd", &pb.volumeParam.ioVRefNum); |
break; |
break; |
} |
} |
} |
// printf("ioNamePtr = %P\n", pb.volumeParam.ioNamePtr); |
// printf("ioVRefNum = %hd\n", pb.volumeParam.ioVRefNum); |
// printf("ioVolIndex = %hd\n", pb.volumeParam.ioVolIndex); |
osErr = PBHGetVInfoAsync(&pb); |
if (noErr != osErr) { |
printf("osErr = %d\n", osErr); |
} else { |
printf("ioResult = %hd\n", pb.volumeParam.ioResult); |
printf("ioNamePtr = %P\n", pb.volumeParam.ioNamePtr); |
printf("ioVRefNum = %hd\n", pb.volumeParam.ioVRefNum); |
printf("ioVolIndex = %hd\n", pb.volumeParam.ioVolIndex); |
IUDateString(pb.volumeParam.ioVCrDate, shortDate, string); |
printf("ioVCrDate = %P ", string); |
IUTimeString(pb.volumeParam.ioVCrDate, false, string); |
printf("%P\n", string); |
IUDateString(pb.volumeParam.ioVLsMod, shortDate, string); |
printf("ioVLsMod = %P ", string); |
IUTimeString(pb.volumeParam.ioVLsMod, false, string); |
printf("%P\n", string); |
printf("ioVAtrb = %hd\n", pb.volumeParam.ioVAtrb); |
printf("ioVNmFls = %hu\n", pb.volumeParam.ioVNmFls); |
printf("ioVBitMap = %hd\n", pb.volumeParam.ioVBitMap); |
printf("ioAllocPtr = %hd\n", pb.volumeParam.ioAllocPtr); |
printf("ioVNmAlBlks = %hu\n", pb.volumeParam.ioVNmAlBlks); |
printf("ioVAlBlkSiz = %ld\n", pb.volumeParam.ioVAlBlkSiz); |
printf("ioVClpSiz = %ld\n", pb.volumeParam.ioVClpSiz); |
printf("ioAlBlSt = %hd\n", pb.volumeParam.ioAlBlSt); |
printf("ioVNxtCNID = %ld\n", pb.volumeParam.ioVNxtCNID); |
printf("ioVFrBlk = %hu\n", pb.volumeParam.ioVFrBlk); |
printf("ioVSigWord = %hu\n", pb.volumeParam.ioVSigWord); |
printf("ioVDrvInfo = %hd\n", pb.volumeParam.ioVDrvInfo); |
printf("ioVDRefNum = %hd\n", pb.volumeParam.ioVDRefNum); |
printf("ioVFSID = %hd\n", pb.volumeParam.ioVFSID); |
IUDateString(pb.volumeParam.ioVBkUp, shortDate, string); |
printf("ioVBkUp = %P ", string); |
IUTimeString(pb.volumeParam.ioVBkUp, false, string); |
printf("%P\n", string); |
printf("ioVSeqNum = %hu\n", pb.volumeParam.ioVSeqNum); |
printf("ioVWrCnt = %ld\n", pb.volumeParam.ioVWrCnt); |
printf("ioVFilCnt = %ld\n", pb.volumeParam.ioVFilCnt); |
printf("ioVDirCnt = %ld\n", pb.volumeParam.ioVDirCnt); |
printf("ioVFndrInfo[0] = %ld\n", pb.volumeParam.ioVFndrInfo[0]); |
printf("ioVFndrInfo[0] = %ld\n", pb.volumeParam.ioVFndrInfo[1]); |
printf("ioVFndrInfo[0] = %ld\n", pb.volumeParam.ioVFndrInfo[2]); |
printf("ioVFndrInfo[0] = %ld\n", pb.volumeParam.ioVFndrInfo[3]); |
printf("ioVFndrInfo[0] = %ld\n", pb.volumeParam.ioVFndrInfo[4]); |
printf("ioVFndrInfo[0] = %ld\n", pb.volumeParam.ioVFndrInfo[5]); |
printf("ioVFndrInfo[0] = %ld\n", pb.volumeParam.ioVFndrInfo[6]); |
printf("ioVFndrInfo[0] = %ld\n", pb.volumeParam.ioVFndrInfo[7]); |
} |
} |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-01-14