Mac OS 9
CFragSystem7MemoryLocator Struct Reference

#include <CodeFragments.h>

Data Fields

LogicalAddress address
 
UInt32 length
 
Boolean inPlace
 
UInt8 reservedA
 
UInt16 reservedB
 

Detailed Description

Initialization & Termination Routines


A fragment's initialization and termination routines are called when a new incarnation of the fragment is created or destroyed, respectively. Exactly when this occurs depends on what kinds of section sharing the fragment has and how the fragment is prepared. Import libraries have at most one incarnation per process. Fragments prepared with option kPrivateCFragCopy may have many incarnations per process. The initialization function is passed a pointer to an initialization information structure and returns an OSErr. If an initialization function returns a non-zero value the entire closure of which it is a part fails. The C prototype for an initialization function is: OSErr CFragInitFunction ( const CFragInitBlock * initBlock ); The termination procedure takes no parameters and returns nothing. The C prototype for a termination procedure is: void CFragTermProcedure ( void ); Note that since the initialization and termination routines are themselves "CFM"-style routines whether or not they have the "pascal" keyword is irrelevant.


! Note: ! The "System7" portion of these type names was introduced during the evolution towards ! the now defunct Copland version of Mac OS. Copland was to be called System 8 and there ! were slightly different types for System 7 and System 8. The "generic" type names were ! conditionally defined for the desired target system. ! Always use the generic types, e.g. CFragInitBlock! The "System7" names have been kept ! only to avoid perturbing code that (improperly) used the target specific type.


The documentation for this struct was generated from the following file: