Up: GEOS SDK TechDocs | Up | Prev: ObjIsClassADescendant() ... | Next: ObjVarAddData() ...

ObjResizeMaster()

void	ObjResizeMaster(
        optr	obj,		/* object to have its master part resized */
        word	masterOffset,		/* master offset of proper master part */
        word	newSize);		/* new size for the master part */

This routine resizes a master part of an object's instance chunk. It is typically used to allocate space for a master part or to resize the master part to zero (as when the Vis part of a visible object is removed in MSG_VIS_CLOSE ). This routine must be passed the following three parameters:

obj
The optr of the object whose master part is to be resized.
masterOffset
The offset into the object's instance chunk where the offset to the master part is kept (this is the same offset held in the master class' Class_masterOffset field).
newSize
The new size of the master part. This can be found in the master class' Class_instanceSize field.

Warnings: This routine may resize and/or move chunks or object blocks, thereby invalidating stored segment addresses and pointers.

Include: object.h

See Also: ClassStruct, ObjInitializeMaster(), ObjInitializePart().

ObjResizeMasterHandles()

void	ObjResizeMasterHandles(
        MemHandle		mh,				/* handle portion of optr */
        ChunkHandle		ch,				/* chunk portion of optr */
        word		masterOffset,				/* offset to master part */
        word		newSize);				/* new size of master part */

This routine is the same as ObjResizeMaster() except that the object is specified with its handles rather than its optr.

Include: object.h

ObjSaveBlock()

void	ObjSaveBlock(
        MemHandle mh);			/*handle of block to be marked for saving */

This routine sets up an object or LMem block to be saved to its owner's state file. The block's handle must be passed in mh . The block must be an object block.

Include: object.h

See Also: ObjMapSavedToState(), ObjMapStateToSaved().

ObjSetFlags()

void	ObjSetFlags(
        optr		o,				/* object whose flags will be set */
        ObjChunkFlags 		bitsToSet,				/* flags to set */
        ObjChunkFlags		bitsToClear);				/* flags to clear */

This routine sets the chunk flags for the specified object. Flags that should be set are passed in bitsToSet , and flags that should be cleared are passed in bitsToClear . Typically, applications will not use this routine but will rather let the kernel maintain the object's flags.

Include: object.h

See Also: ObjGetFlags(), ObjChunkFlags.

ObjSetFlagsHandles()

void	ObjSetFlagsHandles(
        MemHandle		mh,				/* handle portion of optr */
        ChunkHandle		ch,				/* chunk portion of optr */
        ObjChunkFlags		bitsToSet,				/* flags to set */
        ObjChunkFlags		bitsToClear);				/* flags to clear */

This routine is the same as ObjSetFlags() except that the object is specified via its handles rather than its optr.

Include: object.h

ObjTestIfObjBlockRunByCurThread()

Boolean	ObjTestIfObjBlockRunByCurThread(
        MemHandle mh);			/* handle of object block */

This routine checks if the calling thread is running the specified object block. This routine can be used to determine if calls to objects in the block are across threads or internal to the calling thread. Pass this routine the handle of the object block to be checked--if the object block is a VM block, the thread for the VM file is checked rather than that for the block.

If the block is run by the calling thread, the return value is true . If a different thread runs the block, the return is false (zero).

Include: object.h

ObjUnrelocateEntryPoint()

void	ObjUnrelocateEntryPoint(
        EntryPointRelocation *			relocData,
        void *			entryPoint);

Up: GEOS SDK TechDocs | Up | Prev: ObjIsClassADescendant() ... | Next: ObjVarAddData() ...