20 #ifndef IDZEBRA_RECCTRL_H
21 #define IDZEBRA_RECCTRL_H
23 #include <sys/types.h>
24 #include <yaz/proto.h>
33 #define ZEBRA_XPATH_ELM_BEGIN "_XPATH_BEGIN"
36 #define ZEBRA_XPATH_ELM_END "_XPATH_END"
39 #define ZEBRA_XPATH_CDATA "_XPATH_CDATA"
42 #define ZEBRA_XPATH_ATTR_NAME "_XPATH_ATTR_NAME"
45 #define ZEBRA_XPATH_ATTR_CDATA "_XPATH_ATTR_CDATA"
47 #define ZEBRA_GROUP_INDEX_NAME "_GROUP_"
163 #define RECCTRL_EXTRACT_OK 0
164 #define RECCTRL_EXTRACT_EOF 1
165 #define RECCTRL_EXTRACT_ERROR_GENERIC 2
166 #define RECCTRL_EXTRACT_ERROR_NO_SUCH_FILTER 3
167 #define RECCTRL_EXTRACT_SKIP 4
177 const char *module_path);
181 const char *module_path);
188 void (*cb)(
void *cd,
const char *s));
void recTypeClass_load_modules(RecTypeClass *rts, NMEM nmem, const char *module_path)
RecTypeClass recTypeClass_add_modules(Res res, NMEM nmem, const char *module_path)
void recTypeClass_destroy(RecTypeClass rtc)
struct recTypes * RecTypes
RecTypeClass recTypeClass_create(Res res, NMEM nmem)
void recTypes_destroy(RecTypes recTypes)
struct recTypeClass * RecTypeClass
void recTypeClass_info(RecTypeClass rtc, void *cd, void(*cb)(void *cd, const char *s))
RecTypes recTypes_init(RecTypeClass rtc, data1_handle dh)
RecType recType_byName(RecTypes rts, Res res, const char *name, void **clientDataP)
void recTypes_default_handlers(RecTypes recTypes, Res res)
struct recExtractCtrl * extractCtrl
void(* destroy)(struct ZebraRecStream *s)
close and destroy stream
off_t(* seekf)(struct ZebraRecStream *s, off_t offset)
seek function
off_t(* endf)(struct ZebraRecStream *s, off_t *offset)
set and get of record position
int(* readf)(struct ZebraRecStream *s, char *buf, size_t count)
read function
off_t(* tellf)(struct ZebraRecStream *s)
tell function
const Odr_oid * input_format
int(* special_fetch)(void *handle, const char *esn, const Odr_oid *input_format, const Odr_oid **output_format, WRBUF result, WRBUF addinfo)
Z_RecordComposition * comp
struct ZebraRecStream * stream
const Odr_oid * output_format
int(* retrieve)(void *clientData, struct recRetrieveCtrl *ctrl)
void(* destroy)(void *clientData)
int(* extract)(void *clientData, struct recExtractCtrl *ctrl)
ZEBRA_RES(* config)(void *clientData, Res res, const char *args)
short ZEBRA_RES
Common return type for Zebra API.