+ void *fh; /* File handle and read function */
+ int (*readf)(void *fh, char *buf, size_t count);
+ off_t (*seekf)(void *fh, off_t offset); /* seek function */
+ off_t (*tellf)(void *fh); /* tell function */
+ void (*endf)(void *fh, off_t offset); /* end of record position */
+ off_t offset; /* start offset */
+ char *subType;
+ void (*init)(struct recExtractCtrl *p, RecWord *w);
+ void *clientData;
+ void (*tokenAdd)(RecWord *w);
+ ZebraMaps zebra_maps;
+ int flagShowRecords;
+ int seqno[256];
+ void (*schemaAdd)(struct recExtractCtrl *p, Odr_oid *oid);
+ data1_handle dh;
+ void *handle;
+};
+
+/* Retrieve record control */
+struct recRetrieveCtrl {
+ /* Input parameters ... */
+ Res res; /* Resource pool */
+ ODR odr; /* ODR used to create response */
+ void *fh; /* File descriptor and read function */
+ int (*readf)(void *fh, char *buf, size_t count);
+ off_t (*seekf)(void *fh, off_t offset);
+ off_t (*tellf)(void *fh);
+ oid_value input_format; /* Preferred record syntax */
+ Z_RecordComposition *comp; /* formatting instructions */
+ char *encoding; /* preferred character encoding */
+ int localno; /* local id of record */
+ int score; /* score 0-1000 or -1 if none */
+ int recordSize; /* size of record in bytes */
+ char *fname; /* name of file (or NULL if internal) */
+ char *subType;
+ data1_handle dh;
+
+ /* response */
+ oid_value output_format;
+ void *rec_buf;
+ int rec_len;
+ int diagnostic;
+ char *message;