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.
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*QSP_lockCallback
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
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
QSP_insertLimit
elements in a sublist,
ArrayQuickSort()
will use an insertion sort for that sublist, rather than a QuickSort.QSP_medianLimitQSP_medianLimit
elements in a sublist, ArrayQuickSort() will use the first element as a partition, instead of searching for the median element.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().
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
typedef ByteFlags RangeSortCellExistsFlags; #define RSCEF_SECOND_CELL_EXISTS 0x02 #define RSCEF_FIRST_CELL_EXISTS 0x01
GEOS SDK TechDocs|
|
Point ... |
RangeSortFlags ...