Up: GEOS SDK TechDocs | Up | Prev: MixMode ... | Next: OperatorType ...

NULL

#undef NULL
#define NULL		0

 

NullChunk

#define NullChunk		((ChunkHandle) 0)

 

NullClass

#define NullClass		((ClassStruct *) 0)

 

NullHandle

#define NullHandle		((Handle) 0)

 

NullOptr

#define NullOptr		((optr) 0)

 

NumberFormatFlags

typedef ByteFlags NumberFormatFlags;
#define NFF_LEADING_ZERO				0x01

 

NumberType

typedef ByteEnum NumberType;
#define NT_VALUE				0
#define NT_BOOLEAN				1
#define NT_DATE_TIME				2

 

ObjChunkFlags

typedef ByteFlags ObjChunkFlags;
#define OCF_VARDATA_RELOC					0x10
#define OCF_DIRTY 					0x08
#define OCF_IGNORE_DIRTY 					0x04
#define OCF_IN_RESOURCE 					0x02
#define OCF_IS_OBJECT 					0x01

This record is stored at the beginning of each chunk and gives specific information about the chunk. The flags are internal.

ObjLMemBlockHeader

typedef struct {
LMemBlockHeader			OLMBH_header;					/* standard LMem block header */
word			OLMBH_inUseCount;
word			OLMBH_interactibleCount;
optr			OLMBH_output;
word			OLMBH_resourceSize;
} ObjLMemBlockHeader;

This is the standard Object Block header that begins every object block; you can set additional header fields with the @header Goc keyword. The fields of this structure are

OLMBH_header
The standard LMem block header. See the LMemBlockHeader structure type.
OLMBH_inUseCount
The "in use" count for the block. If not zero, then the block may not safely be freed.
OLMBH_interactibleCount
The "interactable" count for the block. If not zero, then one or more objects in the block are either visible to the user or about to be activated by the user (e.g. via keyboard shortcut). A block with a non-zero interactible count may not be swapped.
OLMBH_output
The optr of the object that will be notified about changes in resource status, such as in-use count changing to or from zero. Messages may also be sent to this output object via the TravelOption TO_OBJ_BLOCK_OUTPUT.
OLMBH_resourceSize
The size of the object block (resource).

ObjRelocation

typedef struct {
ObjRelocationType				OR_type;
word				OR_offset;
} ObjRelocation;

 

ObjRelocationSource

typedef ByteEnum ObjRelocationSource;
#define ORS_NULL								0
#define ORS_OWNING_GEODE 								1
#define ORS_KERNEL 								2
#define ORS_LIBRARY 								3
#define ORS_CURRENT_BLOCK 								4
#define ORS_VM_HANDLE 								5
#define ORS_OWNING_GEODE_ENTRY_POINT								6
#define ORS_NON_STATE_VM 								7
#define ORS_UNKNOWN_BLOCK 								8
#define ORS_EXTERNAL 								9
#define RID_SOURCE_OFFSET 								12

 

ObjRelocationType

typedef ByteEnum ObjRelocationType;
#define RELOC_END_OF_LIST						0
#define RELOC_RELOC_HANDLE						1
#define RELOC_RELOC_SEGMENT						2
#define RELOC_RELOC_ENTRY_POINT						3

 

OperatorStackElement

typedef struct {
EvalStackOperatorType OSE_type;
EvalStackOperatorType OSE_data;
} OperatorStackElement;

 


Up: GEOS SDK TechDocs | Up | Prev: MixMode ... | Next: OperatorType ...