/*
- * Copyright (C) 1994-1995, Index Data I/S
+ * Copyright (C) 1994-1997, Index Data I/S
* All rights reserved.
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: recctrl.h,v $
- * Revision 1.14 1996-05-09 07:28:49 quinn
+ * Revision 1.20 1997-09-17 12:19:10 adam
+ * Zebra version corresponds to YAZ version 1.4.
+ * Changed Zebra server so that it doesn't depend on global common_resource.
+ *
+ * Revision 1.19 1997/09/05 15:30:02 adam
+ * Changed prototype for chr_map_input - added const.
+ * Added support for C++, headers uses extern "C" for public definitions.
+ *
+ * Revision 1.18 1997/09/04 13:56:15 adam
+ * Added new filter grs.marc.<syntax> where <syntax> refers to
+ * abstract syntax. New method tellf in extract/retrieve control
+ * block.
+ *
+ * Revision 1.17 1997/04/30 08:56:04 quinn
+ * null
+ *
+ * Revision 1.16 1996/10/11 10:56:25 adam
+ * New module recctrl. Used to manage records (extract/retrieval).
+ * All record types are accessed by means of definitions in recctrl.h.
+ *
+ * Revision 1.15 1996/06/06 12:08:16 quinn
+ * Added showRecord Group entry
+ *
+ * Revision 1.14 1996/05/09 07:28:49 quinn
* Work towards phrases and multiple registers
*
* Revision 1.13 1996/05/01 13:44:05 adam
#include <proto.h>
#include <oid.h>
#include <odr.h>
+#include <data1.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+ Word_String,
+ Word_Phrase,
+ Word_Numeric
+} RecWordType;
/* single word entity */
typedef struct {
int attrSet;
int attrUse;
+ RecWordType which;
+#if 0
enum {
Word_String,
Word_Phrase,
Word_Numeric
} which;
+#endif
union {
char *string;
int numeric;
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)(RecWord *p);
void (*add)(const RecWord *p);
+ const char **(*map_chrs_input)(const char **from, int len);
+ int flagShowRecords;
+ data1_handle dh;
};
/* Retrieve record control */
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 */
int localno; /* local id of record */
int score; /* score 0-1000 or -1 if none */
char *subType;
+ data1_handle dh;
/* response */
oid_value output_format;
RecType recType_byName (const char *name, char *subType);
+#ifdef __cplusplus
+}
+#endif
+
#endif