132
Chapter 13: Memory Management
TI
-
89 / TI
-
92 Plus Developer Guide
Not for Distribution
Beta Version January 26, 2001
HeapGetLock
— Return TRUE if a block is locked, otherwise return
FALSE.
HeapLock
— Lock the block referenced by the given handle so
that it is NOT moved during garbage collection.
HeapMax
— Return the maximum block allowable in the heap
(does garbage collection).
HeapMoveHigh
— Try to reallocate a block as high in memory as
possible.
HeapPtrToHandle
— Find the handle to a given pointer.
HeapRealloc
— Reallocate the size of a heap block (smaller or
larger).
HeapShuffle
— Move blocks of memory around (for debugging).
HeapSize
— Return the number of bytes allocated for the given
heap block.
HeapUnlock
— Unlock the block referenced by the given handle so
that it can be moved during garbage collection.
HLock
— Lock and dereference a handle.
13.2. File System
The File routines provide a convenient way to store application data. Each active
file must have an associated FILES structure. Files are stored in the symbol table
(see section
13.3 Managing Variables
) and as such have a semipermanent life.
Filenames used as parameters are not tokenized variable names as required by
the symbol table code, but are a string of characters. They must not be reserved
names. If a filename does not have a folder name then it will be stored in the
current folder. Internally, files are stored as third-party data types
(GEN_DATA_TAG). This type is further defined by a file description which may
be up to four letters. This will show up to the user in the VAR-LINK screen as the
type specified when the file was opened.
When a file is opened with
FOpen
in FM_WRITE or FM_APPEND mode the
associated variable is locked and inaccessible by any other routines in the
system. It must be closed with
FClose
to return the variable to not in-use mode,
to write the file type and the GEN_DATA_TAG, and to close the associated
buffer. For files opened in FM_READ mode, the
FClose
will merely update the
mode of the file in the FILES structure to closed and clear the associated error
status.