mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2024-09-30 07:57:32 +00:00
4325cdcc78
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included. The Tools directory, containing mostly junk, is also excluded.
106 lines
3.1 KiB
C
106 lines
3.1 KiB
C
/*
|
|
File: CommToolboxUtilities.c
|
|
|
|
Contains: Skeleton of the CommToolbox Utilities
|
|
|
|
Written by: Byron Han
|
|
|
|
Copyright: © 1989-1991 by Apple Computer, Inc., all rights reserved.
|
|
|
|
This file is used in these builds: BigBang
|
|
|
|
Change History (most recent first):
|
|
|
|
<10> 2/4/91 kaz jng, #82013: Fix loading of 'proc' resources to check for System
|
|
heap space & purged resources
|
|
<9> 1/25/91 stb JDR: change LookupReply to NBPReply
|
|
<8> 10/5/90 kaz Removed _CTBKeystrokeFilter as unused <jng>
|
|
<7> 9/14/90 kaz Loading DITL 'proc' correctly to avoid heap fragmentation.
|
|
<6> 7/10/90 dba add __ to distinguish routines from glue
|
|
<5> 3/27/90 BBH StandardNBP entry returns short not long.
|
|
<4> 3/15/90 BBH fix comments
|
|
<3> 3/15/90 BBH Fixed interfaces
|
|
<2> 3/15/90 BBH Changed resource management of DITL and NLUP. do not use
|
|
CRMresource calls - simply do a GetResource. Remove error
|
|
checking for resources missing. Also, do not release resource.
|
|
They should be marked purgeable for best results.
|
|
<1> 3/14/90 BBH first checked in
|
|
|
|
To Do:
|
|
|
|
Pre-BBS Modification History:
|
|
|
|
7/25/89 CL Added spcifiedStr to CTBKeyStrokekFilter
|
|
*/
|
|
|
|
#include <Memory.h>
|
|
#include <Resources.h>
|
|
#include <Dialogs.h>
|
|
#include <Events.h>
|
|
|
|
#include <AppleTalk.h>
|
|
|
|
#include "CommResources.h"
|
|
#include "CTBUtilities.h"
|
|
#include "CommToolboxPriv.h"
|
|
|
|
pascal CTBUErr __InitCTBUtilities()
|
|
{
|
|
return(noErr);
|
|
}
|
|
|
|
pascal long DITLEntry(DialogPtr pDialog, Handle hDITL, short appendMethod,
|
|
short nItems, short msg)
|
|
{
|
|
long rval = 0;
|
|
Handle theProc;
|
|
pascal long (**callProc) (DialogPtr, Handle, short, short, short);
|
|
|
|
// Resource is SysHeap (i.e. no _MoveHHi), Purgeable
|
|
// it's also originally locked to make it load low in the sysHeap
|
|
|
|
theProc = GetResource(CTB_DITLPackType, CTB_DITLPackID);
|
|
if (theProc != nil) {
|
|
LoadResource(theProc); // in case it was purged
|
|
|
|
if (*theProc != nil) {
|
|
HLock(theProc);
|
|
(long) callProc = (long) theProc;
|
|
rval = (**callProc) (pDialog, hDITL, appendMethod, nItems, msg);
|
|
HUnlock(theProc);
|
|
}
|
|
}
|
|
return(rval);
|
|
}
|
|
|
|
pascal short __NuPLookup(Point where, const Str255 prompt, short numTypes,
|
|
const NLType typeList, nameFilterProcPtr nameFilter,
|
|
zoneFilterProcPtr zoneFilter, DlgHookProcPtr hookProc,
|
|
long userData, short dialogID, ModalFilterProcPtr filterProc,
|
|
NBPReply *theReply)
|
|
{
|
|
short rval = nlEject;
|
|
Handle theProc;
|
|
pascal short (**callProc) (Point, const Str255, short, const NLType,
|
|
nameFilterProcPtr, zoneFilterProcPtr,
|
|
DlgHookProcPtr, long, short, ModalFilterProcPtr,
|
|
NBPReply *);
|
|
|
|
// Resource is SysHeap (i.e. no _MoveHHi), Purgeable
|
|
// Originally marked locked to make it load low in the SysHeap
|
|
|
|
theProc = GetResource(CTB_NuLookupType, CTB_NuLookupID);
|
|
if (theProc != nil) {
|
|
LoadResource(theProc);
|
|
|
|
if (*theProc != nil) {
|
|
HLock(theProc);
|
|
(long) callProc = (long) theProc;
|
|
rval = (**callProc) (where, prompt, numTypes, typeList, nameFilter,
|
|
zoneFilter, hookProc, userData, dialogID, filterProc, theReply);
|
|
HUnlock(theProc);
|
|
}
|
|
}
|
|
return(rval);
|
|
}
|