+YAZ_EXPORT ZEBRA_RES zebra_search_PQF(ZebraHandle zh, const char *pqf_query,
+ const char *setname, zint *hits);
+
+/** \fn ZEBRA_RES zebra_search_RPN(ZebraHandle zh, ODR o, Z_RPNQuery *query,
+ const char *setname, zint *hits)
+ \brief Search using RPN Query
+ \param zh session handle
+ \param o ODR handle
+ \param query RPN query using YAZ structure
+ \param setname name of resultset
+ \param hits number of hits is returned
+ */
+YAZ_EXPORT ZEBRA_RES zebra_search_RPN(ZebraHandle zh, ODR o, Z_RPNQuery *query,
+ const char *setname, zint *hits);
+
+/**
+ \fn ZEBRA_RES zebra_records_retrieve(ZebraHandle zh, ODR stream,
+ const char *setname, Z_RecordComposition *comp, oid_value input_format,
+ int num_recs, ZebraRetrievalRecord *recs)
+ \brief retrieve records from result set (after search)
+ \param zh session handle
+ \param stream allocate records returned using this ODR
+ \param setname name of result set to retrieve records from
+ \param comp Z39.50 record composition
+ \param input_format transfer syntax (OID)
+ \param num_recs number of records to retrieve
+ \param recs store records in this structure (size is num_recs)
+*/
+YAZ_EXPORT
+ZEBRA_RES zebra_records_retrieve(ZebraHandle zh, ODR stream,
+ const char *setname,
+ Z_RecordComposition *comp,
+ oid_value input_format,
+ int num_recs,
+ ZebraRetrievalRecord *recs);
+/**
+ \fn int zebra_deleteResultSet(ZebraHandle zh, int function,
+ int num_setnames, char **setnames, int *statuses)
+ \brief delete one or more resultsets
+ \param zh session handle
+ \param function Z_DeleteResultSetRequest_{list,all}
+ \param num_setnames number of result sets
+ \param setnames result set names
+ \param statuses status result
+*/
+YAZ_EXPORT
+int zebra_deleteResultSet(ZebraHandle zh, int function,
+ int num_setnames, char **setnames,
+ int *statuses);
+
+/**
+ \fn ZEBRA_RES zebra_scan(ZebraHandle zh, ODR stream,
+ Z_AttributesPlusTerm *zapt, oid_value attributeset,
+ int *position, int *num_entries, ZebraScanEntry **list, int *is_partial)
+ \brief performs Scan (Z39.50 style)
+ \param zh session handle
+ \param stream ODR handle for result
+ \param zapt Attribute plus Term (start term)
+ \param attributeset Attributeset for Attribute plus Term
+ \param position input/output position
+ \param num_entries number of terms requested / returned
+ \param list list of resulting terms (ODR allocated)
+ \param is_partial upon return 1=partial, 0=complete
+*/
+YAZ_EXPORT ZEBRA_RES zebra_scan(ZebraHandle zh, ODR stream,
+ Z_AttributesPlusTerm *zapt,
+ oid_value attributeset,
+ int *position, int *num_entries,
+ ZebraScanEntry **list,
+ int *is_partial);