Mac OS 9
Collections.h
Go to the documentation of this file.
1 
19 #ifndef __COLLECTIONS__
20 #define __COLLECTIONS__
21 
22 #ifndef __MACTYPES__
23 #include <MacTypes.h>
24 #endif
25 
26 #ifndef __MIXEDMODE__
27 #include <MixedMode.h>
28 #endif
29 
30 #if PRAGMA_ONCE
31 #pragma once
32 #endif
33 
34 #ifdef __cplusplus
35 extern "C"
36 {
37 #endif
38 
39 #if PRAGMA_IMPORT
40 #pragma import on
41 #endif
42 
43 #if PRAGMA_STRUCT_ALIGN
44 #pragma options align = mac68k
45 #elif PRAGMA_STRUCT_PACKPUSH
46 #pragma pack(push, 2)
47 #elif PRAGMA_STRUCT_PACK
48 #pragma pack(2)
49 #endif
50 
51  /**************/
53  /**************/
55  enum
56  {
57  kCollectionDontWantTag = 0L,
58  kCollectionDontWantId = 0L,
59  kCollectionDontWantSize = 0L,
60  kCollectionDontWantAttributes = 0L,
61  kCollectionDontWantIndex = 0L,
62  kCollectionDontWantData = 0L
63  };
64 
66  enum
67  {
68  kCollectionNoAttributes = 0x00000000,
69  kCollectionAllAttributes = (long)0xFFFFFFFF,
72  0x40000000
73  };
74 
81  enum
82  {
83  kCollectionUser0Bit = 0,
84  kCollectionUser1Bit = 1,
85  kCollectionUser2Bit = 2,
86  kCollectionUser3Bit = 3,
87  kCollectionUser4Bit = 4,
88  kCollectionUser5Bit = 5,
89  kCollectionUser6Bit = 6,
90  kCollectionUser7Bit = 7,
91  kCollectionUser8Bit = 8,
92  kCollectionUser9Bit = 9,
93  kCollectionUser10Bit = 10,
94  kCollectionUser11Bit = 11,
95  kCollectionUser12Bit = 12,
96  kCollectionUser13Bit = 13,
97  kCollectionUser14Bit = 14,
98  kCollectionUser15Bit = 15,
99  kCollectionReserved0Bit = 16,
100  kCollectionReserved1Bit = 17,
101  kCollectionReserved2Bit = 18,
102  kCollectionReserved3Bit = 19,
103  kCollectionReserved4Bit = 20,
104  kCollectionReserved5Bit = 21,
105  kCollectionReserved6Bit = 22,
106  kCollectionReserved7Bit = 23,
107  kCollectionReserved8Bit = 24,
108  kCollectionReserved9Bit = 25,
109  kCollectionReserved10Bit = 26,
110  kCollectionReserved11Bit = 27,
111  kCollectionReserved12Bit = 28,
112  kCollectionReserved13Bit = 29,
113  kCollectionPersistenceBit = 30,
114  kCollectionLockBit = 31
115  };
116 
118  enum
119  {
120  kCollectionUser0Mask = 1L << kCollectionUser0Bit,
121  kCollectionUser1Mask = 1L << kCollectionUser1Bit,
122  kCollectionUser2Mask = 1L << kCollectionUser2Bit,
123  kCollectionUser3Mask = 1L << kCollectionUser3Bit,
124  kCollectionUser4Mask = 1L << kCollectionUser4Bit,
125  kCollectionUser5Mask = 1L << kCollectionUser5Bit,
126  kCollectionUser6Mask = 1L << kCollectionUser6Bit,
127  kCollectionUser7Mask = 1L << kCollectionUser7Bit,
128  kCollectionUser8Mask = 1L << kCollectionUser8Bit,
129  kCollectionUser9Mask = 1L << kCollectionUser9Bit,
130  kCollectionUser10Mask = 1L << kCollectionUser10Bit,
131  kCollectionUser11Mask = 1L << kCollectionUser11Bit,
132  kCollectionUser12Mask = 1L << kCollectionUser12Bit,
133  kCollectionUser13Mask = 1L << kCollectionUser13Bit,
134  kCollectionUser14Mask = 1L << kCollectionUser14Bit,
135  kCollectionUser15Mask = 1L << kCollectionUser15Bit,
136  kCollectionReserved0Mask = 1L << kCollectionReserved0Bit,
137  kCollectionReserved1Mask = 1L << kCollectionReserved1Bit,
138  kCollectionReserved2Mask = 1L << kCollectionReserved2Bit,
139  kCollectionReserved3Mask = 1L << kCollectionReserved3Bit,
140  kCollectionReserved4Mask = 1L << kCollectionReserved4Bit,
141  kCollectionReserved5Mask = 1L << kCollectionReserved5Bit,
142  kCollectionReserved6Mask = 1L << kCollectionReserved6Bit,
143  kCollectionReserved7Mask = 1L << kCollectionReserved7Bit,
144  kCollectionReserved8Mask = 1L << kCollectionReserved8Bit,
145  kCollectionReserved9Mask = 1L << kCollectionReserved9Bit,
146  kCollectionReserved10Mask = 1L << kCollectionReserved10Bit,
147  kCollectionReserved11Mask = 1L << kCollectionReserved11Bit,
148  kCollectionReserved12Mask = 1L << kCollectionReserved12Bit,
149  kCollectionReserved13Mask = 1L << kCollectionReserved13Bit,
150  kCollectionPersistenceMask = 1L << kCollectionPersistenceBit,
151  kCollectionLockMask = 1L << kCollectionLockBit
152  };
153 
154  /************/
156  /************/
158  typedef struct OpaqueCollection *Collection;
160  typedef FourCharCode CollectionTag;
161  typedef CALLBACK_API(OSErr, CollectionFlattenProcPtr)(SInt32 size, void *data,
162  void *refCon);
163  typedef CALLBACK_API(OSErr, CollectionExceptionProcPtr)(Collection c,
164  OSErr status);
165  typedef STACK_UPP_TYPE(CollectionFlattenProcPtr) CollectionFlattenUPP;
166  typedef STACK_UPP_TYPE(CollectionExceptionProcPtr) CollectionExceptionUPP;
175  CollectionFlattenUPP
176  NewCollectionFlattenUPP(CollectionFlattenProcPtr userRoutine);
177 #if !OPAQUE_UPP_TYPES
178  enum
179  {
180  uppCollectionFlattenProcInfo = 0x00000FE0
181  };
182 #ifdef __cplusplus
183  inline CollectionFlattenUPP
184  NewCollectionFlattenUPP(CollectionFlattenProcPtr userRoutine)
185  {
186  return (CollectionFlattenUPP)NewRoutineDescriptor(
187  (ProcPtr)(userRoutine), uppCollectionFlattenProcInfo,
188  GetCurrentArchitecture());
189  }
190 #else
191 #define NewCollectionFlattenUPP(userRoutine) \
192  (CollectionFlattenUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), \
193  uppCollectionFlattenProcInfo, \
194  GetCurrentArchitecture())
195 #endif
196 #endif
197 
206  CollectionExceptionUPP
207  NewCollectionExceptionUPP(CollectionExceptionProcPtr userRoutine);
208 #if !OPAQUE_UPP_TYPES
209  enum
210  {
211  uppCollectionExceptionProcInfo = 0x000002E0
212  };
213 #ifdef __cplusplus
214  inline CollectionExceptionUPP
215  NewCollectionExceptionUPP(CollectionExceptionProcPtr userRoutine)
216  {
217  return (CollectionExceptionUPP)NewRoutineDescriptor(
218  (ProcPtr)(userRoutine), uppCollectionExceptionProcInfo,
219  GetCurrentArchitecture());
220  }
221 #else
222 #define NewCollectionExceptionUPP(userRoutine) \
223  (CollectionExceptionUPP) NewRoutineDescriptor( \
224  (ProcPtr)(userRoutine), uppCollectionExceptionProcInfo, \
225  GetCurrentArchitecture())
226 #endif
227 #endif
228 
237  void
238  DisposeCollectionFlattenUPP(CollectionFlattenUPP userUPP);
239 #if !OPAQUE_UPP_TYPES
240 #ifdef __cplusplus
241  inline void DisposeCollectionFlattenUPP(CollectionFlattenUPP userUPP)
242  {
243  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
244  }
245 #else
246 #define DisposeCollectionFlattenUPP(userUPP) DisposeRoutineDescriptor(userUPP)
247 #endif
248 #endif
249 
258  void
259  DisposeCollectionExceptionUPP(CollectionExceptionUPP userUPP);
260 #if !OPAQUE_UPP_TYPES
261 #ifdef __cplusplus
262  inline void DisposeCollectionExceptionUPP(CollectionExceptionUPP userUPP)
263  {
264  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
265  }
266 #else
267 #define DisposeCollectionExceptionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
268 #endif
269 #endif
270 
279  OSErr
280  InvokeCollectionFlattenUPP(SInt32 size, void *data, void *refCon,
281  CollectionFlattenUPP userUPP);
282 #if !OPAQUE_UPP_TYPES
283 #ifdef __cplusplus
284  inline OSErr InvokeCollectionFlattenUPP(SInt32 size, void *data, void *refCon,
285  CollectionFlattenUPP userUPP)
286  {
287  return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppCollectionFlattenProcInfo,
288  size, data, refCon);
289  }
290 #else
291 #define InvokeCollectionFlattenUPP(size, data, refCon, userUPP) \
292  (OSErr) CALL_THREE_PARAMETER_UPP((userUPP), uppCollectionFlattenProcInfo, \
293  (size), (data), (refCon))
294 #endif
295 #endif
296 
305  OSErr
307  CollectionExceptionUPP userUPP);
308 #if !OPAQUE_UPP_TYPES
309 #ifdef __cplusplus
310  inline OSErr InvokeCollectionExceptionUPP(Collection c, OSErr status,
311  CollectionExceptionUPP userUPP)
312  {
313  return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppCollectionExceptionProcInfo,
314  c, status);
315  }
316 #else
317 #define InvokeCollectionExceptionUPP(c, status, userUPP) \
318  (OSErr) CALL_TWO_PARAMETER_UPP((userUPP), uppCollectionExceptionProcInfo, \
319  (c), (status))
320 #endif
321 #endif
322 
323 #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
325 #define NewCollectionFlattenProc(userRoutine) \
326  NewCollectionFlattenUPP(userRoutine)
327 #define NewCollectionExceptionProc(userRoutine) \
328  NewCollectionExceptionUPP(userRoutine)
329 #define CallCollectionFlattenProc(userRoutine, size, data, refCon) \
330  InvokeCollectionFlattenUPP(size, data, refCon, userRoutine)
331 #define CallCollectionExceptionProc(userRoutine, c, status) \
332  InvokeCollectionExceptionUPP(c, status, userRoutine)
333 #endif
335  /**********************************************/
336  /************** Public interfaces *************/
337  /**********************************************/
346  Collection
348 
357  void
359 
368  Collection
370 
379  SInt32
381 
390  OSStatus
392 
401  OSStatus
403 
412  ItemCount
414 
423  Collection
424  CopyCollection(Collection srcCollection, Collection dstCollection);
425 
434  SInt32
436 
445  void
446  SetCollectionDefaultAttributes(Collection c, SInt32 whichAttributes,
447  SInt32 newAttributes);
448 
457  SInt32
459 
468  OSErr
469  AddCollectionItem(Collection c, CollectionTag tag, SInt32 id, SInt32 itemSize,
470  const void *itemData);
471 
480  OSErr
481  GetCollectionItem(Collection c, CollectionTag tag, SInt32 id, SInt32 *itemSize,
482  void *itemData);
483 
492  OSErr
494 
503  OSErr
505  SInt32 whichAttributes, SInt32 newAttributes);
506 
515  OSErr
516  GetCollectionItemInfo(Collection c, CollectionTag tag, SInt32 id, SInt32 *index,
517  SInt32 *itemSize, SInt32 *attributes);
518 
527  OSErr
528  ReplaceIndexedCollectionItem(Collection c, SInt32 index, SInt32 itemSize,
529  const void *itemData);
530 
539  OSErr
540  GetIndexedCollectionItem(Collection c, SInt32 index, SInt32 *itemSize,
541  void *itemData);
542 
551  OSErr
553 
562  OSErr
563  SetIndexedCollectionItemInfo(Collection c, SInt32 index, SInt32 whichAttributes,
564  SInt32 newAttributes);
565 
574  OSErr
576  SInt32 *id, SInt32 *itemSize, SInt32 *attributes);
577 
586  Boolean
588 
597  SInt32
599 
608  OSErr
610 
619  SInt32
621 
630  OSErr
632  SInt32 *itemSize, void *itemData);
633 
642  OSErr
644  SInt32 *id, SInt32 *index, SInt32 *itemSize,
645  SInt32 *attributes);
646 
655  void
656  PurgeCollection(Collection c, SInt32 whichAttributes, SInt32 matchingAttributes);
657 
666  void
668 
677  void
679 
688  OSErr
689  FlattenCollection(Collection c, CollectionFlattenUPP flattenProc, void *refCon);
690 
699  OSErr
700  FlattenPartialCollection(Collection c, CollectionFlattenUPP flattenProc,
701  void *refCon, SInt32 whichAttributes,
702  SInt32 matchingAttributes);
703 
712  OSErr
713  UnflattenCollection(Collection c, CollectionFlattenUPP flattenProc,
714  void *refCon);
715 
724  CollectionExceptionUPP
726 
735  void
736  SetCollectionExceptionProc(Collection c, CollectionExceptionUPP exceptionProc);
737 
746  Collection
747  GetNewCollection(SInt16 collectionID);
748 
749  /***********************************************************************/
750  /*************** Utility routines for handle-based access **************/
751  /***********************************************************************/
760  OSErr
761  AddCollectionItemHdl(Collection aCollection, CollectionTag tag, SInt32 id,
762  Handle itemData);
763 
772  OSErr
773  GetCollectionItemHdl(Collection aCollection, CollectionTag tag, SInt32 id,
774  Handle itemData);
775 
784  OSErr
785  ReplaceIndexedCollectionItemHdl(Collection aCollection, SInt32 index,
786  Handle itemData);
787 
796  OSErr
797  GetIndexedCollectionItemHdl(Collection aCollection, SInt32 index,
798  Handle itemData);
799 
808  OSErr
809  FlattenCollectionToHdl(Collection aCollection, Handle flattened);
810 
819  OSErr
820  UnflattenCollectionFromHdl(Collection aCollection, Handle flattened);
821 
822 #if OLDROUTINENAMES
823  enum
824  {
825  dontWantTag = kCollectionDontWantTag,
826  dontWantId = kCollectionDontWantId,
827  dontWantSize = kCollectionDontWantSize,
828  dontWantAttributes = kCollectionDontWantAttributes,
829  dontWantIndex = kCollectionDontWantIndex,
830  dontWantData = kCollectionDontWantData
831  };
832 
833  enum
834  {
835  noCollectionAttributes = kCollectionNoAttributes,
836  allCollectionAttributes = kCollectionAllAttributes,
837  userCollectionAttributes = kCollectionUserAttributes,
838  defaultCollectionAttributes = kCollectionDefaultAttributes
839  };
840 
841  enum
842  {
843  collectionUser0Bit = kCollectionUser0Bit,
844  collectionUser1Bit = kCollectionUser1Bit,
845  collectionUser2Bit = kCollectionUser2Bit,
846  collectionUser3Bit = kCollectionUser3Bit,
847  collectionUser4Bit = kCollectionUser4Bit,
848  collectionUser5Bit = kCollectionUser5Bit,
849  collectionUser6Bit = kCollectionUser6Bit,
850  collectionUser7Bit = kCollectionUser7Bit,
851  collectionUser8Bit = kCollectionUser8Bit,
852  collectionUser9Bit = kCollectionUser9Bit,
853  collectionUser10Bit = kCollectionUser10Bit,
854  collectionUser11Bit = kCollectionUser11Bit,
855  collectionUser12Bit = kCollectionUser12Bit,
856  collectionUser13Bit = kCollectionUser13Bit,
857  collectionUser14Bit = kCollectionUser14Bit,
858  collectionUser15Bit = kCollectionUser15Bit,
859  collectionReserved0Bit = kCollectionReserved0Bit,
860  collectionReserved1Bit = kCollectionReserved1Bit,
861  collectionReserved2Bit = kCollectionReserved2Bit,
862  collectionReserved3Bit = kCollectionReserved3Bit,
863  collectionReserved4Bit = kCollectionReserved4Bit,
864  collectionReserved5Bit = kCollectionReserved5Bit,
865  collectionReserved6Bit = kCollectionReserved6Bit,
866  collectionReserved7Bit = kCollectionReserved7Bit,
867  collectionReserved8Bit = kCollectionReserved8Bit,
868  collectionReserved9Bit = kCollectionReserved9Bit,
869  collectionReserved10Bit = kCollectionReserved10Bit,
870  collectionReserved11Bit = kCollectionReserved11Bit,
871  collectionReserved12Bit = kCollectionReserved12Bit,
872  collectionReserved13Bit = kCollectionReserved13Bit,
873  collectionPersistenceBit = kCollectionPersistenceBit,
874  collectionLockBit = kCollectionLockBit
875  };
876 
877  enum
878  {
879  collectionUser0Mask = kCollectionUser0Mask,
880  collectionUser1Mask = kCollectionUser1Mask,
881  collectionUser2Mask = kCollectionUser2Mask,
882  collectionUser3Mask = kCollectionUser3Mask,
883  collectionUser4Mask = kCollectionUser4Mask,
884  collectionUser5Mask = kCollectionUser5Mask,
885  collectionUser6Mask = kCollectionUser6Mask,
886  collectionUser7Mask = kCollectionUser7Mask,
887  collectionUser8Mask = kCollectionUser8Mask,
888  collectionUser9Mask = kCollectionUser9Mask,
889  collectionUser10Mask = kCollectionUser10Mask,
890  collectionUser11Mask = kCollectionUser11Mask,
891  collectionUser12Mask = kCollectionUser12Mask,
892  collectionUser13Mask = kCollectionUser13Mask,
893  collectionUser14Mask = kCollectionUser14Mask,
894  collectionUser15Mask = kCollectionUser15Mask,
895  collectionReserved0Mask = kCollectionReserved0Mask,
896  collectionReserved1Mask = kCollectionReserved1Mask,
897  collectionReserved2Mask = kCollectionReserved2Mask,
898  collectionReserved3Mask = kCollectionReserved3Mask,
899  collectionReserved4Mask = kCollectionReserved4Mask,
900  collectionReserved5Mask = kCollectionReserved5Mask,
901  collectionReserved6Mask = kCollectionReserved6Mask,
902  collectionReserved7Mask = kCollectionReserved7Mask,
903  collectionReserved8Mask = kCollectionReserved8Mask,
904  collectionReserved9Mask = kCollectionReserved9Mask,
905  collectionReserved10Mask = kCollectionReserved10Mask,
906  collectionReserved11Mask = kCollectionReserved11Mask,
907  collectionReserved12Mask = kCollectionReserved12Mask,
908  collectionReserved13Mask = kCollectionReserved13Mask,
909  collectionPersistenceMask = kCollectionPersistenceMask,
910  collectionLockMask = kCollectionLockMask
911  };
912 
913 #endif
915 #if PRAGMA_STRUCT_ALIGN
916 #pragma options align = reset
917 #elif PRAGMA_STRUCT_PACKPUSH
918 #pragma pack(pop)
919 #elif PRAGMA_STRUCT_PACK
920 #pragma pack()
921 #endif
922 
923 #ifdef PRAGMA_IMPORT_OFF
924 #pragma import off
925 #elif PRAGMA_IMPORT
926 #pragma import reset
927 #endif
928 
929 #ifdef __cplusplus
930 }
931 #endif
932 
933 #endif
Collection NewCollection(void)
OSErr GetIndexedCollectionItemInfo(Collection c, SInt32 index, CollectionTag *tag, SInt32 *id, SInt32 *itemSize, SInt32 *attributes)
SInt32 GetCollectionDefaultAttributes(Collection c)
OSErr ReplaceIndexedCollectionItemHdl(Collection aCollection, SInt32 index, Handle itemData)
void SetCollectionDefaultAttributes(Collection c, SInt32 whichAttributes, SInt32 newAttributes)
OSErr GetIndexedCollectionTag(Collection c, SInt32 tagIndex, CollectionTag *tag)
OSErr FlattenCollectionToHdl(Collection aCollection, Handle flattened)
Collection CloneCollection(Collection c)
CollectionExceptionUPP GetCollectionExceptionProc(Collection c)
OSErr InvokeCollectionFlattenUPP(SInt32 size, void *data, void *refCon, CollectionFlattenUPP userUPP)
OSErr SetCollectionItemInfo(Collection c, CollectionTag tag, SInt32 id, SInt32 whichAttributes, SInt32 newAttributes)
OSErr UnflattenCollectionFromHdl(Collection aCollection, Handle flattened)
Collection GetNewCollection(SInt16 collectionID)
void EmptyCollection(Collection c)
#define NewCollectionFlattenUPP(userRoutine)
Definition: Collections.h:191
OSErr FlattenCollection(Collection c, CollectionFlattenUPP flattenProc, void *refCon)
OSErr ReplaceIndexedCollectionItem(Collection c, SInt32 index, SInt32 itemSize, const void *itemData)
OSErr GetIndexedCollectionItemHdl(Collection aCollection, SInt32 index, Handle itemData)
void SetCollectionExceptionProc(Collection c, CollectionExceptionUPP exceptionProc)
OSErr SetIndexedCollectionItemInfo(Collection c, SInt32 index, SInt32 whichAttributes, SInt32 newAttributes)
OSStatus ReleaseCollection(Collection c)
ItemCount GetCollectionRetainCount(Collection c)
OSErr GetTaggedCollectionItemInfo(Collection c, CollectionTag tag, SInt32 whichItem, SInt32 *id, SInt32 *index, SInt32 *itemSize, SInt32 *attributes)
OSErr AddCollectionItemHdl(Collection aCollection, CollectionTag tag, SInt32 id, Handle itemData)
void PurgeCollectionTag(Collection c, CollectionTag tag)
FourCharCode CollectionTag
Definition: Collections.h:160
OSErr GetIndexedCollectionItem(Collection c, SInt32 index, SInt32 *itemSize, void *itemData)
SInt32 CountTaggedCollectionItems(Collection c, CollectionTag tag)
OSStatus RetainCollection(Collection c)
Boolean CollectionTagExists(Collection c, CollectionTag tag)
OSErr GetCollectionItem(Collection c, CollectionTag tag, SInt32 id, SInt32 *itemSize, void *itemData)
OSErr AddCollectionItem(Collection c, CollectionTag tag, SInt32 id, SInt32 itemSize, const void *itemData)
struct OpaqueCollection * Collection
Definition: Collections.h:158
OSErr UnflattenCollection(Collection c, CollectionFlattenUPP flattenProc, void *refCon)
SInt32 CountCollectionOwners(Collection c)
SInt32 CountCollectionTags(Collection c)
OSErr RemoveIndexedCollectionItem(Collection c, SInt32 index)
OSErr RemoveCollectionItem(Collection c, CollectionTag tag, SInt32 id)
Collection CopyCollection(Collection srcCollection, Collection dstCollection)
void DisposeCollection(Collection c)
OSErr GetCollectionItemHdl(Collection aCollection, CollectionTag tag, SInt32 id, Handle itemData)
OSErr GetTaggedCollectionItem(Collection c, CollectionTag tag, SInt32 whichItem, SInt32 *itemSize, void *itemData)
void DisposeCollectionExceptionUPP(CollectionExceptionUPP userUPP)
OSErr FlattenPartialCollection(Collection c, CollectionFlattenUPP flattenProc, void *refCon, SInt32 whichAttributes, SInt32 matchingAttributes)
void DisposeCollectionFlattenUPP(CollectionFlattenUPP userUPP)
SInt32 CountCollectionItems(Collection c)
#define NewCollectionExceptionUPP(userRoutine)
Definition: Collections.h:222
OSErr InvokeCollectionExceptionUPP(Collection c, OSErr status, CollectionExceptionUPP userUPP)
void PurgeCollection(Collection c, SInt32 whichAttributes, SInt32 matchingAttributes)
@ kCollectionUserAttributes
Definition: Collections.h:70
@ kCollectionDefaultAttributes
Definition: Collections.h:71
@ kCollectionAllAttributes
Definition: Collections.h:69
OSErr GetCollectionItemInfo(Collection c, CollectionTag tag, SInt32 id, SInt32 *index, SInt32 *itemSize, SInt32 *attributes)
Basic Macintosh data types.
unsigned char Boolean
Definition: MacTypes.h:318
Mixed Mode Manager Interfaces.
void DisposeRoutineDescriptor(UniversalProcPtr theUPP)
#define STACK_UPP_TYPE(name)
Definition: MixedMode.h:734
UniversalProcPtr NewRoutineDescriptor(ProcPtr theProc, ProcInfoType theProcInfo, ISAType theISA)