home *** CD-ROM | disk | FTP | other *** search
/ Carousel / CAROUSEL.cdr / mactosh / lang / macproto.sit / MacProtos.h
Text File  |  1989-06-08  |  40KB  |  967 lines

  1. /* MacProtos.h */
  2.  
  3. /*
  4.     These ANSI C prototypes for the Macintosh toolbox functions are based
  5.     on Tech note 45, with additions for the 128K ROMs from Inside Mac V4.
  6.     They have been checked fairly carefully, uncovering a few misspellings
  7.     and other bugs in that tech note.
  8.  
  9.     Note:  I have made a few small changes and additions to MacTypes.
  10.     In particular, I think that ProcPtr should be a pointer to a
  11.     procedure, i.e., a function returning void.  I also defined the
  12.     type FilterProc to be a function returning a Boolean.
  13.  
  14.     Changes from the definitions in Inside Mac:  The functions NewWindow
  15.     and GetNewWindow take a pointer to a window record, or NIL to allocate
  16.     in the heap.  Inside Mac declares these as Ptr.  I made them WindowPeeks.
  17.     Likewise NewDialog and GetNewDialog ought to take DialogPeeks.  Finally,
  18.     UnloadSeg is documented as taking a Ptr.  I made it a ProcPtr.
  19.     I think that's it.  Please send any corrections to me:
  20.  
  21.     Stew Rubenstein
  22.     stew@lhasa.harvard.edu
  23.     seismo!harvardlhasa!stew
  24.  
  25.     David Oster: 
  26.     I've made a few calls take (void *) i.e, a pointer to anything
  27.         where it is appropriate BlockMove, FSRead, FSWrite...
  28.     I've taken out Stew's filterproc definition because it doesn't force the
  29.         necessary use of the "pascal" keyword.
  30.     
  31.     Bill Hofmann:
  32.     add void **s where appropriate (HLock, etc)
  33. */
  34. typedef ProcPtr FilterProc;
  35.  
  36. /* AppleTalk Manager [AM] */
  37.  
  38. #ifndef _MacProtos_
  39. #define _MacProtos_
  40.  
  41. #ifndef _MacTypes_
  42. #include <MacTypes.h>
  43. #endif
  44.  
  45. #ifdef _AppleTalk_
  46. pascal OSErr ATPAddRsp(ABRecHandle);
  47. pascal OSErr ATPCloseSocket(short atpSocket);
  48. pascal OSErr ATPGetRequest(ABRecHandle, Boolean);
  49. pascal OSErr ATPLoad(void);
  50. pascal OSErr ATPOpenSocket(AddrBlock addrRcvd, Byte *atpSocket);
  51. pascal OSErr ATPReqCancel(ABRecHandle, Boolean);
  52. pascal OSErr ATPRequest(ABRecHandle, Boolean);
  53. pascal OSErr ATPResponse(ABRecHandle, Boolean);
  54. pascal OSErr ATPRspCancel(ABRecHandle, Boolean);
  55. pascal OSErr ATPSndRequest(ABRecHandle, Boolean);
  56. pascal OSErr ATPSndRsp(ABRecHandle, Boolean);
  57. pascal OSErr ATPUnload(void);
  58. pascal OSErr DDPCloseSocket(short theSocket);
  59. pascal OSErr DDPOpenSocket(Byte *theSocket, Ptr sktListener);
  60. pascal OSErr DDPRdCancel(ABRecHandle);
  61. pascal OSErr DDPRead(ABRecHandle, Boolean retCksumErrs, Boolean);
  62. pascal OSErr DDPWrite(ABRecHandle, Boolean doChecksum, Boolean);
  63. pascal OSErr GetNodeAddress(short *myNode, short *myNet);
  64. pascal Boolean IsATPOpen(void);
  65. pascal Boolean IsMPPOpen(void);
  66. pascal OSErr LAPCloseProtocol(ABByte theLAPType);
  67. pascal OSErr LAPOpenProtocol(ABByte theLAPType, Ptr protoPtr);
  68. pascal OSErr LAPRdCancel(ABRecHandle);
  69. pascal OSErr LAPRead(ABRecHandle, Boolean);
  70. pascal OSErr LAPWrite(ABRecHandle, Boolean);
  71. pascal OSErr MPPClose(void);
  72. pascal OSErr MPPOpen(void);
  73. pascal OSErr NBPConfirm(ABRecHandle, Boolean);
  74. pascal OSErr NBPExtract(Ptr theBuffer, short numInBuf, short whichOne, EntityName *abEntity, AddrBlock *address);
  75. pascal OSErr NBPLoad(void);
  76. pascal OSErr NBPLookup(ABRecHandle, Boolean);
  77. pascal OSErr NBPRegister(ABRecHandle, Boolean);
  78. pascal OSErr NBPRemove(EntityPtr abEntity);
  79. pascal OSErr NBPUnload(void);
  80. #endif
  81.  
  82. /* Control Manager [CM] */
  83.  
  84. #ifdef _ControlMgr_
  85. pascal void DisposeControl(ControlHandle);
  86. pascal void DragControl(ControlHandle, Point start, Rect *limit, Rect *slop, short axis);
  87. pascal void Draw1Control(ControlHandle);
  88. pascal void DrawControls(WindowPtr);
  89. pascal short FindControl(Point where, WindowPtr, ControlHandle *ch);
  90. pascal long GetCRefCon(ControlHandle);
  91. pascal void GetCTitle(ControlHandle, StringPtr title);
  92. pascal ProcPtr GetCtlAction(ControlHandle);
  93. pascal short GetCtlMin(ControlHandle);
  94. pascal short GetCtlMax(ControlHandle);
  95. pascal short GetCtlValue(ControlHandle);
  96. pascal ControlHandle GetNewControl(short ID, WindowPtr wnd);
  97. pascal void HideControl(ControlHandle);
  98. pascal void HiliteControl(ControlHandle, short hiliteState);
  99. pascal void KillControls(WindowPtr);
  100. pascal void MoveControl(ControlHandle, short h, short v);
  101. pascal ControlHandle NewControl(WindowPtr, Rect *bounds, StringPtr title, Boolean vis, short val, short minimum, short maximum, short procID, long refCon);
  102. pascal void SetCRefCon(ControlHandle, long data);
  103. pascal void SetCTitle(ControlHandle, StringPtr title);
  104. pascal void SetCtlAction(ControlHandle, ProcPtr actionProc);
  105. pascal void SetCtlMax(ControlHandle, short);
  106. pascal void SetCtlMin(ControlHandle, short);
  107. pascal void SetCtlValue(ControlHandle, short);
  108. pascal void ShowControl(ControlHandle);
  109. pascal void SizeControl(ControlHandle, short w, short h);
  110. pascal short TestControl(ControlHandle, Point);
  111. pascal short TrackControl(ControlHandle, Point start, ProcPtr actionProc);
  112. pascal void UpdtControl(WindowPtr, RgnHandle);
  113. #endif
  114.  
  115. /* Desk Manager [DS] */
  116.  
  117. #ifdef _DeskMgr_
  118. pascal void CloseDeskAcc(short refnum);
  119. pascal short OpenDeskAcc(StringPtr theAcc);
  120. pascal void SystemClick(EventRecord *theEvent, WindowPtr);
  121. pascal Boolean SystemEdit(short editCmd);
  122. pascal Boolean SystemEvent(EventRecord *theEvent);
  123. pascal void SystemMenu(long menuResult);
  124. pascal void SystemTask(void);
  125. #endif
  126.  
  127. /* Dialog Manager [DL] */
  128.  
  129. #ifdef _DialogMgr_
  130. pascal short Alert(short alertID, FilterProc filterProc);
  131. pascal short CautionAlert(short alertID, FilterProc filterProc);
  132. pascal void CloseDialog(DialogPtr);
  133. pascal void CouldAlert(short alertID);
  134. pascal void CouldDialog(short dialogID);
  135. #ifdef _EventMgr_
  136. pascal Boolean DialogSelect(EventRecord *theEvent, DialogPtr *theDialog, short *itemHit);
  137. #endif
  138. pascal void DisposDialog(DialogPtr);
  139. pascal void DlgCut(DialogPtr);
  140. pascal void DlgCopy(DialogPtr);
  141. pascal void DlgDelete(DialogPtr);
  142. pascal void DlgPaste(DialogPtr);
  143. pascal void DrawDialog(DialogPtr);
  144. pascal void ErrorSound(ProcPtr soundProc);
  145. pascal short FindDItem(DialogPtr, Point);
  146. pascal void FreeAlert(short alertID);
  147. pascal void FreeDialog(short dialogID);
  148. pascal short GetAlrtStage(void);
  149. pascal void GetDItem(DialogPtr, short itemNo, short *itemType, Handle *item, Rect *box);
  150. pascal void GetIText(Handle item, StringPtr text);
  151. pascal DialogPtr GetNewDialog(short dlogID, DialogPeek dStorage, WindowPtr behind);
  152. pascal void HideDItem(DialogPtr, short itemNo);
  153. pascal void InitDialogs(ProcPtr resumeProc);
  154. #ifdef _EventMgr_
  155. pascal Boolean IsDialogEvent(EventRecord *theEvent);
  156. #endif
  157. pascal void ModalDialog(FilterProc filterProc, short *itemHit);
  158. pascal DialogPtr NewDialog(DialogPeek dStorage, Rect *bounds, StringPtr title, Boolean vis, short procID, WindowPtr behind, Boolean goAway, long refCon, Handle items);
  159. pascal short NoteAlert(short alertID, FilterProc filterProc);
  160. pascal void ParamText(StringPtr pm0, StringPtr pm1, StringPtr pm2, StringPtr pm3);
  161. pascal void ResetAlrtStage(void);
  162. pascal void SelIText(DialogPtr, short itemNo, short strtSel, short endSel);
  163. pascal void SetDAFont(short fontNum);
  164. pascal void SetDItem(DialogPtr, short itemNo, short itemType, Handle item, Rect *box);
  165. pascal void SetIText(Handle item, StringPtr text);
  166. pascal void ShowDItem(DialogPtr, short itemNo);
  167. pascal short StopAlert(short alertID, FilterProc filterProc);
  168. pascal void UpdtDialog(DialogPtr, RgnHandle updateRgn);
  169. #endif
  170.  
  171. /* Disk Driver [DD] */
  172.  
  173. #ifdef _DiskDvr_
  174. pascal OSErr DiskEject(short drvNum);
  175. pascal OSErr SetTagBuffer(Ptr buffPtr);
  176. pascal OSErr DriveStatus(short drvNum, DrvSts *stat);
  177. #endif
  178.  
  179. /* Event Manager/OS [OE] */
  180.  
  181. #ifdef _EventMgr_
  182. pascal void FlushEvents(short evtMask, short stopMask);
  183. #ifdef _OSUtil_
  184. pascal QHdrPtr GetEvQHdr(void);
  185. #endif
  186. pascal Boolean GetOSEvent(short evtMask, EventRecord *Evt);
  187. pascal Boolean OSEventAvail(short evtMask, EventRecord *Evt);
  188. pascal OSErr PostEvent(short evtCode, long evtMsg);
  189. pascal OSErr PPostEvent(short evtCode, long evtMsg, EvQEl **qEl);
  190. pascal void SetEventMask(short theMask);
  191.  
  192. /* Event Manager/Toolbox [EM] */
  193.  
  194. pascal Boolean Button(void);
  195. pascal Boolean EventAvail(short evtMask, EventRecord *Evt);
  196. pascal long GetCaretTime(void);
  197. pascal long GetDblTime(void);
  198. pascal void GetKeys(KeyMap *theKeys);
  199. pascal void GetMouse(Point *mouseLoc);
  200. pascal Boolean GetNextEvent(short evtMask, EventRecord *Evt);
  201. pascal Boolean StillDown(void);
  202. pascal long TickCount(void);
  203. pascal Boolean WaitMouseUp(void);
  204. #endif
  205.  
  206. /* File/Device Manager [FL/DV] */
  207.  
  208. #ifdef _FileMgr_
  209. pascal OSErr Allocate(short refnum, long *count);
  210. pascal OSErr CloseDriver(short refNum);
  211. pascal OSErr Control(short refNum, short csCode, Ptr csParamPtr);
  212. pascal OSErr Create(StringPtr fileName, short vRef, OSType creator, OSType fileType);
  213. pascal OSErr Eject(StringPtr volName, short vRef);
  214. pascal OSErr FlushVol(StringPtr volName, short vRef);
  215. pascal OSErr FSClose(short ref);
  216. pascal OSErr FSDelete(StringPtr fileName, short vRef);
  217. pascal OSErr FSOpen(StringPtr fileName, short vRef, short *ref);
  218. pascal OSErr FSRead(short refnum, long *count, void *buffPtr);
  219. pascal OSErr FSWrite(short refnum, long *count, void *buffPtr);
  220. #ifdef _DeviceMgr_
  221. pascal DCtlHandle GetDCtlEntry(short refNum);
  222. #endif
  223. pascal OSErr GetEOF(short refnum, long *logEOF);
  224. pascal OSErr GetFInfo(StringPtr fileName, short vRef, FInfo *fndInfo);
  225. pascal OSErr GetFPos(short refnum, long *filePos);
  226. #ifdef _OSUtil_
  227. pascal QHdrPtr GetDrvHdr(void);
  228. pascal QHdrPtr GetFSQHdr(void);
  229. pascal QHdrPtr GetVCBQHdr(void);
  230. #endif
  231. pascal OSErr GetVInfo(short drvNum, StringPtr volName, short *vRef, long *freeBytes);
  232. pascal OSErr GetVol(StringPtr volName, short *vRef);
  233. pascal OSErr GetVRefNum(short pathRef, short *vRef);
  234. pascal OSErr KillIO(short refNum);
  235. pascal OSErr OpenDriver(StringPtr name, short *refNum);
  236. pascal OSErr OpenRF(StringPtr fileName, short vRef, short *ref);
  237. pascal OSErr Rename(StringPtr oldName, short vRef, StringPtr newName);
  238. pascal OSErr RstFLock(StringPtr fileName, short vRef);
  239. pascal OSErr SetEOF(short refnum, long logEOF);
  240. pascal OSErr SetFInfo(StringPtr fileName, short vRef, FInfo *fndInfo);
  241. pascal OSErr SetFLock(StringPtr fileName, short vRef);
  242. pascal OSErr SetFPos(short refnum, short posMode, long posOff);
  243. pascal OSErr SetVol(StringPtr volName, short vRef);
  244. pascal OSErr Status(short refNum, short csCode, Ptr csParamPtr);
  245. pascal OSErr UnMountVol(StringPtr volName, short vRef);
  246. pascal void FInitQueue(void);
  247. pascal OSErr PBAllocate(ParmBlkPtr, Boolean);
  248. pascal OSErr PBAllocContig(ParmBlkPtr, Boolean);
  249. pascal OSErr PBClose(ParmBlkPtr, Boolean);
  250. pascal OSErr PBControl( ParmBlkPtr, Boolean);
  251. pascal OSErr PBCreate(ParmBlkPtr, Boolean);
  252. pascal OSErr PBDelete(ParmBlkPtr, Boolean);
  253. pascal OSErr PBEject(ParmBlkPtr);
  254. pascal OSErr PBFlushFile(ParmBlkPtr, Boolean);
  255. pascal OSErr PBFlushVol(ParmBlkPtr, Boolean);
  256. pascal OSErr PBGetEOF(ParmBlkPtr, Boolean);
  257. pascal OSErr PBGetVInfo(ParmBlkPtr, Boolean);
  258. pascal OSErr PBGetFInfo(ParmBlkPtr, Boolean);
  259. pascal OSErr PBGetFPos(ParmBlkPtr, Boolean);
  260. pascal OSErr PBGetVol(ParmBlkPtr, Boolean);
  261. pascal OSErr PBKillIO(ParmBlkPtr, Boolean);
  262. pascal OSErr PBMountVol(ParmBlkPtr);
  263. pascal OSErr PBOffLine(ParmBlkPtr);
  264. pascal OSErr PBOpen(ParmBlkPtr, Boolean);
  265. pascal OSErr PBOpenRF(ParmBlkPtr, Boolean);
  266. pascal OSErr PBRead(ParmBlkPtr, Boolean);
  267. pascal OSErr PBRename(ParmBlkPtr, Boolean);
  268. pascal OSErr PBRstFLock(ParmBlkPtr, Boolean);
  269. pascal OSErr PBSetEOF(ParmBlkPtr, Boolean);
  270. pascal OSErr PBSetFInfo(ParmBlkPtr, Boolean);
  271. pascal OSErr PBSetFLock(ParmBlkPtr, Boolean);
  272. pascal OSErr PBSetFPos(ParmBlkPtr, Boolean);
  273. pascal OSErr PBSetFVers(ParmBlkPtr, Boolean);
  274. pascal OSErr PBSetVol(ParmBlkPtr, Boolean);
  275. pascal OSErr PBStatus(ParmBlkPtr, Boolean);
  276. pascal OSErr PBUnMountVol(ParmBlkPtr);
  277. pascal OSErr PBWrite(ParmBlkPtr, Boolean);
  278. pascal OSErr PBLockRange(ParmBlkPtr, Boolean);
  279. pascal OSErr PBUnlockRange(ParmBlkPtr, Boolean);
  280. #endif
  281. #ifdef _HFS_
  282. pascal OSErr PBHGetVInfo(HParmBlkPtr, Boolean);
  283. pascal OSErr PBHGetVol(WDPBPtr, Boolean);
  284. pascal OSErr PBHSetVol(WDPBPtr, Boolean);
  285. pascal OSErr PBHOpen(HParmBlkPtr, Boolean);
  286. pascal OSErr PBHOpenRF(HParmBlkPtr, Boolean);
  287. pascal OSErr PBHCreate(HParmBlkPtr, Boolean);
  288. pascal OSErr PBDirCreate(HParmBlkPtr, Boolean);
  289. pascal OSErr PBHDelete(HParmBlkPtr, Boolean);
  290. pascal OSErr PBHGetFInfo(HParmBlkPtr, Boolean);
  291. pascal OSErr PBHSetFInfo(HParmBlkPtr, Boolean);
  292. pascal OSErr PBHRstFLock(HParmBlkPtr, Boolean);
  293. pascal OSErr PBHSetFLock(HParmBlkPtr, Boolean);
  294. pascal OSErr PBHRename(HParmBlkPtr, Boolean);
  295. pascal OSErr PBGetCatInfo(CInfoPBPtr, Boolean);
  296. pascal OSErr PBSetCatInfo(CInfoPBPtr, Boolean);
  297. pascal OSErr PBCatMove(CMovePBPtr, Boolean);
  298. pascal OSErr PBOpenWD(WDPBPtr, Boolean);
  299. pascal OSErr PBCloseWD(WDPBPtr, Boolean);
  300. pascal OSErr PBGetWDInfo(WDPBPtr, Boolean);
  301. pascal OSErr PBGetFCBInfo(FCBPBPtr, Boolean);
  302. #endif
  303.  
  304. /* Font Manager [FM] */
  305.  
  306. #ifdef _FontMgr_
  307. pascal FMOutPtr FMSwapFont(FMInput *inRec);
  308. pascal void GetFNum(StringPtr fontName, short *theNum);
  309. pascal void GetFontName(short fontNum, StringPtr theName);
  310. pascal void InitFonts(void);
  311. pascal Boolean RealFont(short fontNum, short size);
  312. pascal void SetFontLock(Boolean lockFlag);
  313. pascal void FontMetrics(FMetricRec *theMetrics);
  314. pascal void SetFScaleDisable(Boolean);
  315. pascal void SetFractEnable(Boolean);
  316. #endif
  317.  
  318. /* List Manager [LM] */
  319.  
  320. #ifdef _ListMgr_
  321. pascal ListHandle LNew(Rect *rView, Rect *dataBounds, Point cSize, short theProc, WindowPtr theWindow, Boolean drawIt, Boolean hasGrow, Boolean scrollHoriz, Boolean scrollVert);
  322. pascal void LDispose(ListHandle);
  323. pascal short LAddColumn(short count, short colNum, ListHandle);
  324. pascal short LAddRow(short count, short rowNum, ListHandle);
  325. pascal void LDelColumn(short count, short colNum, ListHandle);
  326. pascal void LDelRow(short count, short rowNum, ListHandle);
  327. pascal void LAddToCell(Ptr data, short dataLen, Cell, ListHandle);
  328. pascal void LClrCell(Cell, ListHandle);
  329. pascal void LGetCell(Ptr data, short *dataLen, Cell, ListHandle);
  330. pascal void LSetCell(Ptr data, short dataLen, Cell, ListHandle);
  331. pascal void LCellSize(Point, ListHandle);
  332. pascal Boolean LGetSelect(Boolean next, Cell *, ListHandle);
  333. pascal void LSetSelect(Boolean setIt, Cell, ListHandle);
  334. pascal Boolean LClick(Point, short modifiers, ListHandle);
  335. pascal long LLastClick(ListHandle); /* really returns a Cell */
  336. pascal void LFind(short *offset, short *len, Cell, ListHandle);
  337. pascal Boolean LNextCell(Boolean hNext, Boolean vNext, Cell *, ListHandle);
  338. pascal void LRect(Rect *, Cell, ListHandle);
  339. pascal Boolean LSearch(Ptr dataPtr, short dataLen, ProcPtr searchProc, Cell *, ListHandle);
  340. pascal void LSize(short listWidth, short listHeight, ListHandle);
  341. pascal void LDraw(Cell, ListHandle);
  342. pascal void LDoDraw(Boolean drawIt, ListHandle);
  343. pascal void LScroll(short dCols, short dRows, ListHandle);
  344. pascal void LAutoScroll(ListHandle);
  345. pascal void LUpdate(RgnHandle, ListHandle);
  346. pascal void LActivate(Boolean, ListHandle);
  347. #endif
  348.  
  349. /* Memory Manager [MM] */
  350.  
  351. #ifdef _MemoryMgr_
  352. pascal THz ApplicZone(void);
  353. pascal void BlockMove(void *sourcePtr, void *destPtr, Size byteCount);
  354. pascal Size CompactMem(Size cbNeeded);
  355. pascal void DisposHandle(Handle);
  356. pascal void DisposPtr(void *);
  357. pascal void EmptyHandle(Handle);
  358. pascal long FreeMem(void);
  359. pascal Ptr GetApplLimit(void);
  360. pascal Size GetHandleSize(Handle);
  361. pascal Size GetPtrSize(Ptr);
  362. pascal THz GetZone(void);
  363. pascal Handle GZSaveHnd(void);
  364. pascal THz HandleZone(Handle);
  365. pascal void HClrRBit(Handle);
  366. pascal SignedByte HGetState(Handle);
  367. pascal void HLock(Handle);
  368. pascal void HNoPurge(Handle);
  369. pascal void HPurge(Handle);
  370. pascal void HSetRBit(Handle);
  371. pascal void HSetState(Handle, SignedByte flags);
  372. pascal void HUnlock(Handle);
  373. pascal void InitApplZone(void);
  374. pascal void InitZone(ProcPtr, short cMoreMstrs, Ptr limitPtr, Ptr startPtr);
  375. pascal void MaxApplZone(void);
  376. pascal long MaxBlock(void);
  377. pascal Size MaxMem(Size *grow);
  378. pascal OSErr MemError(void);
  379. pascal void MoreMasters(void);
  380. pascal void MoveHHi(Handle);
  381. pascal Handle NewEmptyHandle(void);
  382. pascal Handle NewHandle(Size logicalSize);
  383. pascal Ptr NewPtr(Size logicalSize);
  384. pascal THz PtrZone(Ptr);
  385. pascal void PurgeMem(Size cbNeeded);
  386. pascal void PurgeSpace(long *total, long *contig);
  387. pascal void ReallocHandle(Handle, Size logicalSize);
  388. pascal Handle RecoverHandle(Ptr);
  389. pascal void ResrvMem(Size cbNeeded);
  390. pascal void SetApplBase(Ptr startPtr);
  391. pascal void SetApplLimit(Ptr zoneLimit);
  392. pascal void SetGrowZone(ProcPtr);
  393. pascal void SetHandleSize(Handle, Size newSize);
  394. pascal void SetPtrSize(Ptr, Size newSize);
  395. pascal void SetZone(THz);
  396. pascal long StackSpace(void);
  397. pascal THz SystemZone(void);
  398. pascal Ptr TopMem(void);
  399. #endif
  400.  
  401. /* Menu Manager [MN] */
  402.  
  403. #ifdef _MenuMgr_
  404. pascal void AddResMenu(MenuHandle, ResType);
  405. pascal void AppendMenu(MenuHandle, StringPtr data);
  406. pascal void CalcMenuSize(MenuHandle);
  407. pascal void CheckItem(MenuHandle, short item, Boolean checked);
  408. pascal void ClearMenuBar(void);
  409. pascal short CountMItems(MenuHandle);
  410. pascal void DeleteMenu(short menuID);
  411. pascal void DelMenuItem(MenuHandle, short item);
  412. pascal void DisableItem(MenuHandle, short item);
  413. pascal void DisposeMenu(MenuHandle);
  414. pascal void DrawMenuBar(void);
  415. pascal void EnableItem(MenuHandle, short item);
  416. pascal void FlashMenuBar(short menuID);
  417. pascal void GetItem(MenuHandle, short item, StringPtr itemString);
  418. pascal void GetItemIcon(MenuHandle, short item, short *icon);
  419. pascal void GetItemMark(MenuHandle, short item, short *markChar);
  420. pascal void GetItemStyle(MenuHandle, short item, short *chStyle);
  421. pascal MenuHandle GetMenu(short resourceID);
  422. pascal Handle GetMenuBar(void);
  423. pascal MenuHandle GetMHandle(short menuID);
  424. pascal Handle GetNewMBar(short menuBarID);
  425. pascal void HiliteMenu(short menuID);
  426. pascal void InitMenus(void);
  427. pascal void InsertMenu(MenuHandle, short beforeID);
  428. pascal void InsertResMenu(MenuHandle, ResType, short afterItem);
  429. pascal void InsMenuItem(MenuHandle, StringPtr, short afterItem);
  430. pascal long MenuKey(short);
  431. pascal long MenuSelect(Point startPt);
  432. pascal MenuHandle NewMenu(short menuID, StringPtr title);
  433. pascal void SetItem(MenuHandle, short item, StringPtr itemString);
  434. pascal void SetItemIcon(MenuHandle, short item, short icon);
  435. pascal void SetItemStyle(MenuHandle, short item, short chStyle);
  436. pascal void SetItemMark(MenuHandle, short item, short markChar);
  437. pascal void SetMenuBar(Handle menuList);
  438. pascal void SetMenuFlash(short count);
  439. #endif
  440.  
  441. /* OS Utilities [OU] */
  442.  
  443. #ifdef _OSUtil_
  444. pascal void Date2Secs(DateTimeRec *date, long *secs);
  445. pascal void Delay(long numTicks, long *finalTicks);
  446. pascal OSErr DeQueue(QElemPtr qEntry, QHdrPtr theQueue);
  447. pascal void Enqueue(QElemPtr qEntry, QHdrPtr theQueue);
  448. pascal void Environs(short *rom, short *machine);
  449. pascal Boolean EqualString(StringPtr aStr, StringPtr bStr, Boolean caseSens, Boolean diacSens);
  450. pascal void GetDateTime(long *secs);
  451. pascal SysPPtr GetSysPPtr(void);
  452. pascal void GetTime(DateTimeRec *date);
  453. pascal long GetTrapAddress(short trapNum);
  454. pascal OSErr HandAndHand(Handle aHandle, Handle bHandle);
  455. pascal OSErr HandToHand(Handle *h);
  456. pascal OSErr InitUtil(void);
  457. /****** TrapType is undefined !!!!
  458. pascal long NGetTrapAddress(short trapNum, TrapType);
  459. pascal void NSetTrapAddress(long trapAddr, short trapNum, TrapType);
  460.  ***** TrapType is undefined !!!! */
  461. pascal OSErr PtrAndHand(void *, Handle, long size);
  462. pascal OSErr PtrToHand(void *srcPtr, Handle *dstHandle, long size);
  463. pascal OSErr PtrToXHand(void *srcPtr, Handle dstHandle, long size);
  464. pascal OSErr ReadDateTime(long *secs);
  465. pascal short RelString(StringPtr aStr, StringPtr bStr, Boolean caseSens, Boolean diacSens);
  466. pascal void Restart(void);
  467. pascal void Secs2Date(long secs, DateTimeRec *date);
  468. pascal OSErr SetDateTime(long secs);
  469. pascal void SetTime(DateTimeRec *date);
  470. pascal void SetTrapAddress(long trapAddr, short trapNum);
  471. pascal void SysBeep(short duration);
  472. pascal void UprString(StringPtr, Boolean diacSens);
  473. pascal OSErr WriteParam(void);
  474. #endif
  475.  
  476. /* Package Manager [PK] */
  477.  
  478. pascal short DIBadMount(Point where, long evtMessage);
  479. pascal OSErr DIFormat(short drvNum);
  480. pascal void DILoad(void);
  481. pascal void DIUnload(void);
  482. pascal OSErr DIVerify(short drvNum);
  483. pascal OSErr DIZero(short drvNum, StringPtr volName);
  484. pascal void InitAllPacks(void);
  485. pascal void NumToString(long, StringPtr s);
  486. pascal void StringToNum(StringPtr, long *n);
  487.  
  488. #ifdef _PackageMgr_
  489. pascal void InitPack(short packID);
  490. #endif
  491.  
  492. #ifdef _IntlPkg_
  493. pascal short IUCompString(StringPtr aStr, StringPtr bStr);
  494. pascal void IUDateString(long dateTime, DateForm form, StringPtr result);
  495. pascal void IUDatePString(long dateTime, DateForm form, StringPtr result, Handle intlParam);
  496. pascal short IUEqualString(StringPtr aStr, StringPtr bStr);
  497. pascal Handle IUGetIntl(short theID);
  498. pascal short IUMagString(Ptr aPtr, Ptr bPtr, short aLen, short bLen);
  499. pascal short IUMagIDString(Ptr aPtr, Ptr bPtr, short aLen, short bLen);
  500. pascal Boolean IUMetric(void);
  501. pascal void IUSetIntl(short refNum, short theID, Handle intlParam);
  502. pascal void IUTimeString(long dateTime, Boolean wantSeconds, StringPtr result);
  503. pascal void IUTimePString(long dateTime, Boolean wantSeconds, StringPtr result, Handle intlParam);
  504. #endif
  505.  
  506. #ifdef _StdFilePkg_
  507. pascal void SFGetFile(Point where, StringPtr prompt, FilterProc fileFilter, short numTypes, SFTypeList *typeList, ProcPtr dlgHook, SFReply *reply);
  508. pascal void SFPutFile(Point where, StringPtr prompt, StringPtr origName, ProcPtr dlgHook, SFReply *reply);
  509. pascal void SFPGetFile(Point where, StringPtr prompt, FilterProc fileFilter, short numTypes, SFTypeList *typeList, ProcPtr dlgHook, SFReply *reply, short dlgID, FilterProc filterProc);
  510. pascal void SFPPutFile(Point where, StringPtr prompt, StringPtr origName, ProcPtr dlgHook, SFReply *reply, short dlgID, FilterProc filterProc);
  511. #endif
  512.  
  513. /* Print Manager [PR] */
  514.  
  515. #ifdef _PrintMgr_
  516. pascal void PrClose(void);
  517. pascal void PrintDefault(THPrint);
  518. pascal void PrCloseDoc(TPPrPort);
  519. pascal void PrClosePage(TPPrPort);
  520. pascal void PrCtlCall(short iWhichCtl, long lparm1, long lparm2, long lparm3);
  521. pascal void PrDrvrClose(void);
  522. pascal Handle PrDrvrDCE(void);
  523. pascal void PrDrvrOpen(void);
  524. pascal short PrDrvrVers(void);
  525. pascal short PrError(void);
  526. pascal Boolean PrJobDialog(THPrint);
  527. pascal void PrJobMerge(THPrint hPrintSrc, THPrint hPrintDst);
  528. pascal void PrOpen(void);
  529. pascal TPPrPort PrOpenDoc(THPrint, TPPrPort, Ptr pIOBuf);
  530. pascal void PrOpenPage(TPPrPort, TPRect pPageFrame);
  531. pascal void PrPicFile(THPrint, TPPrPort, Ptr pIOBuf, Ptr pDevBuf, TPrStatus *prStatus);
  532. pascal void PrSetError(short iErr);
  533. pascal Boolean PrStlDialog(THPrint);
  534. pascal Boolean PrValidate(THPrint);
  535. #endif
  536.  
  537. /* QuickDraw [QD] */
  538.  
  539. #ifdef _Quickdraw_
  540. pascal void AddPt(Point srcPt, Point *dstPt);
  541. pascal void BackColor(long color);
  542. pascal void BackPat(Pattern *pat);
  543. pascal short CharWidth(short ch);
  544. pascal void ClipRect(Rect *r);
  545. pascal void ClosePicture(void);
  546. pascal void ClosePoly(void);
  547. pascal void ClosePort(GrafPtr);
  548. pascal void CloseRgn(RgnHandle);
  549. pascal void ColorBit(short whichBit);
  550. pascal void CopyBits(BitMap *srcBits, BitMap *dstBits, Rect *srcRect, Rect *dstRect, short mode, RgnHandle maskRgn);
  551. pascal void CopyRgn(RgnHandle srcRgn, RgnHandle dstRgn);
  552. pascal void DiffRgn(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn);
  553. pascal void DisposeRgn(RgnHandle);
  554. pascal void DrawChar(short ch);
  555. pascal void DrawPicture(PicHandle, Rect *dstRect);
  556. pascal void DrawString(StringPtr);
  557. pascal void DrawText(Ptr textBuf, short firstByte, short byteCount);
  558. pascal Boolean EmptyRect(Rect *r);
  559. pascal Boolean EmptyRgn(RgnHandle);
  560. pascal Boolean EqualPt(Point pt1, Point pt2);
  561. pascal Boolean EqualRect(Rect *Rect1, Rect *Rect2);
  562. pascal Boolean EqualRgn(RgnHandle rgnA, RgnHandle rgnB);
  563. pascal void EraseArc(Rect *r, short startAngle, short arcAngle);
  564. pascal void EraseOval(Rect *r);
  565. pascal void ErasePoly(PolyHandle);
  566. pascal void EraseRect(Rect *r);
  567. pascal void EraseRgn(RgnHandle);
  568. pascal void EraseRoundRect(Rect *r, short ovalWidth, short ovalHeight);
  569. pascal void FillArc(Rect *r, short startAngle, short arcAngle, Pattern *pat);
  570. pascal void FillOval(Rect *r, Pattern *pat);
  571. pascal void FillPoly(PolyHandle, Pattern *pat);
  572. pascal void FillRect(Rect *r, Pattern *pat);
  573. pascal void FillRgn(RgnHandle, Pattern *pat);
  574. pascal void FillRoundRect(Rect *r, short ovalWidth, short ovalHeight, Pattern *pat);
  575. pascal void ForeColor(long color);
  576. pascal void FrameArc(Rect *r, short startAngle, short arcAngle);
  577. pascal void FrameOval(Rect *r);
  578. pascal void FramePoly(PolyHandle);
  579. pascal void FrameRect(Rect *r);
  580. pascal void FrameRgn(RgnHandle);
  581. pascal void FrameRoundRect(Rect *r, short ovalWidth, short ovalHeight);
  582. pascal void GetClip(RgnHandle);
  583. pascal void GetFontInfo(FontInfo *info);
  584. pascal void GetPen(Point *p);
  585. pascal void GetPenState(PenState *pnState);
  586. pascal Boolean GetPixel(short h, short v);
  587. pascal void GetPort(GrafPtr *port);
  588. pascal void GlobalToLocal(Point *p);
  589. pascal void GrafDevice(short device);
  590. pascal void HideCursor(void);
  591. pascal void HidePen(void);
  592. pascal void InitCursor(void);
  593. pascal void InitGraf(Ptr GlobalPtr);
  594. pascal void InitPort(GrafPtr);
  595. pascal void InsetRect(Rect *r, short dh, short dv);
  596. pascal void InsetRgn(RgnHandle, short dh, short dv);
  597. pascal void InvertArc(Rect *r, short startAngle, short arcAngle);
  598. pascal void InvertOval(Rect *r);
  599. pascal void InvertPoly(PolyHandle);
  600. pascal void InvertRect(Rect *r);
  601. pascal void InvertRgn(RgnHandle);
  602. pascal void InvertRoundRect(Rect *r, short ovalWidth, short ovalHeight);
  603. pascal void KillPicture(PicHandle);
  604. pascal void KillPoly(PolyHandle);
  605. pascal void Line(short dh, short dv);
  606. pascal void LineTo(short h, short v);
  607. pascal void LocalToGlobal(Point *p);
  608. pascal void MapPoly(PolyHandle, Rect *srcRect, Rect *dstRect);
  609. pascal void MapPt(Point *p, Rect *srcRect, Rect *dstRect);
  610. pascal void MapRect(Rect *r, Rect *srcRect, Rect *dstRect);
  611. pascal void MapRgn(RgnHandle, Rect *srcRect, Rect *dstRect);
  612. pascal void Move(short dh, short dv);
  613. pascal void MovePortTo(short leftGlobal, short topGlobal);
  614. pascal void MoveTo(short h, short v);
  615. pascal RgnHandle NewRgn(void);
  616. pascal void ObscureCursor(void);
  617. pascal void OffsetPoly(PolyHandle, short dh, short dv);
  618. pascal void OffsetRect(Rect *r, short dh, short dv);
  619. pascal void OffsetRgn(RgnHandle, short dh, short dv);
  620. pascal PicHandle OpenPicture(Rect *picFrame);
  621. pascal PolyHandle OpenPoly(void);
  622. pascal void OpenPort(GrafPtr);
  623. pascal void OpenRgn(void);
  624. pascal void PaintArc(Rect *r, short startAngle, short arcAngle);
  625. pascal void PaintOval(Rect *r);
  626. pascal void PaintPoly(PolyHandle);
  627. pascal void PaintRect(Rect *r);
  628. pascal void PaintRgn(RgnHandle);
  629. pascal void PaintRoundRect(Rect *r, short ovalWidth, short ovalHeight);
  630. pascal void PenMode(short mode);
  631. pascal void PenNormal(void);
  632. pascal void PenPat(Pattern *pat);
  633. pascal void PenSize(short width, short height);
  634. pascal void PicComment(short kind, short datasize, Handle dataHandle);
  635. pascal void PortSize(short width, short height);
  636. pascal void Pt2Rect(Point pt1, Point pt2, Rect *dstRect);
  637. pascal Boolean PtInRect(Point, Rect *r);
  638. pascal Boolean PtInRgn(Point, RgnHandle);
  639. pascal void PtToAngle(Rect *r, Point, short *angle);
  640. pascal short Random(void);
  641. pascal Boolean RectInRgn(Rect *r, RgnHandle);
  642. pascal void RectRgn(RgnHandle, Rect *r);
  643. pascal void ScalePt(Point *p, Rect *srcRect, Rect *dstRect);
  644. pascal void ScrollRect(Rect *r, short dh, short dv, RgnHandle updateRgn);
  645. pascal Boolean SectRect(Rect *src1, Rect *src2, Rect *dstRect);
  646. pascal void SectRgn(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn);
  647. pascal void SetClip(RgnHandle);
  648. pascal void SetCursor(Cursor *c);
  649. pascal void SetEmptyRgn(RgnHandle);
  650. pascal void SetOrigin(short h, short v);
  651. pascal void SetPenState(PenState *pnState);
  652. pascal void SetPort(GrafPtr);
  653. pascal void SetPortBits(BitMap *bm);
  654. pascal void SetPt(Point *p, short h, short v);
  655. pascal void SetRect(Rect *r, short left, short top, short right, short bottom);
  656. pascal void SetRectRgn(RgnHandle, short left, short top, short right, short bottom);
  657. pascal void SetStdProcs(QDProcs *procs);
  658. pascal void ShowCursor(void);
  659. pascal void ShowPen(void);
  660. pascal void SpaceExtra(Fixed extra);
  661. pascal void StdArc(GrafVerb, Rect *r, short startAngle, short arcAngle);
  662. pascal void StdBits(BitMap *srcBits, Rect *srcRect, Rect *dstRect, short mode, RgnHandle maskRgn);
  663. pascal void StdComment(short kind, short dataSize, Handle dataHandle);
  664. pascal void StdGetPic(Ptr dataPtr, short byteCount);
  665. pascal void StdLine(Point newPt);
  666. pascal void StdOval(GrafVerb, Rect *r);
  667. pascal void StdPoly(GrafVerb, PolyHandle);
  668. pascal void StdPutPic(Ptr dataPtr, short byteCount);
  669. pascal void StdRect(GrafVerb, Rect *r);
  670. pascal void StdRgn(GrafVerb, RgnHandle);
  671. pascal void StdRRect(GrafVerb, Rect *r, short ovalwidth, short ovalheight);
  672. pascal void StdText(short byteCount, Ptr textBuf, Point numer, Point denom);
  673. pascal short StdTxMeas(short byteCount, Ptr textAddr, Point *numer, Point *denom, FontInfo *info);
  674. pascal short StringWidth(StringPtr);
  675. pascal void StuffHex(Ptr thingPtr, StringPtr);
  676. pascal void SubPt(Point srcPt, Point *dstPT);
  677. pascal void TextFace(short face);
  678. pascal void TextFont(short font);
  679. pascal void TextMode(short mode);
  680. pascal void TextSize(short size);
  681. pascal short TextWidth(Ptr textBuf, short firstByte, short byteCount);
  682. pascal void UnionRect(Rect *src1, Rect *src2, Rect *dstRect);
  683. pascal void UnionRgn(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn);
  684. pascal void XorRgn(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn);
  685. pascal void SeedFill(Ptr srcPtr, Ptr dstPtr, short srcRow, short dstRow, short height, short words, short seedH, short seedV);
  686. pascal void CalcMask(Ptr srcPtr, Ptr dstPtr, short srcRow, short dstRow, short height, short words);
  687. pascal void CopyMask(BitMap *srcBits, BitMap *maskBits, BitMap *dstBits, Rect *srcRect, Rect *maskRect, Rect *dstRect);
  688. pascal void MeasureText(short count, Ptr textAddr, Ptr charLocs);
  689. #endif
  690.  
  691. /* Resource Manager [RM] */
  692.  
  693. #ifdef _ResourceMgr_
  694. pascal void AddResource(Handle theData, ResType, short theID, StringPtr name);
  695. pascal void ChangedResource(Handle theResource);
  696. pascal void CloseResFile(short refNum);
  697. pascal short CountResources(ResType);
  698. pascal short CountTypes(void);
  699. pascal void CreateResFile(StringPtr fileName);
  700. pascal short CurResFile(void);
  701. pascal void DetachResource(Handle theResource);
  702. pascal Handle GetIndResource(ResType, short index);
  703. pascal void GetIndType(ResType *, short index);
  704. pascal Handle GetNamedResource(ResType, StringPtr name);
  705. pascal short GetResAttrs(Handle theResource);
  706. pascal short GetResFileAttrs(short refNum);
  707. pascal void GetResInfo(Handle theResource, short *theID, ResType *theType, StringPtr name);
  708. pascal Handle GetResource(ResType, short theID);
  709. pascal short HomeResFile(Handle theResource);
  710. pascal short InitResources(void);
  711. pascal void LoadResource(Handle theResource);
  712. pascal short OpenResFile(StringPtr fileName);
  713. pascal void ReleaseResource(Handle theResource);
  714. pascal void RmveResource(Handle theResource);
  715. pascal short ResError(void);
  716. pascal void RsrcZoneInit(void);
  717. pascal void SetResAttrs(Handle theResource, short attrs);
  718. pascal void SetResFileAttrs(short refNum, short attrs);
  719. pascal void SetResInfo(Handle theResource, short theID, StringPtr name);
  720. pascal void SetResLoad(Boolean load);
  721. pascal void SetResPurge(Boolean install);
  722. pascal long SizeResource(Handle theResource);
  723. pascal short UniqueID(ResType);
  724. pascal void UpdateResFile(short refNum);
  725. pascal void UseResFile(short refNum);
  726. pascal void WriteResource(Handle theResource);
  727. pascal short Count1Types(void);
  728. pascal void Get1IndType(ResType *theType, short index);
  729. pascal short Count1Resources(ResType);
  730. pascal Handle Get1IndResource(ResType, short index);
  731. pascal Handle Get1Resource(ResType, short theID);
  732. pascal Handle Get1NamedResource(ResType, StringPtr name);
  733. pascal short Unique1ID(ResType);
  734. pascal long MaxSizeRsrc(Handle);
  735. pascal long RsrcMapEntry(Handle);
  736. /*
  737. pascal short OpenRFPerm(StringPtr fileName, short vRefNum, short permission);
  738. */
  739. #endif
  740.  
  741. /* Scrap Manager [SM] */
  742.  
  743. #ifdef _ScrapMgr_
  744. pascal long GetScrap(Handle hDest, ResType, long *offset);
  745. pascal ScrapStuff *InfoScrap(void);
  746. pascal long LoadScrap(void);
  747. pascal long PutScrap(long length, ResType, Ptr source);
  748. pascal long UnloadScrap(void);
  749. pascal long ZeroScrap(void);
  750. #endif
  751.  
  752. /* SCSI Manager [SCSI] */
  753.  
  754. #ifdef _SCSIMgr_
  755. pascal OSErr SCSIReset(void);
  756. pascal OSErr SCSIGet(void);
  757. pascal OSErr SCSISelect(short targetID);
  758. pascal OSErr SCSICmd(Ptr buffer, short count);
  759. pascal OSErr SCSIRead(Ptr tibPtr);
  760. pascal OSErr SCSIRBlind(Ptr tibPtr);
  761. pascal OSErr SCSIWrite(Ptr tibPtr);
  762. pascal OSErr SCSIWBlind(Ptr tibPtr);
  763. pascal OSErr SCSIComplete(short *stat, short *message, long wait);
  764. pascal short SCSIStat(void);
  765. #endif
  766.  
  767. /* Segment Loader [SL] */
  768.  
  769. #ifdef _SegmentLdr_
  770. pascal void ClrAppFiles(short index);
  771. pascal void CountAppFiles(short *message, short *count);
  772. pascal void ExitToShell(void);
  773. pascal void GetAppFiles(short index, AppFile *theFile);
  774. pascal void GetAppParms(StringPtr apName, short *apRefNum, Handle *apParam);
  775. pascal void UnloadSeg(ProcPtr routineAddr);
  776. #endif
  777.  
  778. /* Serial Driver [SR] */
  779.  
  780. #ifdef _SerialDvr_
  781. pascal void RAMSDClose(SPortSel whichPort);
  782. pascal OSErr RAMSDOpen(SPortSel whichPort);
  783. pascal OSErr SerClrBrk(short refNum);
  784. pascal OSErr SerGetBuf(short refNum, long *count);
  785. pascal OSErr SerHShake(short refNum, SerShk *flags);
  786. pascal OSErr SerReset(short refNum, short serConfig);
  787. pascal OSErr SerSetBrk(short refNum);
  788. pascal OSErr SerSetBuf(short refNum, Ptr serBPtr, short serBLen);
  789. pascal OSErr SerStatus(short refNum, SerStaRec *serSta);
  790. #endif
  791.  
  792. /* Sound Driver [SN] */
  793.  
  794. #ifdef _SoundDvr_
  795. pascal void GetSoundVol(short *level);
  796. pascal void SetSoundVol(short level);
  797. pascal Boolean SoundDone(void);
  798. pascal void StartSound(Ptr synthRec, long numBytes, ProcPtr completionRtn);
  799. pascal void StopSound(void);
  800. #endif
  801.  
  802. /* TextEdit [TE] */
  803.  
  804. #ifdef _TextEdit_
  805. /* 
  806.    pascal void SetClikLoop(FilterProc clikProc, TEHandle);
  807.    pascal void SetWordBreak(FilterProc wBrkProc, TEHandle);
  808.  */
  809. pascal void TEActivate(TEHandle);
  810. pascal void TEAutoView(Boolean, TEHandle);
  811. pascal void TECalText(TEHandle);
  812. pascal void TEClick(Point, Boolean extend, TEHandle);
  813. pascal void TECopy(TEHandle);
  814. pascal void TECut(TEHandle);
  815. pascal void TEDeactivate(TEHandle);
  816. pascal void TEDelete(TEHandle);
  817. pascal void TEDispose(TEHandle);
  818. pascal OSErr TEFromScrap(void);
  819. pascal long TEGetScrapLen(void);
  820. pascal CharsHandle TEGetText(TEHandle);
  821. pascal void TEIdle(TEHandle);
  822. pascal void TEInit(void);
  823. pascal void TEInsert(Ptr text, long length, TEHandle);
  824. pascal void TEKey(short ch, TEHandle);
  825. pascal TEHandle TENew(Rect *dstRect, Rect *viewRect);
  826. pascal void TEPaste(TEHandle);
  827. pascal void TEPinScroll(short dh, short dv, TEHandle);
  828. pascal Handle TEScrapHandle(void);
  829. pascal void TEScroll(short dh, short dv, TEHandle);
  830. pascal void TESelView(TEHandle);
  831. pascal void TESetJust(short just, TEHandle);
  832. pascal void TESetScrapLen(long length);
  833. pascal void TESetSelect(long selStart, long selEnd, TEHandle);
  834. pascal void TESetText(Ptr text, long length, TEHandle);
  835. pascal OSErr TEToScrap(void);
  836. pascal void TEUpdate(Rect *rUpdate, TEHandle);
  837. pascal void TextBox(Ptr text, long length, Rect *box, short just);
  838. #endif
  839.  
  840. /* Time Manager [TIME] */
  841.  
  842. #ifdef _TimeMgr_
  843. pascal void InsTime(QElemPtr);
  844. pascal void RmvTime(QElemPtr);
  845. pascal void PrimeTime(QElemPtr);
  846. #endif
  847.  
  848. /* ToolBox Utilities [TU] */
  849.  
  850. #ifdef _ToolboxUtil_
  851. pascal Fract Fix2Frac(Fixed);
  852. pascal long Fix2Long(Fixed);
  853. /* double Fix2X(Fixed);  ** In ToolboxUtil.h ** */
  854. pascal Fixed FixATan2(long a, long b);
  855. pascal Fixed FixDiv(Fixed a, Fixed b);
  856. pascal Fixed FixMul(Fixed a, Fixed b);
  857. pascal Fixed FixRatio(short numer, short denom);
  858. pascal short FixRound(Fixed);
  859. pascal Fixed Frac2Fix(Fract);
  860. /* double Frac2X(Fract);  ** In ToolboxUtil.h ** */
  861. pascal Fract FracCos(Fixed);
  862. pascal Fract FracDiv(Fract, Fract);
  863. pascal Fract FracMul(Fract, Fract);
  864. pascal Fract FracSin(Fixed);
  865. pascal Fract FracSqrt(Fract);
  866. pascal Fixed Long2Fix(long);
  867. pascal Fixed X2Fix(double *);
  868. pascal Fract X2Frac(double *);
  869.  
  870. pascal StringHandle NewString(StringPtr);
  871. pascal void SetString(StringHandle, StringPtr);
  872. pascal StringHandle GetString(short stringID);
  873. pascal void GetIndString(StringPtr, short strListID, short index);
  874.  
  875. pascal long Munger(Handle, long offset, void *, long len1, void *, long len2);
  876. pascal void PackBits(Ptr *srcPtr, Ptr *dstPtr, short srcBytes);
  877. pascal void UnpackBits(Ptr *srcPtr, Ptr *dstPtr, short dstBytes);
  878.  
  879. pascal Boolean BitTst(Ptr bytePtr, long bitNum);
  880. pascal void BitSet(Ptr bytePtr, long bitNum);
  881. pascal void BitClr(Ptr bytePtr, long bitNum);
  882. pascal long BitAnd(long val1, long val2);
  883. pascal long BitOr(long val1, long val2);
  884. pascal long BitXor(long val1, long val2);
  885. pascal long BitNot(long val);
  886. pascal long BitShift(long val, short count);
  887.  
  888. pascal short HiWord(long);
  889. pascal short LoWord(long);
  890. pascal void LongMul(long a, long b, Int64Bit *dest);
  891.  
  892. pascal void ScreenRes(short *scrnVRes, short *scrnHres);
  893. pascal Handle GetIcon(short iconID);
  894. pascal void PlotIcon(Rect *r, Handle theIcon);
  895. pascal PatHandle GetPattern(short patID);
  896. pascal void GetIndPattern(PatPtr, short patListID, short index);
  897. pascal CursHandle GetCursor(short cursorID);
  898. pascal void ShieldCursor(Rect *shieldRect, Point offsetPt);
  899. pascal PicHandle GetPicture(short picID);
  900.  
  901. pascal long DeltaPoint(Point ptA, Point PtB);
  902. pascal Fixed SlopeFromAngle(short angle);
  903. pascal short AngleFromSlope(Fixed slope);
  904. #endif
  905.  
  906. /* Vertical Retrace [VR] */
  907.  
  908. #ifdef _VRetraceMgr_
  909. pascal QHdrPtr GetVBLQHdr(void);
  910. pascal OSErr VInstall(QElemPtr vblTaskPtr);
  911. pascal OSErr VRemove(QElemPtr vblTaskPtr);
  912. #endif
  913.  
  914. /* Window Manager [WM] */
  915.  
  916. #ifdef _WindowMgr_
  917. pascal void BeginUpdate(WindowPtr);
  918. pascal void BringToFront(WindowPtr);
  919. pascal void CalcVis(WindowPeek);
  920. pascal void CalcVisBehind(WindowPeek startWindow, RgnHandle clobberedRgn);
  921. #ifdef _EventMgr_
  922. pascal Boolean CheckUpdate(EventRecord *theEvent);
  923. #endif
  924. pascal void ClipAbove(WindowPeek);
  925. pascal void CloseWindow(WindowPtr);
  926. pascal void DisposeWindow(WindowPtr);
  927. pascal long DragGrayRgn(RgnHandle, Point startPt, Rect *limitRect, Rect *slopRect, short axis, ProcPtr actionProc);
  928. pascal void DragWindow(WindowPtr, Point startPt, Rect *boundsRect);
  929. pascal void DrawGrowIcon(WindowPtr);
  930. pascal void DrawNew(WindowPeek, Boolean update);
  931. pascal void EndUpdate(WindowPtr);
  932. pascal short FindWindow(Point thePt, WindowPtr *whichWind);
  933. pascal WindowPtr FrontWindow(void);
  934. pascal WindowPtr GetNewWindow(short windowID, WindowPeek wStorage, WindowPtr behind);
  935. pascal PicHandle GetWindowPic(WindowPtr);
  936. pascal void GetWMgrPort(GrafPtr *wPort);
  937. pascal long GetWRefCon(WindowPtr);
  938. pascal void GetWTitle(WindowPtr, StringPtr title);
  939. pascal long GrowWindow(WindowPtr, Point startPt, Rect *sizeRect);
  940. pascal void HideWindow(WindowPtr);
  941. pascal void HiliteWindow(WindowPtr, Boolean fHilite);
  942. pascal void InitWindows(void);
  943. pascal void InvalRect(Rect *badRect);
  944. pascal void InvalRgn(RgnHandle badRgn);
  945. pascal void MoveWindow(WindowPtr, short hGlobal, short vGlobal, Boolean front);
  946. pascal WindowPtr NewWindow(WindowPeek wStorage, Rect *boundsRect, StringPtr title, Boolean visible, short procID, WindowPtr behind, Boolean goAwayFlag, long refCon);
  947. pascal void PaintBehind(WindowPeek startWindow, RgnHandle clobberedRgn);
  948. pascal void PaintOne(WindowPeek, RgnHandle clobberedRgn);
  949. pascal long PinRect(Rect *r, Point);
  950. pascal void SaveOld(WindowPeek);
  951. pascal void SelectWindow(WindowPtr);
  952. pascal void SendBehind(WindowPtr theWindow, WindowPtr behindWindow);
  953. pascal void SetWindowPic(WindowPtr, PicHandle);
  954. pascal void SetWTitle(WindowPtr, StringPtr title);
  955. pascal void SetWRefCon(WindowPtr, long data);
  956. pascal void ShowHide(WindowPtr, Boolean showFlag);
  957. pascal void ShowWindow(WindowPtr);
  958. pascal void SizeWindow(WindowPtr, short w, short h, Boolean fUpdate);
  959. pascal Boolean TrackGoAway(WindowPtr, Point thePt);
  960. pascal void ValidRect(Rect *goodRect);
  961. pascal void ValidRgn(RgnHandle goodRgn);
  962. pascal Boolean TrackBox(WindowPtr, Point, short partCode);
  963. pascal void ZoomWindow(WindowPtr, short partCode, Boolean front);
  964. #endif
  965. #endif    _MacProtos_
  966.  
  967.