Up: GEOS SDK TechDocs| Up | Prev: Point ... | Next: RangeSortFlags ...

ProtocolNumber

typedef struct {
    word	PN_major;
    word	PN_minor;
} ProtocolNumber;

Defines the protocol level of a file, geode, or document. PN_major represents significant compatibility comparisons, and PN_minor represents less significant differences. If the major protocol is different between to items, they are incompatible. If the minor protocol is different, they may or may not be incompatible.

QueueHandle

typedef Handle QueueHandle;

 

QuickSortParameters

typedef struct _QuickSortParameters {
    word _pascal (*QSP_compareCallback) (void *			el1, 
					 void *			el2,
			 		 word 			valueForCallback));
    void _pascal (*QSP_lockCallback) (void *el, word valueForCallback));
    void _pascal (*QSP_unlockCallback) (void *el, word valueForCallback));
    word 		QSP_insertLimit;
    word 		QSP_medianLimit;
 
/* These are set internally by the quicksort algorithm and should not
 * be set by the caller: */
    word 		QSP_nLesser;
    word 		QSP_nGreater;
} QuickSortParameters;

This structure is passed to ArrayQuickSort(). The fields have the following meanings:

*QSP_compareCallback
This routine is called to compare elements. It should be declared _pascal. It should return a positive value if *el1 ought to come before *e2 in the sorted list; a negative value if *el1 ought to come after *e2 in the sorted list; and zero if it doesn't matter which comes first.
*QSP_lockCallback
This routine is called before ArrayQuickSort() examines or changes any element. It should be declared _pascal. You can pass a null function pointer, indicating that no locking callback routine should be called.
*QSP_unlockCallback
This routine is called after ArrayQuickSort() examines or changes any element. It should be declared _pascal. You can pass a null function pointer, indicating that no unlocking callback routine should be called.
QSP_insertLimit
If there are fewer than QSP_insertLimit elements in a sublist, ArrayQuickSort() will use an insertion sort for that sublist, rather than a QuickSort.
QSP_medianLimit
If there are fewer than QSP_medianLimit elements in a sublist, ArrayQuickSort() will use the first element as a partition, instead of searching for the median element.

RangeEnumCallbackParams

See RangeEnum().

RangeEnumFlags

typedef ByteFlags RangeEnumFlags;
#define REF_ALL_CELLS							0x80
#define REF_NO_LOCK							0x40
#define REF_COLUMN_FLAGS							0x20
#define REP_MATCH_COLUMN_FLAGS							0x10
#define REF_CELL_ALLOCATED							0x08
#define REF_CELL_FREED							0x04
#define REF_OTHER_ALLOC_OR_FREE							0x02
#define REF_COLUMN_FLAGS_MODIFIED							0x01

These flags are used by RangeEnum().

RangeEnumParams

typedef struct {
PCB(RANGE_ENUM_CALLBACK_RETURN_TYPE, REP_callback,
										(RangeEnumCallbackParams));
Rectangle				REP_bounds;
byte				REP_columnFlags;
word				*REP_columnFlagsArray;
CellFunctionParameters				*REP_cfp;
byte				REP_matchFlags;
word				*REP_locals;
} RangeEnumParams;

This structure is used by two routines, RangeEnum() and CellGetExtent(). When it is used by RangeEnum(), the structure specifies all the details about how RangeEnum() will function. CellGetExtent() is passed a blank RangeEnumParams structure; it fills in the REP_bounds field.

The callback routine, if any, should be declared _pascal.

Include: cell.h

RangeInsertParams

See RangeInsert().:

RangeSortError

typedef enum /* word */ {
RSE_NO_ERROR,
RSE_UNABLE_TO_ALLOC,
} RangeSortError;

 

RangeSortCellExistFlags

typedef ByteFlags RangeSortCellExistsFlags;
#define RSCEF_SECOND_CELL_EXISTS 0x02
#define RSCEF_FIRST_CELL_EXISTS 0x01

 


Up: GEOS SDK TechDocs| Up | Prev: Point ... | Next: RangeSortFlags ...