Mac OS 9
Terminals.h
Go to the documentation of this file.
1 
19 #ifndef __TERMINALS__
20 #define __TERMINALS__
21 
22 #ifndef __CONDITIONALMACROS__
23 #include <ConditionalMacros.h>
24 #endif
25 
26 #ifndef __DIALOGS__
27 #include <Dialogs.h>
28 #endif
29 
30 #ifndef __CTBUTILITIES__
31 #include <CTBUtilities.h>
32 #endif
33 
34 #ifndef __CONNECTIONS__
35 #include <Connections.h>
36 #endif
37 
38 #if PRAGMA_ONCE
39 #pragma once
40 #endif
41 
42 #ifdef __cplusplus
43 extern "C" {
44 #endif
45 
46 #if PRAGMA_IMPORT
47 #pragma import on
48 #endif
49 
50 #if PRAGMA_STRUCT_ALIGN
51 #pragma options align = mac68k
52 #elif PRAGMA_STRUCT_PACKPUSH
53 #pragma pack(push, 2)
54 #elif PRAGMA_STRUCT_PACK
55 #pragma pack(2)
56 #endif
57 
58 #if CALL_NOT_IN_CARBON
59 enum {
60  curTMVersion = 2
61 };
62 
63 enum {
64  curTermEnvRecVers =
65  0
66 };
67 
68 enum {
71  tmNoErr = 0,
72  tmNotSent = 1,
73  tmEnvironsChanged = 2,
74  tmNotSupported = 7,
75  tmNoTools = 8
76 };
77 
78 typedef OSErr TMErr;
79 typedef UInt32 TMFlags;
80 enum {
81  tmInvisible = 1 << 0,
82  tmSaveBeforeClear = 1 << 1,
83  tmNoMenus = 1 << 2,
84  tmAutoScroll = 1 << 3,
85  tmConfigChanged = 1 << 4
86 };
87 
88 typedef SInt16 TMSelTypes;
89 enum {
90  selTextNormal = 1 << 0,
91  selTextBoxed = 1 << 1,
92  selGraphicsMarquee = 1 << 2,
93  selGraphicsLasso = 1 << 3
94 };
95 
96 typedef UInt16 TMSearchTypes;
97 enum { tmSearchNoDiacrit = 1 << 8, tmSearchNoCase = 1 << 9 };
98 
99 typedef UInt16 TMCursorTypes;
100 enum { cursorText = 1, cursorGraphics = 2 };
101 
102 typedef UInt16 TMTermTypes;
103 enum { tmTextTerminal = 1 << 0, tmGraphicsTerminal = 1 << 1 };
104 
106  TMTermTypes flags;
107  Handle theData;
108  Handle auxData;
109  long reserved;
110 };
111 typedef struct TermDataBlock TermDataBlock;
116  short version;
117  TMTermTypes termType;
118  short textRows;
119  short textCols;
120  Point cellSize;
121  Rect graphicSize;
122  Point slop;
123  Rect auxSpace;
124 };
125 typedef struct TermEnvironRec TermEnvironRec;
127 union TMSelection {
128  Rect selRect;
129  RgnHandle selRgnHandle;
130 };
131 typedef union TMSelection TMSelection;
132 typedef struct TermRecord TermRecord;
133 
134 typedef TermRecord *TermPtr;
135 typedef TermPtr *TermHandle;
136 typedef CALLBACK_API(long, TerminalSendProcPtr)(Ptr thePtr, long theSize,
137  long refCon, CMFlags flags);
138 typedef CALLBACK_API(void, TerminalBreakProcPtr)(long duration, long refCon);
139 typedef CALLBACK_API(long, TerminalCacheProcPtr)(long refCon,
141 typedef CALLBACK_API(void, TerminalSearchCallBackProcPtr)(TermHandle hTerm,
142  short refNum,
143  Rect *foundRect);
144 typedef CALLBACK_API(Boolean, TerminalClikLoopProcPtr)(long refCon);
145 typedef CALLBACK_API(CMErr,
146  TerminalEnvironsProcPtr)(long refCon,
148 typedef CALLBACK_API(void, TerminalChooseIdleProcPtr)(void);
149 typedef CALLBACK_API(long, TerminalToolDefProcPtr)(TermHandle hTerm, short msg,
150  long p1, long p2, long p3);
151 typedef STACK_UPP_TYPE(TerminalSendProcPtr) TerminalSendUPP;
152 typedef STACK_UPP_TYPE(TerminalBreakProcPtr) TerminalBreakUPP;
153 typedef STACK_UPP_TYPE(TerminalCacheProcPtr) TerminalCacheUPP;
154 typedef STACK_UPP_TYPE(TerminalSearchCallBackProcPtr) TerminalSearchCallBackUPP;
155 typedef STACK_UPP_TYPE(TerminalClikLoopProcPtr) TerminalClikLoopUPP;
156 typedef STACK_UPP_TYPE(TerminalEnvironsProcPtr) TerminalEnvironsUPP;
157 typedef STACK_UPP_TYPE(TerminalChooseIdleProcPtr) TerminalChooseIdleUPP;
158 typedef STACK_UPP_TYPE(TerminalToolDefProcPtr) TerminalToolDefUPP;
160 struct TermRecord {
161  short procID;
162  TMFlags flags;
163  TMErr errCode;
164  long refCon;
165  long userData;
166  TerminalToolDefUPP defProc;
167  Ptr config;
168  Ptr oldConfig;
169  TerminalEnvironsUPP environsProc;
170  long reserved1;
171  long reserved2;
172  Ptr tmPrivate;
173  TerminalSendUPP sendProc;
174  TerminalBreakUPP breakProc;
175  TerminalCacheUPP cacheProc;
176  TerminalClikLoopUPP clikLoop;
177  WindowRef owner;
178  Rect termRect;
179  Rect viewRect;
180  Rect visRect;
181  long lastIdle;
182  TMSelection selection;
183  TMSelTypes selType;
184  long mluField;
185 };
186 
187 #endif
189 #if CALL_NOT_IN_CARBON
198 TerminalSendUPP
199 NewTerminalSendUPP(TerminalSendProcPtr userRoutine);
200 #if !OPAQUE_UPP_TYPES
201 enum {
202  uppTerminalSendProcInfo = 0x00002FF0
203 };
204 #ifdef __cplusplus
205 inline TerminalSendUPP NewTerminalSendUPP(TerminalSendProcPtr userRoutine) {
206  return (TerminalSendUPP)NewRoutineDescriptor((ProcPtr)(userRoutine),
207  uppTerminalSendProcInfo,
208  GetCurrentArchitecture());
209 }
210 #else
211 #define NewTerminalSendUPP(userRoutine) \
212  (TerminalSendUPP) \
213  NewRoutineDescriptor((ProcPtr)(userRoutine), uppTerminalSendProcInfo, \
214  GetCurrentArchitecture())
215 #endif
216 #endif
217 
226 TerminalBreakUPP
227 NewTerminalBreakUPP(TerminalBreakProcPtr userRoutine);
228 #if !OPAQUE_UPP_TYPES
229 enum {
230  uppTerminalBreakProcInfo = 0x000003C0
231 };
232 #ifdef __cplusplus
233 inline TerminalBreakUPP NewTerminalBreakUPP(TerminalBreakProcPtr userRoutine) {
234  return (TerminalBreakUPP)NewRoutineDescriptor((ProcPtr)(userRoutine),
235  uppTerminalBreakProcInfo,
236  GetCurrentArchitecture());
237 }
238 #else
239 #define NewTerminalBreakUPP(userRoutine) \
240  (TerminalBreakUPP) \
241  NewRoutineDescriptor((ProcPtr)(userRoutine), uppTerminalBreakProcInfo, \
242  GetCurrentArchitecture())
243 #endif
244 #endif
245 
254 TerminalCacheUPP
255 NewTerminalCacheUPP(TerminalCacheProcPtr userRoutine);
256 #if !OPAQUE_UPP_TYPES
257 enum {
258  uppTerminalCacheProcInfo = 0x000003F0
259 };
260 #ifdef __cplusplus
261 inline TerminalCacheUPP NewTerminalCacheUPP(TerminalCacheProcPtr userRoutine) {
262  return (TerminalCacheUPP)NewRoutineDescriptor((ProcPtr)(userRoutine),
263  uppTerminalCacheProcInfo,
264  GetCurrentArchitecture());
265 }
266 #else
267 #define NewTerminalCacheUPP(userRoutine) \
268  (TerminalCacheUPP) \
269  NewRoutineDescriptor((ProcPtr)(userRoutine), uppTerminalCacheProcInfo, \
270  GetCurrentArchitecture())
271 #endif
272 #endif
273 
282 TerminalSearchCallBackUPP
283 NewTerminalSearchCallBackUPP(TerminalSearchCallBackProcPtr userRoutine);
284 #if !OPAQUE_UPP_TYPES
285 enum {
286  uppTerminalSearchCallBackProcInfo = 0x00000EC0
287 };
288 #ifdef __cplusplus
289 inline TerminalSearchCallBackUPP
290 NewTerminalSearchCallBackUPP(TerminalSearchCallBackProcPtr userRoutine) {
291  return (TerminalSearchCallBackUPP)NewRoutineDescriptor(
292  (ProcPtr)(userRoutine), uppTerminalSearchCallBackProcInfo,
293  GetCurrentArchitecture());
294 }
295 #else
296 #define NewTerminalSearchCallBackUPP(userRoutine) \
297  (TerminalSearchCallBackUPP) NewRoutineDescriptor( \
298  (ProcPtr)(userRoutine), uppTerminalSearchCallBackProcInfo, \
299  GetCurrentArchitecture())
300 #endif
301 #endif
302 
311 TerminalClikLoopUPP
312 NewTerminalClikLoopUPP(TerminalClikLoopProcPtr userRoutine);
313 #if !OPAQUE_UPP_TYPES
314 enum {
315  uppTerminalClikLoopProcInfo = 0x000000D0
316 };
317 #ifdef __cplusplus
318 inline TerminalClikLoopUPP
319 NewTerminalClikLoopUPP(TerminalClikLoopProcPtr userRoutine) {
320  return (TerminalClikLoopUPP)NewRoutineDescriptor((ProcPtr)(userRoutine),
321  uppTerminalClikLoopProcInfo,
322  GetCurrentArchitecture());
323 }
324 #else
325 #define NewTerminalClikLoopUPP(userRoutine) \
326  (TerminalClikLoopUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), \
327  uppTerminalClikLoopProcInfo, \
328  GetCurrentArchitecture())
329 #endif
330 #endif
331 
340 TerminalEnvironsUPP
341 NewTerminalEnvironsUPP(TerminalEnvironsProcPtr userRoutine);
342 #if !OPAQUE_UPP_TYPES
343 enum {
344  uppTerminalEnvironsProcInfo = 0x000003E0
345 };
346 #ifdef __cplusplus
347 inline TerminalEnvironsUPP
348 NewTerminalEnvironsUPP(TerminalEnvironsProcPtr userRoutine) {
349  return (TerminalEnvironsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine),
350  uppTerminalEnvironsProcInfo,
351  GetCurrentArchitecture());
352 }
353 #else
354 #define NewTerminalEnvironsUPP(userRoutine) \
355  (TerminalEnvironsUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), \
356  uppTerminalEnvironsProcInfo, \
357  GetCurrentArchitecture())
358 #endif
359 #endif
360 
369 TerminalChooseIdleUPP
370 NewTerminalChooseIdleUPP(TerminalChooseIdleProcPtr userRoutine);
371 #if !OPAQUE_UPP_TYPES
372 enum {
373  uppTerminalChooseIdleProcInfo = 0x00000000
374 };
375 #ifdef __cplusplus
376 inline TerminalChooseIdleUPP
377 NewTerminalChooseIdleUPP(TerminalChooseIdleProcPtr userRoutine) {
378  return (TerminalChooseIdleUPP)NewRoutineDescriptor(
379  (ProcPtr)(userRoutine), uppTerminalChooseIdleProcInfo,
380  GetCurrentArchitecture());
381 }
382 #else
383 #define NewTerminalChooseIdleUPP(userRoutine) \
384  (TerminalChooseIdleUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), \
385  uppTerminalChooseIdleProcInfo, \
386  GetCurrentArchitecture())
387 #endif
388 #endif
389 
398 TerminalToolDefUPP
399 NewTerminalToolDefUPP(TerminalToolDefProcPtr userRoutine);
400 #if !OPAQUE_UPP_TYPES
401 enum {
402  uppTerminalToolDefProcInfo = 0x0000FEF0
403 };
404 #ifdef __cplusplus
405 inline TerminalToolDefUPP
406 NewTerminalToolDefUPP(TerminalToolDefProcPtr userRoutine) {
407  return (TerminalToolDefUPP)NewRoutineDescriptor((ProcPtr)(userRoutine),
408  uppTerminalToolDefProcInfo,
409  GetCurrentArchitecture());
410 }
411 #else
412 #define NewTerminalToolDefUPP(userRoutine) \
413  (TerminalToolDefUPP) \
414  NewRoutineDescriptor((ProcPtr)(userRoutine), uppTerminalToolDefProcInfo, \
415  GetCurrentArchitecture())
416 #endif
417 #endif
418 
427 void
428 DisposeTerminalSendUPP(TerminalSendUPP userUPP);
429 #if !OPAQUE_UPP_TYPES
430 #ifdef __cplusplus
431 inline void DisposeTerminalSendUPP(TerminalSendUPP userUPP) {
432  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
433 }
434 #else
435 #define DisposeTerminalSendUPP(userUPP) DisposeRoutineDescriptor(userUPP)
436 #endif
437 #endif
438 
447 void
448 DisposeTerminalBreakUPP(TerminalBreakUPP userUPP);
449 #if !OPAQUE_UPP_TYPES
450 #ifdef __cplusplus
451 inline void DisposeTerminalBreakUPP(TerminalBreakUPP userUPP) {
452  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
453 }
454 #else
455 #define DisposeTerminalBreakUPP(userUPP) DisposeRoutineDescriptor(userUPP)
456 #endif
457 #endif
458 
467 void
468 DisposeTerminalCacheUPP(TerminalCacheUPP userUPP);
469 #if !OPAQUE_UPP_TYPES
470 #ifdef __cplusplus
471 inline void DisposeTerminalCacheUPP(TerminalCacheUPP userUPP) {
472  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
473 }
474 #else
475 #define DisposeTerminalCacheUPP(userUPP) DisposeRoutineDescriptor(userUPP)
476 #endif
477 #endif
478 
487 void
488 DisposeTerminalSearchCallBackUPP(TerminalSearchCallBackUPP userUPP);
489 #if !OPAQUE_UPP_TYPES
490 #ifdef __cplusplus
491 inline void
492 DisposeTerminalSearchCallBackUPP(TerminalSearchCallBackUPP userUPP) {
493  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
494 }
495 #else
496 #define DisposeTerminalSearchCallBackUPP(userUPP) \
497  DisposeRoutineDescriptor(userUPP)
498 #endif
499 #endif
500 
509 void
510 DisposeTerminalClikLoopUPP(TerminalClikLoopUPP userUPP);
511 #if !OPAQUE_UPP_TYPES
512 #ifdef __cplusplus
513 inline void DisposeTerminalClikLoopUPP(TerminalClikLoopUPP userUPP) {
514  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
515 }
516 #else
517 #define DisposeTerminalClikLoopUPP(userUPP) DisposeRoutineDescriptor(userUPP)
518 #endif
519 #endif
520 
529 void
530 DisposeTerminalEnvironsUPP(TerminalEnvironsUPP userUPP);
531 #if !OPAQUE_UPP_TYPES
532 #ifdef __cplusplus
533 inline void DisposeTerminalEnvironsUPP(TerminalEnvironsUPP userUPP) {
534  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
535 }
536 #else
537 #define DisposeTerminalEnvironsUPP(userUPP) DisposeRoutineDescriptor(userUPP)
538 #endif
539 #endif
540 
549 void
550 DisposeTerminalChooseIdleUPP(TerminalChooseIdleUPP userUPP);
551 #if !OPAQUE_UPP_TYPES
552 #ifdef __cplusplus
553 inline void DisposeTerminalChooseIdleUPP(TerminalChooseIdleUPP userUPP) {
554  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
555 }
556 #else
557 #define DisposeTerminalChooseIdleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
558 #endif
559 #endif
560 
569 void
570 DisposeTerminalToolDefUPP(TerminalToolDefUPP userUPP);
571 #if !OPAQUE_UPP_TYPES
572 #ifdef __cplusplus
573 inline void DisposeTerminalToolDefUPP(TerminalToolDefUPP userUPP) {
574  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
575 }
576 #else
577 #define DisposeTerminalToolDefUPP(userUPP) DisposeRoutineDescriptor(userUPP)
578 #endif
579 #endif
580 
589 long
590 InvokeTerminalSendUPP(Ptr thePtr, long theSize, long refCon, CMFlags flags,
591  TerminalSendUPP userUPP);
592 #if !OPAQUE_UPP_TYPES
593 #ifdef __cplusplus
594 inline long InvokeTerminalSendUPP(Ptr thePtr, long theSize, long refCon,
595  CMFlags flags, TerminalSendUPP userUPP) {
596  return (long)CALL_FOUR_PARAMETER_UPP(userUPP, uppTerminalSendProcInfo, thePtr,
597  theSize, refCon, flags);
598 }
599 #else
600 #define InvokeTerminalSendUPP(thePtr, theSize, refCon, flags, userUPP) \
601  (long)CALL_FOUR_PARAMETER_UPP((userUPP), uppTerminalSendProcInfo, (thePtr), \
602  (theSize), (refCon), (flags))
603 #endif
604 #endif
605 
614 void
615 InvokeTerminalBreakUPP(long duration, long refCon, TerminalBreakUPP userUPP);
616 #if !OPAQUE_UPP_TYPES
617 #ifdef __cplusplus
618 inline void InvokeTerminalBreakUPP(long duration, long refCon,
619  TerminalBreakUPP userUPP) {
620  CALL_TWO_PARAMETER_UPP(userUPP, uppTerminalBreakProcInfo, duration, refCon);
621 }
622 #else
623 #define InvokeTerminalBreakUPP(duration, refCon, userUPP) \
624  CALL_TWO_PARAMETER_UPP((userUPP), uppTerminalBreakProcInfo, (duration), \
625  (refCon))
626 #endif
627 #endif
628 
637 long
639  TerminalCacheUPP userUPP);
640 #if !OPAQUE_UPP_TYPES
641 #ifdef __cplusplus
642 inline long InvokeTerminalCacheUPP(long refCon, TermDataBlockPtr theTermData,
643  TerminalCacheUPP userUPP) {
644  return (long)CALL_TWO_PARAMETER_UPP(userUPP, uppTerminalCacheProcInfo, refCon,
645  theTermData);
646 }
647 #else
648 #define InvokeTerminalCacheUPP(refCon, theTermData, userUPP) \
649  (long)CALL_TWO_PARAMETER_UPP((userUPP), uppTerminalCacheProcInfo, (refCon), \
650  (theTermData))
651 #endif
652 #endif
653 
662 void
663 InvokeTerminalSearchCallBackUPP(TermHandle hTerm, short refNum, Rect *foundRect,
664  TerminalSearchCallBackUPP userUPP);
665 #if !OPAQUE_UPP_TYPES
666 #ifdef __cplusplus
667 inline void InvokeTerminalSearchCallBackUPP(TermHandle hTerm, short refNum,
668  Rect *foundRect,
669  TerminalSearchCallBackUPP userUPP) {
670  CALL_THREE_PARAMETER_UPP(userUPP, uppTerminalSearchCallBackProcInfo, hTerm,
671  refNum, foundRect);
672 }
673 #else
674 #define InvokeTerminalSearchCallBackUPP(hTerm, refNum, foundRect, userUPP) \
675  CALL_THREE_PARAMETER_UPP((userUPP), uppTerminalSearchCallBackProcInfo, \
676  (hTerm), (refNum), (foundRect))
677 #endif
678 #endif
679 
688 Boolean
689 InvokeTerminalClikLoopUPP(long refCon, TerminalClikLoopUPP userUPP);
690 #if !OPAQUE_UPP_TYPES
691 #ifdef __cplusplus
692 inline Boolean InvokeTerminalClikLoopUPP(long refCon,
693  TerminalClikLoopUPP userUPP) {
694  return (Boolean)CALL_ONE_PARAMETER_UPP(userUPP, uppTerminalClikLoopProcInfo,
695  refCon);
696 }
697 #else
698 #define InvokeTerminalClikLoopUPP(refCon, userUPP) \
699  (Boolean) \
700  CALL_ONE_PARAMETER_UPP((userUPP), uppTerminalClikLoopProcInfo, (refCon))
701 #endif
702 #endif
703 
712 CMErr
714  TerminalEnvironsUPP userUPP);
715 #if !OPAQUE_UPP_TYPES
716 #ifdef __cplusplus
717 inline CMErr InvokeTerminalEnvironsUPP(long refCon, ConnEnvironRec *theEnvirons,
718  TerminalEnvironsUPP userUPP) {
719  return (CMErr)CALL_TWO_PARAMETER_UPP(userUPP, uppTerminalEnvironsProcInfo,
720  refCon, theEnvirons);
721 }
722 #else
723 #define InvokeTerminalEnvironsUPP(refCon, theEnvirons, userUPP) \
724  (CMErr) CALL_TWO_PARAMETER_UPP((userUPP), uppTerminalEnvironsProcInfo, \
725  (refCon), (theEnvirons))
726 #endif
727 #endif
728 
737 void
738 InvokeTerminalChooseIdleUPP(TerminalChooseIdleUPP userUPP);
739 #if !OPAQUE_UPP_TYPES
740 #ifdef __cplusplus
741 inline void InvokeTerminalChooseIdleUPP(TerminalChooseIdleUPP userUPP) {
742  CALL_ZERO_PARAMETER_UPP(userUPP, uppTerminalChooseIdleProcInfo);
743 }
744 #else
745 #define InvokeTerminalChooseIdleUPP(userUPP) \
746  CALL_ZERO_PARAMETER_UPP((userUPP), uppTerminalChooseIdleProcInfo)
747 #endif
748 #endif
749 
758 long
759 InvokeTerminalToolDefUPP(TermHandle hTerm, short msg, long p1, long p2, long p3,
760  TerminalToolDefUPP userUPP);
761 #if !OPAQUE_UPP_TYPES
762 #ifdef __cplusplus
763 inline long InvokeTerminalToolDefUPP(TermHandle hTerm, short msg, long p1,
764  long p2, long p3,
765  TerminalToolDefUPP userUPP) {
766  return (long)CALL_FIVE_PARAMETER_UPP(userUPP, uppTerminalToolDefProcInfo,
767  hTerm, msg, p1, p2, p3);
768 }
769 #else
770 #define InvokeTerminalToolDefUPP(hTerm, msg, p1, p2, p3, userUPP) \
771  (long)CALL_FIVE_PARAMETER_UPP((userUPP), uppTerminalToolDefProcInfo, \
772  (hTerm), (msg), (p1), (p2), (p3))
773 #endif
774 #endif
775 
776 #endif
778 #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
780 #define NewTerminalSendProc(userRoutine) NewTerminalSendUPP(userRoutine)
781 #define NewTerminalBreakProc(userRoutine) NewTerminalBreakUPP(userRoutine)
782 #define NewTerminalCacheProc(userRoutine) NewTerminalCacheUPP(userRoutine)
783 #define NewTerminalSearchCallBackProc(userRoutine) \
784  NewTerminalSearchCallBackUPP(userRoutine)
785 #define NewTerminalClikLoopProc(userRoutine) NewTerminalClikLoopUPP(userRoutine)
786 #define NewTerminalEnvironsProc(userRoutine) NewTerminalEnvironsUPP(userRoutine)
787 #define NewTerminalChooseIdleProc(userRoutine) \
788  NewTerminalChooseIdleUPP(userRoutine)
789 #define NewTerminalToolDefProc(userRoutine) NewTerminalToolDefUPP(userRoutine)
790 #define CallTerminalSendProc(userRoutine, thePtr, theSize, refCon, flags) \
791  InvokeTerminalSendUPP(thePtr, theSize, refCon, flags, userRoutine)
792 #define CallTerminalBreakProc(userRoutine, duration, refCon) \
793  InvokeTerminalBreakUPP(duration, refCon, userRoutine)
794 #define CallTerminalCacheProc(userRoutine, refCon, theTermData) \
795  InvokeTerminalCacheUPP(refCon, theTermData, userRoutine)
796 #define CallTerminalSearchCallBackProc(userRoutine, hTerm, refNum, foundRect) \
797  InvokeTerminalSearchCallBackUPP(hTerm, refNum, foundRect, userRoutine)
798 #define CallTerminalClikLoopProc(userRoutine, refCon) \
799  InvokeTerminalClikLoopUPP(refCon, userRoutine)
800 #define CallTerminalEnvironsProc(userRoutine, refCon, theEnvirons) \
801  InvokeTerminalEnvironsUPP(refCon, theEnvirons, userRoutine)
802 #define CallTerminalChooseIdleProc(userRoutine) \
803  InvokeTerminalChooseIdleUPP(userRoutine)
804 #define CallTerminalToolDefProc(userRoutine, hTerm, msg, p1, p2, p3) \
805  InvokeTerminalToolDefUPP(hTerm, msg, p1, p2, p3, userRoutine)
806 #endif
808 #if CALL_NOT_IN_CARBON
817 TMErr
818 InitTM(void);
819 
828 Handle
830 
839 short
841 
851 TMNew(const Rect *termRect, const Rect *viewRect, TMFlags flags, short procID,
852  WindowRef owner, TerminalSendUPP sendProc, TerminalCacheUPP cacheProc,
853  TerminalBreakUPP breakProc, TerminalClikLoopUPP clikLoop,
854  TerminalEnvironsUPP environsProc, long refCon, long userData);
855 
864 void
866 
875 void
877 
886 void
888 
897 void
899  const Rect *theRect);
900 
909 void
910 TMActivate(TermHandle hTerm, Boolean activate);
911 
920 void
921 TMResume(TermHandle hTerm, Boolean resume);
922 
931 void
933 
942 void
944 
953 long
954 TMStream(TermHandle hTerm, void *theBuffer, long theLength, CMFlags flags);
955 
964 Boolean
965 TMMenu(TermHandle hTerm, short menuID, short item);
966 
975 void
977 
986 void
988 
997 void
998 TMResize(TermHandle hTerm, const Rect *newViewRect);
999 
1008 long
1009 TMGetSelect(TermHandle hTerm, Handle theData, ResType *theType);
1010 
1019 void
1021 
1030 void
1031 TMSetSelection(TermHandle hTerm, const TMSelection *theSelection,
1032  TMSelTypes selType);
1033 
1042 void
1043 TMScroll(TermHandle hTerm, short dh, short dv);
1044 
1053 Boolean
1055 
1064 void
1065 TMDefault(Ptr *theConfig, short procID, Boolean allocate);
1066 
1075 Handle
1076 TMSetupPreflight(short procID, long *magicCookie);
1077 
1086 void
1087 TMSetupSetup(short procID, const void *theConfig, short count,
1088  DialogRef theDialog, long *magicCookie);
1089 
1098 Boolean
1099 TMSetupFilter(short procID, const void *theConfig, short count,
1100  DialogRef theDialog, EventRecord *theEvent, short *theItem,
1101  long *magicCookie);
1102 
1111 void
1112 TMSetupItem(short procID, const void *theConfig, short count,
1113  DialogRef theDialog, short *theItem, long *magicCookie);
1114 
1123 void
1124 TMSetupXCleanup(short procID, const void *theConfig, short count,
1125  DialogRef theDialog, Boolean OKed, long *magicCookie);
1126 
1135 void
1136 TMSetupPostflight(short procID);
1137 
1146 Ptr
1148 
1157 short
1158 TMSetConfig(TermHandle hTerm, const void *thePtr);
1159 
1168 OSErr
1169 TMIntlToEnglish(TermHandle hTerm, const void *inputPtr, Ptr *outputPtr,
1170  short language);
1171 
1180 OSErr
1181 TMEnglishToIntl(TermHandle hTerm, const void *inputPtr, Ptr *outputPtr,
1182  short language);
1183 
1192 void
1193 TMGetToolName(short id, Str255 name);
1194 
1203 short
1204 TMGetProcID(ConstStr255Param name);
1205 
1214 void
1215 TMSetRefCon(TermHandle hTerm, long refCon);
1216 
1225 long
1227 
1236 void
1237 TMSetUserData(TermHandle hTerm, long userData);
1238 
1247 long
1249 
1258 short
1259 TMAddSearch(TermHandle hTerm, ConstStr255Param theString, const Rect *where,
1260  TMSearchTypes searchType, TerminalSearchCallBackUPP callBack);
1261 
1270 void
1271 TMRemoveSearch(TermHandle hTerm, short refnum);
1272 
1281 void
1283 
1292 Point
1293 TMGetCursor(TermHandle hTerm, TMCursorTypes cursType);
1294 
1303 TMErr
1305 
1314 short
1315 TMChoose(TermHandle *hTerm, Point where, TerminalChooseIdleUPP idleProc);
1316 
1325 void
1327 
1336 Boolean
1337 TMDoTermKey(TermHandle hTerm, ConstStr255Param theKey);
1338 
1347 short
1349 
1358 void
1359 TMGetIndTermKey(TermHandle hTerm, short id, Str255 theKey);
1360 
1369 void
1370 TMGetErrorString(TermHandle hTerm, short id, Str255 errMsg);
1371 
1372 #endif
1374 #if PRAGMA_STRUCT_ALIGN
1375 #pragma options align = reset
1376 #elif PRAGMA_STRUCT_PACKPUSH
1377 #pragma pack(pop)
1378 #elif PRAGMA_STRUCT_PACK
1379 #pragma pack()
1380 #endif
1381 
1382 #ifdef PRAGMA_IMPORT_OFF
1383 #pragma import off
1384 #elif PRAGMA_IMPORT
1385 #pragma import reset
1386 #endif
1387 
1388 #ifdef __cplusplus
1389 }
1390 #endif
1391 
1392 #endif
Communications Toolbox Utilities interfaces.
Set up for compiler independent conditionals.
Communications Toolbox Connection Manager Interfaces.
Dialog Manager interfaces.
unsigned char Boolean
Definition: MacTypes.h:318
#define CALL_ZERO_PARAMETER_UPP(upp, procInfo)
Definition: MixedMode.h:790
void DisposeRoutineDescriptor(UniversalProcPtr theUPP)
#define STACK_UPP_TYPE(name)
Definition: MixedMode.h:734
UniversalProcPtr NewRoutineDescriptor(ProcPtr theProc, ProcInfoType theProcInfo, ISAType theISA)
dv
Calculate slope given an angle.
Definition: Quickdraw.h:6941
short TMCountTermKeys(TermHandle hTerm)
void TMSetupXCleanup(short procID, const void *theConfig, short count, DialogRef theDialog, Boolean OKed, long *magicCookie)
void DisposeTerminalSendUPP(TerminalSendUPP userUPP)
void TMSetupPostflight(short procID)
void TMReset(TermHandle hTerm)
CMErr InvokeTerminalEnvironsUPP(long refCon, ConnEnvironRec *theEnvirons, TerminalEnvironsUPP userUPP)
void TMGetLine(TermHandle hTerm, short lineNo, TermDataBlock *theTermData)
Ptr TMGetConfig(TermHandle hTerm)
#define NewTerminalSearchCallBackUPP(userRoutine)
Definition: Terminals.h:296
Handle TMGetVersion(TermHandle hTerm)
void DisposeTerminalToolDefUPP(TerminalToolDefUPP userUPP)
#define NewTerminalSendUPP(userRoutine)
Definition: Terminals.h:211
#define NewTerminalEnvironsUPP(userRoutine)
Definition: Terminals.h:354
short TMChoose(TermHandle *hTerm, Point where, TerminalChooseIdleUPP idleProc)
OSErr TMEnglishToIntl(TermHandle hTerm, const void *inputPtr, Ptr *outputPtr, short language)
void InvokeTerminalBreakUPP(long duration, long refCon, TerminalBreakUPP userUPP)
void TMSetSelection(TermHandle hTerm, const TMSelection *theSelection, TMSelTypes selType)
void DisposeTerminalClikLoopUPP(TerminalClikLoopUPP userUPP)
Point TMGetCursor(TermHandle hTerm, TMCursorTypes cursType)
TMErr TMGetTermEnvirons(TermHandle hTerm, TermEnvironRec *theEnvirons)
#define NewTerminalBreakUPP(userRoutine)
Definition: Terminals.h:239
long TMGetSelect(TermHandle hTerm, Handle theData, ResType *theType)
void DisposeTerminalCacheUPP(TerminalCacheUPP userUPP)
Boolean TMValidate(TermHandle hTerm)
short TMAddSearch(TermHandle hTerm, ConstStr255Param theString, const Rect *where, TMSearchTypes searchType, TerminalSearchCallBackUPP callBack)
void TMIdle(TermHandle hTerm)
short TMGetTMVersion(void)
Handle TMSetupPreflight(short procID, long *magicCookie)
TermHandle TMNew(const Rect *termRect, const Rect *viewRect, TMFlags flags, short procID, WindowRef owner, TerminalSendUPP sendProc, TerminalCacheUPP cacheProc, TerminalBreakUPP breakProc, TerminalClikLoopUPP clikLoop, TerminalEnvironsUPP environsProc, long refCon, long userData)
void TMDispose(TermHandle hTerm)
Boolean InvokeTerminalClikLoopUPP(long refCon, TerminalClikLoopUPP userUPP)
#define NewTerminalChooseIdleUPP(userRoutine)
Definition: Terminals.h:383
void DisposeTerminalBreakUPP(TerminalBreakUPP userUPP)
long TMGetRefCon(TermHandle hTerm)
void TMSetupSetup(short procID, const void *theConfig, short count, DialogRef theDialog, long *magicCookie)
long TMGetUserData(TermHandle hTerm)
Boolean TMMenu(TermHandle hTerm, short menuID, short item)
long TMStream(TermHandle hTerm, void *theBuffer, long theLength, CMFlags flags)
long InvokeTerminalToolDefUPP(TermHandle hTerm, short msg, long p1, long p2, long p3, TerminalToolDefUPP userUPP)
void TMGetErrorString(TermHandle hTerm, short id, Str255 errMsg)
void TMResume(TermHandle hTerm, Boolean resume)
#define NewTerminalClikLoopUPP(userRoutine)
Definition: Terminals.h:325
long InvokeTerminalSendUPP(Ptr thePtr, long theSize, long refCon, CMFlags flags, TerminalSendUPP userUPP)
void TMGetIndTermKey(TermHandle hTerm, short id, Str255 theKey)
void TMEvent(TermHandle hTerm, const EventRecord *theEvent)
void DisposeTerminalEnvironsUPP(TerminalEnvironsUPP userUPP)
OSErr TMIntlToEnglish(TermHandle hTerm, const void *inputPtr, Ptr *outputPtr, short language)
TMErr InitTM(void)
void DisposeTerminalChooseIdleUPP(TerminalChooseIdleUPP userUPP)
void DisposeTerminalSearchCallBackUPP(TerminalSearchCallBackUPP userUPP)
short TMSetConfig(TermHandle hTerm, const void *thePtr)
void TMSetUserData(TermHandle hTerm, long userData)
void TMClick(TermHandle hTerm, const EventRecord *theEvent)
void TMPaint(TermHandle hTerm, const TermDataBlock *theTermData, const Rect *theRect)
void TMClearSearch(TermHandle hTerm)
void TMClear(TermHandle hTerm)
void TMDefault(Ptr *theConfig, short procID, Boolean allocate)
void TMRemoveSearch(TermHandle hTerm, short refnum)
void InvokeTerminalChooseIdleUPP(TerminalChooseIdleUPP userUPP)
long InvokeTerminalCacheUPP(long refCon, TermDataBlockPtr theTermData, TerminalCacheUPP userUPP)
Boolean TMDoTermKey(TermHandle hTerm, ConstStr255Param theKey)
void TMKey(TermHandle hTerm, const EventRecord *theEvent)
void TMSetupItem(short procID, const void *theConfig, short count, DialogRef theDialog, short *theItem, long *magicCookie)
void InvokeTerminalSearchCallBackUPP(TermHandle hTerm, short refNum, Rect *foundRect, TerminalSearchCallBackUPP userUPP)
void TMUpdate(TermHandle hTerm, RgnHandle visRgn)
void TMGetToolName(short id, Str255 name)
void TMScroll(TermHandle hTerm, short dh, short dv)
void TMActivate(TermHandle hTerm, Boolean activate)
Boolean TMSetupFilter(short procID, const void *theConfig, short count, DialogRef theDialog, EventRecord *theEvent, short *theItem, long *magicCookie)
void TMSetRefCon(TermHandle hTerm, long refCon)
void TMResize(TermHandle hTerm, const Rect *newViewRect)
#define NewTerminalToolDefUPP(userRoutine)
Definition: Terminals.h:412
#define NewTerminalCacheUPP(userRoutine)
Definition: Terminals.h:267
@ tmGenericError
Definition: Terminals.h:70
short TMGetProcID(ConstStr255Param name)
Definition: Connections.h:148
Definition: Events.h:224
Definition: Quickdraw.h:1648
Definition: Quickdraw.h:306
Definition: MacTypes.h:520
Definition: MacTypes.h:527
Definition: Terminals.h:105
Definition: Terminals.h:115
Definition: Terminals.h:160
Definition: Terminals.h:127