home *** CD-ROM | disk | FTP | other *** search
- /*
- protocols.h
- Copyright 1991,NeXT Computer,Inc.
- */
-
- #import <store/protocols.h>
-
- typedef int
- IXComparator(const void *data1, unsigned short length1,
- const void *data2, unsigned short length2, const void *context);
-
- #ifndef RELEASE_2
- @protocol IXComparatorSetting
- #else RELEASE_2
- @interface Object (IXComparatorSetting)
- #endif RELEASE_2
-
- // context is arbitrary, caller supplied pointer passed to comparator
- - getComparator:(IXComparator **)comparator andContext:(const void **)context;
- - setComparator:(IXComparator *)comparator andContext:(const void *)context;
-
- @end
-
- #ifndef RELEASE_2
- @protocol IXComparisonSetting
- #else RELEASE_2
- @interface Object (IXComparisonSetting)
- #endif RELEASE_2
-
- // caller supplied comparator is cleared, and format string is installed
- - (const char *)comparisonFormat;
- - setComparisonFormat:(const char *)aFormat;
-
- @end
-
- #ifndef RELEASE_2
- @protocol IXCursorPositioning
- #else RELEASE_2
- @interface Object (IXCursorPositioning)
- #endif RELEASE_2
-
- - (BOOL)setFirst; // pos#ns cursor at first key in key space
- - (BOOL)setLast; // positions cursor at last key in key space
- - (BOOL)setNext; // positions cursor at next key in key space
- - (BOOL)setPrevious; // position cursor at previous key in key space
-
- - (BOOL)getKey:(const void **)key // returns value of key at cursor
- andLength:(unsigned *)length;
- - (BOOL)setKey:(const void *)key // positions cursor at supplied key
- andLength:(unsigned)length;
-
- - (BOOL)isMatch; // true if cursor matched a key on last operation
-
- @end
-
- // a weighted reference to something that can be described by a handle
- typedef struct IXPosting {
- unsigned handle;
- unsigned weight;
- } IXPosting;
-
- #ifndef RELEASE_2
- @protocol IXPostingExchange
- #else RELEASE_2
- @interface Object (IXPostingExchange)
- #endif RELEASE_2
-
- - getCount:(unsigned *)theCount andPostings:(IXPosting **)thePostings;
- - setCount:(unsigned)theCount andPostings:(const IXPosting *)thePostings;
-
- @end
-
- #ifndef RELEASE_2
- @protocol IXPostingOperations
- #else RELEASE_2
- @interface Object (IXPostingOperations)
- #endif RELEASE_2
-
- - addHandle:(unsigned)handle withWeight:(unsigned)weight;
- - removeHandle:(unsigned)handle;
-
- - (unsigned)count;
- - empty;
-
- - (unsigned)setFirstHandle;
- - (unsigned)setNextHandle;
-
- - (unsigned)setHandle:(unsigned)handle;
- - (unsigned)getHandle:(unsigned *)handle
- andWeight:(unsigned *)weight;
-
- @end
-
- extern int
- IXFormatComparator(const void *data1, unsigned short length1,
- const void *data2, unsigned short length2, void *format);
-
- extern int
- IXCompareStrings(const void *data1, unsigned short length1,
- const void *data2, unsigned short length2, const void *context);
-
- extern int
- IXCompareMonocaseStrings(const void *data1, unsigned short length1,
- const void *data2, unsigned short length2, const void *context);
-
- extern int
- IXCompareBytes(const void *data1, unsigned short length1,
- const void *data2, unsigned short length2, const void *context);
-
- extern int
- IXCompareShort(const void *data1, unsigned short length1,
- const void *data2, unsigned short length2, const void *context);
-
- extern int
- IXCompareShorts(const void *data1, unsigned short length1,
- const void *data2, unsigned short length2, const void *context);
-
- extern int
- IXCompareLong(const void *data1, unsigned short length1,
- const void *data2, unsigned short length2, const void *conte$
-
- extern int
- IXCompareLongs(const void *data1, unsigned short length1,
- const void *data2, unsigned short length2, const void *context);
-
- extern int
- IXCompareUnsignedBytes(const void *data1, unsigned short length1,
- const void *data2, unsigned short length2, const void *context);
-
- extern int
- IXCompareUnsignedShort(const void *data1, unsigned short length1,
- const void *data2, unsigned short length2, const void *context);
-
- extern int
- IXCompareUnsignedShorts(const void *data1, unsigned short length1,
- const void *data2, unsigned short length2, const void *context);
-
- extern int
- IXCompareUnsignedLong(const void *data1, unsigned short length1,
- const void *data2, unsigned short length2, const void *context);
-
- extern int
- IXCompareUnsignedLongs(const void *data1, unsigned short length1,
- const void *data2, unsigned short length2, const void *context);
-
- extern int
- IXCompareFloat(const void *data1, unsigned short length1,
- const void *data2, unsigned short length2, const void *context);
-
- extern int
- IXCompareFloats(const void *data1, unsigned short length1,
- const void *data2, unsigned short length2, const void *context);
-
- extern int
- IXCompareDouble(const void *data1, unsigned short length1,
- const void *data2, unsigned short length2, const void *context);
-
- extern int
- IXCompareDoubles(const void *data1, unsigned short length1,
- const void *data2, unsigned short length2, const void *context);
-
- extern int
- IXCompareStringAndUnsigneds(const void *data1, unsigned short length1,
- const void *data2, unsigned short length2, const void *context);
-
- extern int
- IXCompareUnsignedAndStrings(const void *data1, unsigned short length1,
- const void *data2, unsigned short length2, const void *context);
-
-