--- XXXXX XXXX/XX/XX
-Front-end can now start from the inetd in TCP mode. Doc updated.
+z_External() now won't break if a known, ASN.1 value comes encapsulated
+in an octet-string. The value will pass through unmodified in an Odr_oct.
+
+Added a bit of code to the demo client to decode & display
+ASN.1-structured records represented in the octet-aligned branch of
+the EXTERNAL CHOICE. Thanks to CAS for prodding us to finally do this.
+
+Added z_ext_getentbyref() to the ASN module. Doc updated.
+
+* Completed the SCAN definition in the ASN module. This may break SCAN
+code based on older YAZ-versions at compile-time. The fix is easy -
+look in proto.h.
+
+* Added 'displayTerm' and OtherInformation to the TermInfo structure
+under the SCAN definition. Remember to initialize this, server-people.
+
+Comstack allows insertion of established socket (primarily for
+inetd-operation of servers). Doc updated.
+
+Front-end server can now start from the inetd in TCP mode. Doc
+updated.
--- 1.0pl4 1996/1/24
* OF THIS SOFTWARE.
*
* $Log: oid.h,v $
- * Revision 1.11 1996-01-02 08:57:30 quinn
+ * Revision 1.12 1996-02-20 12:52:37 quinn
+ * Various
+ *
+ * Revision 1.11 1996/01/02 08:57:30 quinn
* Changed enums in the ASN.1 .h files to #defines. Changed oident.class to oclass
*
* Revision 1.10 1995/11/13 09:27:31 quinn
{
PROTO_Z3950,
PROTO_SR,
- PROTO_GENERAL
+ PROTO_GENERAL,
+ PROTO_WAIS
} oid_proto;
typedef enum oid_class
* OF THIS SOFTWARE.
*
* $Log: proto.h,v $
- * Revision 1.31 1996-01-22 09:46:45 quinn
+ * Revision 1.32 1996-02-20 12:52:39 quinn
+ * Various
+ *
+ * Revision 1.31 1996/01/22 09:46:45 quinn
* Added Sort PDU. Moved StringList to main protocol file.
*
* Revision 1.30 1996/01/10 15:21:32 quinn
Z_AttributesPlusTerm **terms;
} Z_AlternativeTerm;
+#if 1
+
+typedef struct Z_ByDatabase
+{
+ char *db;
+ int *num; /* OPTIONAL */
+ Z_OtherInformation *otherDbInfo; /* OPTIONAL */
+} Z_ByDatabase;
+
+typedef struct Z_ByDatabaseList
+{
+ int num_elements;
+ Z_ByDatabase **elements;
+} Z_ByDatabaseList;
+
+typedef struct Z_ScanOccurrences
+{
+ int which;
+#define Z_ScanOccurrences_global 0
+#define Z_ScanOccurrences_byDatabase 1
+ union
+ {
+ int *global;
+ Z_ByDatabaseList *byDatabase;
+ } u;
+
+} Z_ScanOccurrences;
+
+typedef struct Z_OccurrenceByAttributes
+{
+ Z_AttributeList *attributes;
+ Z_ScanOccurrences *occurrences; /* OPTIONAL */
+ Z_OtherInformation *otherOccurInfo; /* OPTIONAL */
+} Z_OccurrenceByAttributes;
+
+#else
+
+/*
+ * Old, incomplete definition of OccurrenceByAttributes.
+ */
+
typedef struct Z_OccurrenceByAttributes
{
Z_AttributeList *attributes;
#endif
} Z_OccurrenceByAttributes;
+#endif
+
typedef struct Z_TermInfo
{
Z_Term *term;
+ char *displayTerm; /* OPTIONAL */
Z_AttributeList *suggestedAttributes; /* OPTIONAL */
Z_AlternativeTerm *alternativeTerm; /* OPTIONAL */
int *globalOccurrences; /* OPTIONAL */
Z_OccurrenceByAttributes *byAttributes; /* OPTIONAL */
+ Z_OtherInformation *otherTermInfo; /* OPTIONAL */
} Z_TermInfo;
typedef struct Z_Entry
#include <yconfig.h>
+/*
+ * Used to keep track of known External definitions (a loose approach
+ * to DEFINED_BY).
+ */
+
+typedef struct Z_ext_typeent
+{
+ oid_value dref; /* the direct-reference OID value. */
+ int what; /* discriminator value for the external CHOICE */
+ Odr_fun fun; /* decoder function */
+} Z_ext_typeent;
+
struct Z_External
{
Odr_oid *direct_reference;
};
int z_External(ODR o, Z_External **p, int opt);
+Z_ext_typeent *z_ext_getentbyref(oid_value val);
#endif
char *odr_errmsg(int n);
Odr_oid *odr_getoidbystr(ODR o, char *str);
int odr_initmember(ODR o, void *p, int size);
+int odr_peektag(ODR o, int *class, int *tag, int *cons);
#endif