home *** CD-ROM | disk | FTP | other *** search
/ Garbo / Garbo.cdr / mac / progrmng / mlpmodul.sit / MacLogimoPlus Documentation / DEF3 Files / ResourceMgr.DEF < prev    next >
Encoding:
Modula Definition  |  1990-06-14  |  5.5 KB  |  95 lines  |  [TEXT/PMED]

  1. DEFINITION MODULE ResourceMgr;   (* Christoph Fleischer 05.02.85 *)
  2.                                  (* MacIntosh Toolbox Resource Manager Routines *)
  3.                                  (* last modification   06.08.85 fxk*)
  4.  
  5. FROM MacBase IMPORT LongInt,Handle,StrPtr,OsType;
  6.  
  7. EXPORT QUALIFIED
  8.   ResSysRef,ResSysHeap,ResPurgeable,ResLocked,ResProtected,ResPreload,ResChanged,
  9.   ResUser,MapReadOnly,MapCompact,MapChanged,ResNotFound,ResFNotFound,AddResFailed,
  10.   AddRefFailed,RmvResFailed,RmvRefFailed,
  11.   ResType,
  12.   InitResources,RsrcZoneInit,CreateResFile,OpenResFile,UseResFile,GetResFileAttrs,
  13.   SetResFileAttrs,UpdateResFile,CloseResFile,SetResPurge,SetResLoad,CountResources,
  14.   GetIndResource,CountTypes,GetIndType,UniqueID,GetResource,GetNamedResource,
  15.   LoadResource,ReleaseResource,DetachResource,ChangedResource,WriteResource,
  16.   HomeResFile,CurResFile,GetResAttrs,SetResAttrs,GetResInfo,SetResInfo,AddResource,
  17.   AddReference,RmveResource,RmveReference,SizeResource,ResError;
  18.  
  19. CONST
  20.   (*Resource attribute byte*)
  21.   ResSysRef    = 128;            (* Reference to system resource? *)
  22.   ResSysHeap   =  64;            (* System or application heap?   *)
  23.   ResPurgeable =  32;            (* Purgeable resource?           *)
  24.   ResLocked    =  16;            (* Load it in locked?            *)
  25.   ResProtected =   8;            (* Protected?                    *)
  26.   ResPreload   =   4;            (* Load in on OpenResFile?       *)
  27.   ResChanged   =   2;            (* Resource changed?             *)
  28.   ResUser      =   1;            (* User-definable attribute      *)
  29.  
  30.   MapReadOnly  = 128;            (* Resource file read-only       *)
  31.   MapCompact   =  64;            (* Compact resource file         *)
  32.   MapChanged   =  32;            (* Write map out at update       *)
  33.  
  34.  
  35.   ResNotFound  = -192;           (* Resource not found            *)
  36.   ResFNotFound = -193;           (* Resource file not found       *)
  37.   AddResFailed = -194;           (* AddResource failed            *)
  38.   AddRefFailed = -195;           (* AddReference failed           *)
  39.   RmvResFailed = -196;           (* RmveResource failed           *)
  40.   RmvRefFailed = -197;           (* RmveReference failed          *)
  41.  
  42.  
  43. TYPE  ResType = OsType; (* ARRAY[0..3] OF CHAR; *)
  44.  
  45.  
  46. PROCEDURE InitResources(): INTEGER;                           (*INLINE $A995*)
  47. PROCEDURE RsrcZoneInit;                                       (*INLINE $A996*)
  48. PROCEDURE CreateResFile(fileName: StrPtr);                    (*INLINE $A9B1*)
  49. PROCEDURE OpenResFile  (fileName: StrPtr): INTEGER;           (*INLINE $A997*)
  50. PROCEDURE UseResFile     (refNum:  INTEGER);                  (*INLINE $A998*)
  51. PROCEDURE GetResFileAttrs(refNum:  INTEGER): INTEGER;         (*INLINE $A9F6*)
  52. PROCEDURE SetResFileAttrs(refNum:  INTEGER;  attrs:  INTEGER);(*INLINE $A9F7*)
  53. PROCEDURE UpdateResFile  (refNum:  INTEGER);                  (*INLINE $A999*)
  54. PROCEDURE CloseResFile   (refNum:  INTEGER);                  (*INLINE $A99A*)
  55. PROCEDURE SetResPurge    (install: BOOLEAN);                  (*INLINE $A993*)
  56. PROCEDURE SetResLoad     (AutoLoad:BOOLEAN);                  (*INLINE $A99B*)
  57. PROCEDURE CountResources(theType:  ResType): INTEGER;         (*INLINE $A99C*)
  58. PROCEDURE GetIndResource(theType:  ResType; index:  INTEGER): Handle;
  59.                                                               (*INLINE $A99D*)
  60. PROCEDURE CountTypes():  INTEGER;                             (*INLINE $A99E*)
  61. PROCEDURE GetIndType(VAR theType:  ResType; index:  INTEGER); (*INLINE $A99F*)
  62. PROCEDURE UniqueID  (theType:  ResType):  INTEGER;            (*INLINE $A9C1*)
  63. PROCEDURE GetResource(theType: ResType; ID: INTEGER): Handle; (*INLINE $A9A0*)
  64. PROCEDURE GetNamedResource(theType:  ResType;name: StrPtr): Handle;
  65.                                                               (*INLINE $A9A1*)
  66. PROCEDURE LoadResource(theResource: Handle);                  (*INLINE $A9A2*)
  67. PROCEDURE ReleaseResource(theResource:  Handle);              (*INLINE $A9A3*)
  68. PROCEDURE DetachResource(theResource:  Handle);               (*INLINE $A992*)
  69. PROCEDURE ChangedResource(theResource:  Handle);              (*INLINE $A9AA*)
  70. PROCEDURE WriteResource(theResource:  Handle);                (*INLINE $A9B0*)
  71. PROCEDURE HomeResFile(theResource: Handle): INTEGER;          (*INLINE $A9A4*)
  72. PROCEDURE CurResFile():  INTEGER;                             (*INLINE $A994*)
  73. PROCEDURE GetResAttrs(theResource: Handle): INTEGER;          (*INLINE $A9A6*)
  74. PROCEDURE SetResAttrs(theResource: Handle; attrs: INTEGER);   (*INLINE $A9A7*)
  75. PROCEDURE GetResInfo(theResource:  Handle;
  76.                      VAR theID:    INTEGER;
  77.                      VAR theType:  ResType;
  78.                          name:     StrPtr);                   (*INLINE $A9A8*)
  79. PROCEDURE SetResInfo(theResource:  Handle;
  80.                      theID:        INTEGER;
  81.                          name:     StrPtr);                  (*INLINE $A9A9*)
  82. PROCEDURE AddResource(theResource:  Handle;
  83.                       theType:      ResType;
  84.                       theID:        INTEGER;
  85.                           name:     StrPtr);                  (*INLINE $A9AB*)
  86. PROCEDURE AddReference(theResource:  Handle;
  87.                        theID:        INTEGER;
  88.                           name:     StrPtr);                 (*INLINE $A9AC*)
  89. PROCEDURE RmveResource(theResource:  Handle);                 (*INLINE $A9AD*)
  90. PROCEDURE RmveReference(theResource:  Handle);                (*INLINE $A9AE*)
  91. PROCEDURE SizeResource(theResource: Handle): LongInt;         (*INLINE $A9A5*)
  92. PROCEDURE ResError():  INTEGER;                               (*INLINE $A9AF*)
  93.  
  94. END ResourceMgr.
  95.