+ void *(*create)(ZebraHandle zh);
+ void (*destroy)(ZebraHandle zh, void *class_handle);
+ void *(*begin)(ZebraHandle zh, void *class_handle, RSET rset);
+ void (*end)(ZebraHandle zh, void *set_handle);
+ int (*calc)(void *set_handle, int sysno);
+ void (*add)(void *set_handle, int seqno, int term_index);
+};
+
+void rpn_search (ZebraHandle zh, ODR stream,
+ Z_RPNQuery *rpn, int num_bases, char **basenames,
+ const char *setname);
+
+
+typedef struct {
+ int occurrences;
+ char *term;
+} ZebraScanEntry;
+
+void rpn_scan (ZebraHandle zh, ODR stream, Z_AttributesPlusTerm *zapt,
+ oid_value attributeset,
+ int num_bases, char **basenames,
+ int *position, int *num_entries, ZebraScanEntry **list,
+ int *is_partial);
+
+RSET rset_trunc (ZebraHandle zh, ISAM_P *isam_p, int no,
+ const char *term, int length_term, const char *flags);
+
+ZebraSet resultSetAdd (ZebraHandle zh, const char *name,
+ int ov, RSET rset, int *hits);
+ZebraSet resultSetGet (ZebraHandle zh, const char *name);
+RSET resultSetRef (ZebraHandle zh, Z_ResultSetId *resultSetId);
+void resultSetDestroy (ZebraHandle zh);
+
+ZebraPosSet zebraPosSetCreate (ZebraHandle zh, const char *name,
+ int num, int *positions);
+void zebraPosSetDestroy (ZebraHandle zh, ZebraPosSet records, int num);
+
+void resultSetSort (ZebraHandle zh, ODR stream,
+ int num_input_setnames, char **input_setnames,
+ char *output_setname, Z_SortKeySpecList *sort_sequence,
+ int *sort_status);
+
+void zebra_sort (ZebraHandle zh, ODR stream,
+ int num_input_setnames, char **input_setnames,
+ char *output_setname, Z_SortKeySpecList *sort_sequence,
+ int *sort_status);
+
+void zlog_rpn (Z_RPNQuery *rpn);
+void zlog_scan (Z_AttributesPlusTerm *zapt, oid_value ast);
+
+int zebra_server_lock_init (ZebraHandle zh);
+int zebra_server_lock_destroy (ZebraHandle zh);
+int zebra_server_lock (ZebraHandle zh, int lockCommit);
+void zebra_server_unlock (ZebraHandle zh, int commitPhase);
+int zebra_server_lock_get_state (ZebraHandle zh, time_t *timep);
+
+typedef struct attent
+{
+ int attset_ordinal;
+ data1_local_attribute *local_attributes;
+} attent;
+
+void zebraRankInstall (ZebraHandle zh, struct rank_control *ctrl);
+ZebraRankClass zebraRankLookup (ZebraHandle zh, const char *name);
+void zebraRankDestroy (ZebraHandle zh);
+
+int att_getentbyatt(ZebraHandle zh, attent *res, oid_value set, int att);
+
+extern struct rank_control *rank1_class;
+
+ZebraHandle zebra_open (const char *host, const char *configName);
+void zebra_search_rpn (ZebraHandle zh, ODR stream,
+ Z_RPNQuery *query, int num_bases, char **basenames,
+ const char *setname);
+