X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fa5f72b36fb55f3445683f0e1cd15f39c2d54a0c..f06db45d642a167f0518c9e5890f4ee034620fc2:/src/mac/classic/morefile/MoreFiles.c diff --git a/src/mac/classic/morefile/MoreFiles.c b/src/mac/classic/morefile/MoreFiles.c deleted file mode 100644 index 8426bdaffe..0000000000 --- a/src/mac/classic/morefile/MoreFiles.c +++ /dev/null @@ -1,643 +0,0 @@ -/* - File: MoreFiles.c - - Contains: The long lost high-level and FSSpec File Manager functions. - - Version: MoreFiles - - Copyright: © 1992-2001 by Apple Computer, Inc., all rights reserved. - - You may incorporate this sample code into your applications without - restriction, though the sample code has been provided "AS IS" and the - responsibility for its operation is 100% yours. However, what you are - not permitted to do is to redistribute the source as "DSC Sample Code" - after having made changes. If you're going to re-distribute the source, - we require that you make it clear in the source that the code was - descended from Apple Sample Code, but that you've made changes. - - File Ownership: - - DRI: Apple Macintosh Developer Technical Support - - Other Contact: Apple Macintosh Developer Technical Support - - - Technology: DTS Sample Code - - Writers: - - (JL) Jim Luther - - Change History (most recent first): - - <2> 2/7/01 JL Added standard header. Updated names of includes. - <1> 12/06/99 JL MoreFiles 1.5. -*/ - -#include -#include -#include - -#define __COMPILINGMOREFILES - -#include "MoreFiles.h" -#include "MoreFilesExtras.h" - -/*****************************************************************************/ - -pascal OSErr HGetVolParms(ConstStr255Param volName, - short vRefNum, - GetVolParmsInfoBuffer *volParmsInfo, - long *infoSize) -{ - HParamBlockRec pb; - OSErr error; - - pb.ioParam.ioNamePtr = (StringPtr)volName; - pb.ioParam.ioVRefNum = vRefNum; - pb.ioParam.ioBuffer = (Ptr)volParmsInfo; - pb.ioParam.ioReqCount = *infoSize; - error = PBHGetVolParmsSync(&pb); - if ( error == noErr ) - { - *infoSize = pb.ioParam.ioActCount; - } - return ( error ); -} - -/*****************************************************************************/ - -pascal OSErr HCreateMinimum(short vRefNum, - long dirID, - ConstStr255Param fileName) -{ - HParamBlockRec pb; - - pb.fileParam.ioNamePtr = (StringPtr)fileName; - pb.fileParam.ioVRefNum = vRefNum; - pb.ioParam.ioVersNum = 0; - pb.fileParam.ioDirID = dirID; - return ( PBHCreateSync(&pb) ); -} - -/*****************************************************************************/ - -pascal OSErr FSpCreateMinimum(const FSSpec *spec) -{ - return ( HCreateMinimum(spec->vRefNum, spec->parID, spec->name) ); -} - -/*****************************************************************************/ - -pascal OSErr ExchangeFiles(short vRefNum, - long srcDirID, - ConstStr255Param srcName, - long dstDirID, - ConstStr255Param dstName) -{ - HParamBlockRec pb; - - pb.fidParam.ioVRefNum = vRefNum; - pb.fidParam.ioSrcDirID = srcDirID; - pb.fidParam.ioNamePtr = (StringPtr)srcName; - pb.fidParam.ioDestDirID = dstDirID; - pb.fidParam.ioDestNamePtr = (StringPtr)dstName; - return ( PBExchangeFilesSync(&pb) ); -} - -/*****************************************************************************/ - -pascal OSErr ResolveFileIDRef(ConstStr255Param volName, - short vRefNum, - long fileID, - long *parID, - StringPtr fileName) -{ - HParamBlockRec pb; - OSErr error; - Str255 tempStr; - - tempStr[0] = 0; - if ( volName != NULL ) - { - BlockMoveData(volName, tempStr, volName[0] + 1); - } - pb.fidParam.ioNamePtr = (StringPtr)tempStr; - pb.fidParam.ioVRefNum = vRefNum; - pb.fidParam.ioFileID = fileID; - error = PBResolveFileIDRefSync(&pb); - if ( error == noErr ) - { - *parID = pb.fidParam.ioSrcDirID; - if ( fileName != NULL ) - { - BlockMoveData(tempStr, fileName, tempStr[0] + 1); - } - } - return ( error ); -} - -/*****************************************************************************/ - -pascal OSErr FSpResolveFileIDRef(ConstStr255Param volName, - short vRefNum, - long fileID, - FSSpec *spec) -{ - OSErr error; - - error = DetermineVRefNum(volName, vRefNum, &(spec->vRefNum)); - if ( error == noErr ) - { - error = ResolveFileIDRef(volName, vRefNum, fileID, &(spec->parID), spec->name); - } - return ( error ); -} - -/*****************************************************************************/ - -pascal OSErr CreateFileIDRef(short vRefNum, - long parID, - ConstStr255Param fileName, - long *fileID) -{ - HParamBlockRec pb; - OSErr error; - - pb.fidParam.ioNamePtr = (StringPtr)fileName; - pb.fidParam.ioVRefNum = vRefNum; - pb.fidParam.ioSrcDirID = parID; - error = PBCreateFileIDRefSync(&pb); - if ( (error == noErr) || (error == fidExists) || (error == afpIDExists) ) - { - *fileID = pb.fidParam.ioFileID; - } - return ( error ); -} - -/*****************************************************************************/ - -pascal OSErr FSpCreateFileIDRef(const FSSpec *spec, - long *fileID) -{ - return ( CreateFileIDRef(spec->vRefNum, spec->parID, spec->name, fileID) ); -} - -/*****************************************************************************/ - -pascal OSErr DeleteFileIDRef(ConstStr255Param volName, - short vRefNum, - long fileID) -{ - HParamBlockRec pb; - - pb.fidParam.ioNamePtr = (StringPtr)volName; - pb.fidParam.ioVRefNum = vRefNum; - pb.fidParam.ioFileID = fileID; - return ( PBDeleteFileIDRefSync(&pb) ); -} - -/*****************************************************************************/ - -pascal OSErr FlushFile(short refNum) -{ - ParamBlockRec pb; - - pb.ioParam.ioRefNum = refNum; - return ( PBFlushFileSync(&pb) ); -} - -/*****************************************************************************/ - -pascal OSErr LockRange(short refNum, - long rangeLength, - long rangeStart) -{ - ParamBlockRec pb; - - pb.ioParam.ioRefNum = refNum; - pb.ioParam.ioReqCount = rangeLength; - pb.ioParam.ioPosMode = fsFromStart; - pb.ioParam.ioPosOffset = rangeStart; - return ( PBLockRangeSync(&pb) ); -} - -/*****************************************************************************/ - -pascal OSErr UnlockRange(short refNum, - long rangeLength, - long rangeStart) -{ - ParamBlockRec pb; - - pb.ioParam.ioRefNum = refNum; - pb.ioParam.ioReqCount = rangeLength; - pb.ioParam.ioPosMode = fsFromStart; - pb.ioParam.ioPosOffset = rangeStart; - return ( PBUnlockRangeSync(&pb) ); -} - -/*****************************************************************************/ - -pascal OSErr GetForeignPrivs(short vRefNum, - long dirID, - ConstStr255Param name, - void *foreignPrivBuffer, - long *foreignPrivSize, - long *foreignPrivInfo1, - long *foreignPrivInfo2, - long *foreignPrivInfo3, - long *foreignPrivInfo4) -{ - HParamBlockRec pb; - OSErr error; - - pb.foreignPrivParam.ioNamePtr = (StringPtr)name; - pb.foreignPrivParam.ioVRefNum = vRefNum; - pb.foreignPrivParam.ioForeignPrivDirID = dirID; - pb.foreignPrivParam.ioForeignPrivBuffer = (Ptr)foreignPrivBuffer; - pb.foreignPrivParam.ioForeignPrivReqCount = *foreignPrivSize; - error = PBGetForeignPrivsSync(&pb); - *foreignPrivSize = pb.foreignPrivParam.ioForeignPrivActCount; - *foreignPrivInfo1 = pb.foreignPrivParam.ioForeignPrivInfo1; - *foreignPrivInfo2 = pb.foreignPrivParam.ioForeignPrivInfo2; - *foreignPrivInfo3 = pb.foreignPrivParam.ioForeignPrivInfo3; - *foreignPrivInfo4 = pb.foreignPrivParam.ioForeignPrivInfo4; - return ( error ); -} - -/*****************************************************************************/ - -pascal OSErr FSpGetForeignPrivs(const FSSpec *spec, - void *foreignPrivBuffer, - long *foreignPrivSize, - long *foreignPrivInfo1, - long *foreignPrivInfo2, - long *foreignPrivInfo3, - long *foreignPrivInfo4) -{ - return ( GetForeignPrivs(spec->vRefNum, spec->parID, spec->name, - foreignPrivBuffer, foreignPrivSize, - foreignPrivInfo1, foreignPrivInfo2, - foreignPrivInfo3, foreignPrivInfo4) ); -} - -/*****************************************************************************/ - -pascal OSErr SetForeignPrivs(short vRefNum, - long dirID, - ConstStr255Param name, - const void *foreignPrivBuffer, - long *foreignPrivSize, - long foreignPrivInfo1, - long foreignPrivInfo2, - long foreignPrivInfo3, - long foreignPrivInfo4) -{ - HParamBlockRec pb; - OSErr error; - - pb.foreignPrivParam.ioNamePtr = (StringPtr)name; - pb.foreignPrivParam.ioVRefNum = vRefNum; - pb.foreignPrivParam.ioForeignPrivDirID = dirID; - pb.foreignPrivParam.ioForeignPrivBuffer = (Ptr)foreignPrivBuffer; - pb.foreignPrivParam.ioForeignPrivReqCount = *foreignPrivSize; - pb.foreignPrivParam.ioForeignPrivInfo1 = foreignPrivInfo1; - pb.foreignPrivParam.ioForeignPrivInfo2 = foreignPrivInfo2; - pb.foreignPrivParam.ioForeignPrivInfo3 = foreignPrivInfo3; - pb.foreignPrivParam.ioForeignPrivInfo4 = foreignPrivInfo4; - error = PBSetForeignPrivsSync(&pb); - if ( error == noErr ) - { - *foreignPrivSize = pb.foreignPrivParam.ioForeignPrivActCount; - } - return ( error ); -} - -/*****************************************************************************/ - -pascal OSErr FSpSetForeignPrivs(const FSSpec *spec, - const void *foreignPrivBuffer, - long *foreignPrivSize, - long foreignPrivInfo1, - long foreignPrivInfo2, - long foreignPrivInfo3, - long foreignPrivInfo4) -{ - return ( SetForeignPrivs(spec->vRefNum, spec->parID, spec->name, - foreignPrivBuffer, foreignPrivSize, - foreignPrivInfo1, foreignPrivInfo2, - foreignPrivInfo3, foreignPrivInfo4) ); -} - -/*****************************************************************************/ - -pascal OSErr HGetLogInInfo(ConstStr255Param volName, - short vRefNum, - short *loginMethod, - StringPtr userName) -{ - HParamBlockRec pb; - OSErr error; - - pb.objParam.ioNamePtr = (StringPtr)volName; - pb.objParam.ioVRefNum = vRefNum; - pb.objParam.ioObjNamePtr = userName; - error = PBHGetLogInInfoSync(&pb); - if ( error == noErr ) - { - *loginMethod = pb.objParam.ioObjType; - } - return ( error ); -} - -/*****************************************************************************/ - -pascal OSErr HGetDirAccess(short vRefNum, - long dirID, - ConstStr255Param name, - long *ownerID, - long *groupID, - long *accessRights) -{ - HParamBlockRec pb; - OSErr error; - - pb.accessParam.ioNamePtr = (StringPtr)name; - pb.accessParam.ioVRefNum = vRefNum; - pb.fileParam.ioDirID = dirID; - error = PBHGetDirAccessSync(&pb); - if ( error == noErr ) - { - *ownerID = pb.accessParam.ioACOwnerID; - *groupID = pb.accessParam.ioACGroupID; - *accessRights = pb.accessParam.ioACAccess; - } - return ( error ); -} - -/*****************************************************************************/ - -pascal OSErr FSpGetDirAccess(const FSSpec *spec, - long *ownerID, - long *groupID, - long *accessRights) -{ - return ( HGetDirAccess(spec->vRefNum, spec->parID, spec->name, - ownerID, groupID, accessRights) ); -} - -/*****************************************************************************/ - -pascal OSErr HSetDirAccess(short vRefNum, - long dirID, - ConstStr255Param name, - long ownerID, - long groupID, - long accessRights) -{ - HParamBlockRec pb; - - pb.accessParam.ioNamePtr = (StringPtr)name; - pb.accessParam.ioVRefNum = vRefNum; - pb.fileParam.ioDirID = dirID; - pb.accessParam.ioACOwnerID = ownerID; - pb.accessParam.ioACGroupID = groupID; - pb.accessParam.ioACAccess = accessRights; - return ( PBHSetDirAccessSync(&pb) ); -} - -/*****************************************************************************/ - -pascal OSErr FSpSetDirAccess(const FSSpec *spec, - long ownerID, - long groupID, - long accessRights) -{ - return ( HSetDirAccess(spec->vRefNum, spec->parID, spec->name, - ownerID, groupID, accessRights) ); -} - -/*****************************************************************************/ - -pascal OSErr HMapID(ConstStr255Param volName, - short vRefNum, - long ugID, - short objType, - StringPtr name) -{ - HParamBlockRec pb; - - pb.objParam.ioNamePtr = (StringPtr)volName; - pb.objParam.ioVRefNum = vRefNum; - pb.objParam.ioObjType = objType; - pb.objParam.ioObjNamePtr = name; - pb.objParam.ioObjID = ugID; - return ( PBHMapIDSync(&pb) ); -} - -/*****************************************************************************/ - -pascal OSErr HMapName(ConstStr255Param volName, - short vRefNum, - ConstStr255Param name, - short objType, - long *ugID) -{ - HParamBlockRec pb; - OSErr error; - - pb.objParam.ioNamePtr = (StringPtr)volName; - pb.objParam.ioVRefNum = vRefNum; - pb.objParam.ioObjType = objType; - pb.objParam.ioObjNamePtr = (StringPtr)name; - error = PBHMapNameSync(&pb); - if ( error == noErr ) - { - *ugID = pb.objParam.ioObjID; - } - return ( error ); -} - -/*****************************************************************************/ - -pascal OSErr HCopyFile(short srcVRefNum, - long srcDirID, - ConstStr255Param srcName, - short dstVRefNum, - long dstDirID, - ConstStr255Param dstPathname, - ConstStr255Param copyName) -{ - HParamBlockRec pb; - - pb.copyParam.ioVRefNum = srcVRefNum; - pb.copyParam.ioDirID = srcDirID; - pb.copyParam.ioNamePtr = (StringPtr)srcName; - pb.copyParam.ioDstVRefNum = dstVRefNum; - pb.copyParam.ioNewDirID = dstDirID; - pb.copyParam.ioNewName = (StringPtr)dstPathname; - pb.copyParam.ioCopyName = (StringPtr)copyName; - return ( PBHCopyFileSync(&pb) ); -} - -/*****************************************************************************/ - -pascal OSErr FSpCopyFile(const FSSpec *srcSpec, - const FSSpec *dstSpec, - ConstStr255Param copyName) -{ - return ( HCopyFile(srcSpec->vRefNum, srcSpec->parID, srcSpec->name, - dstSpec->vRefNum, dstSpec->parID, - dstSpec->name, copyName) ); -} - -/*****************************************************************************/ - -pascal OSErr HMoveRename(short vRefNum, - long srcDirID, - ConstStr255Param srcName, - long dstDirID, - ConstStr255Param dstpathName, - ConstStr255Param copyName) -{ - HParamBlockRec pb; - - pb.copyParam.ioVRefNum = vRefNum; - pb.copyParam.ioDirID = srcDirID; - pb.copyParam.ioNamePtr = (StringPtr)srcName; - pb.copyParam.ioNewDirID = dstDirID; - pb.copyParam.ioNewName = (StringPtr)dstpathName; - pb.copyParam.ioCopyName = (StringPtr)copyName; - return ( PBHMoveRenameSync(&pb) ); -} - -/*****************************************************************************/ - -pascal OSErr FSpMoveRename(const FSSpec *srcSpec, - const FSSpec *dstSpec, - ConstStr255Param copyName) -{ - OSErr error; - - /* make sure the FSSpecs refer to the same volume */ - if ( srcSpec->vRefNum != dstSpec->vRefNum ) - { - error = diffVolErr; - } - else - { - error = HMoveRename(srcSpec->vRefNum, srcSpec->parID, srcSpec->name, - dstSpec->parID, dstSpec->name, copyName); - } - return ( error ); -} - -/*****************************************************************************/ - -pascal OSErr GetVolMountInfoSize(ConstStr255Param volName, - short vRefNum, - short *size) -{ - ParamBlockRec pb; - - pb.ioParam.ioNamePtr = (StringPtr)volName; - pb.ioParam.ioVRefNum = vRefNum; - pb.ioParam.ioBuffer = (Ptr)size; - return ( PBGetVolMountInfoSize(&pb) ); -} - -/*****************************************************************************/ - -pascal OSErr GetVolMountInfo(ConstStr255Param volName, - short vRefNum, - void *volMountInfo) -{ - ParamBlockRec pb; - - pb.ioParam.ioNamePtr = (StringPtr)volName; - pb.ioParam.ioVRefNum = vRefNum; - pb.ioParam.ioBuffer = (Ptr)volMountInfo; - return ( PBGetVolMountInfo(&pb) ); -} - -/*****************************************************************************/ - -pascal OSErr VolumeMount(const void *volMountInfo, - short *vRefNum) -{ - ParamBlockRec pb; - OSErr error; - - pb.ioParam.ioBuffer = (Ptr)volMountInfo; - error = PBVolumeMount(&pb); - if ( error == noErr ) - { - *vRefNum = pb.ioParam.ioVRefNum; - } - return ( error ); -} - -/*****************************************************************************/ - -pascal OSErr Share(short vRefNum, - long dirID, - ConstStr255Param name) -{ - HParamBlockRec pb; - - pb.fileParam.ioNamePtr = (StringPtr)name; - pb.fileParam.ioVRefNum = vRefNum; - pb.fileParam.ioDirID = dirID; - return ( PBShareSync(&pb) ); -} - -/*****************************************************************************/ - -pascal OSErr FSpShare(const FSSpec *spec) -{ - return ( Share(spec->vRefNum, spec->parID, spec->name) ); -} - -/*****************************************************************************/ - -pascal OSErr Unshare(short vRefNum, - long dirID, - ConstStr255Param name) -{ - HParamBlockRec pb; - - pb.fileParam.ioNamePtr = (StringPtr)name; - pb.fileParam.ioVRefNum = vRefNum; - pb.fileParam.ioDirID = dirID; - return ( PBUnshareSync(&pb) ); -} - -/*****************************************************************************/ - -pascal OSErr FSpUnshare(const FSSpec *spec) -{ - return ( Unshare(spec->vRefNum, spec->parID, spec->name) ); -} - -/*****************************************************************************/ - -pascal OSErr GetUGEntry(short objType, - StringPtr objName, - long *objID) -{ - HParamBlockRec pb; - OSErr error; - - pb.objParam.ioObjType = objType; - pb.objParam.ioObjNamePtr = objName; - pb.objParam.ioObjID = *objID; - error = PBGetUGEntrySync(&pb); - if ( error == noErr ) - { - *objID = pb.objParam.ioObjID; - } - return ( error ); -} - -/*****************************************************************************/