#ifndef __EXTERNCODEDEFINES__
#include "ExternCodeDefines.h"
#endif
pascal void main(InstallLocExternPBPtr ILInfo);
pascal void main(InstallLocExternPBPtr ILInfo)
{
OSErr tErr;
FSSpec tSpec;
SInt16 theVRefNum;
SInt32 theDirID, createdDirID;
ILInfo->ILE_ResultVRefNum = -1;
ILInfo->ILE_ResultDirID = -1;
if (ILInfo->ILE_Version == kInstallLocExternPBVersion) { switch (ILInfo->ILE_FindFldrCode) {
case 'OKfM':
tErr = FindFolder(kSystemDomain, kTemporaryFolderType, kDontCreateFolder, &theVRefNum, &theDirID);
tErr = DirCreate (theVRefNum, theDirID, "\pOld Kerberos for Mac Files", &createdDirID);
if (tErr == dupFNErr)
tErr = FSMakeFSSpec(theVRefNum, theDirID, "\p:Old Kerberos for Mac Files:foo.h", &tSpec);
else
tErr = FSMakeFSSpec(theVRefNum, createdDirID, "\pfoo.h", &tSpec);
break;
case 'SLAu':
tErr = FSMakeFSSpec(ILInfo->ILE_DestVRefNum, fsRtDirID, "\p:System:Library:Authenticators:foo.h", &tSpec);
break;
case 'SLCF':
tErr = FSMakeFSSpec(ILInfo->ILE_DestVRefNum, fsRtDirID, "\p:System:Library:CFMSupport:foo.h", &tSpec);
break;
case 'SLCS':
tErr = FSMakeFSSpec(ILInfo->ILE_DestVRefNum, fsRtDirID, "\p:System:Library:CoreServices:foo.h", &tSpec);
break;
case 'SLFr':
tErr = FSMakeFSSpec(ILInfo->ILE_DestVRefNum, fsRtDirID, "\p:System:Library:Frameworks:foo.h", &tSpec);
break;
case 'LiPr':
tErr = FSMakeFSSpec(ILInfo->ILE_DestVRefNum, fsRtDirID, "\p:Library:Preferences:foo.h", &tSpec);
break;
case 'LiRe':
tErr = FSMakeFSSpec(ILInfo->ILE_DestVRefNum, fsRtDirID, "\p:Library:Receipts:foo.h", &tSpec);
break;
case 'Usr ':
tErr = FSMakeFSSpec(ILInfo->ILE_DestVRefNum, fsRtDirID, "\p:usr:foo.h", &tSpec);
break;
case 'UsrB':
tErr = FSMakeFSSpec(ILInfo->ILE_DestVRefNum, fsRtDirID, "\p:usr:bin:foo.h", &tSpec);
break;
case 'UsrI':
tErr = FSMakeFSSpec(ILInfo->ILE_DestVRefNum, fsRtDirID, "\p:usr:include:foo.h", &tSpec);
break;
case 'UsrL':
tErr = FSMakeFSSpec(ILInfo->ILE_DestVRefNum, fsRtDirID, "\p:usr:lib:foo.h", &tSpec);
break;
case 'RtTr':
tErr = FSMakeFSSpec(ILInfo->ILE_DestVRefNum, fsRtDirID, "\p:private:var:root:.Trash:foo.h", &tSpec);
break;
default:
tErr = dirNFErr;
break;
}
if (tErr == fnfErr)
tErr = noErr;
if (tErr == noErr) {
ILInfo->ILE_ResultVRefNum = tSpec.vRefNum;
ILInfo->ILE_ResultDirID = tSpec.parID;
}
ILInfo->ILE_ResultError = tErr;
}
}