Various
authorSebastian Hammer <quinn@indexdata.com>
Tue, 20 Feb 1996 12:50:45 +0000 (12:50 +0000)
committerSebastian Hammer <quinn@indexdata.com>
Tue, 20 Feb 1996 12:50:45 +0000 (12:50 +0000)
CHANGELOG
include/oid.h
include/proto.h
include/prt-ext.h
include/prt.h

index fd70d2b..1592b07 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,7 +2,27 @@ Possible compatibility problems with earlier versions marked with '*'.
 
 --- 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
 
index 8feb61c..64af528 100644 (file)
  * 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
@@ -74,7 +77,8 @@ typedef enum oid_proto
 {
     PROTO_Z3950,
     PROTO_SR,
-    PROTO_GENERAL
+    PROTO_GENERAL,
+    PROTO_WAIS
 } oid_proto;
 
 typedef enum oid_class
index 2f77eea..c4ed95c 100644 (file)
  * 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
@@ -835,6 +838,47 @@ typedef struct Z_AlternativeTerm
     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;
@@ -852,13 +896,17 @@ typedef struct Z_OccurrenceByAttributes
 #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
index 9e1f48f..25ffa42 100644 (file)
 
 #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;
@@ -77,5 +89,6 @@ struct Z_External
 };
 
 int z_External(ODR o, Z_External **p, int opt);
+Z_ext_typeent *z_ext_getentbyref(oid_value val);
 
 #endif
index 6158275..fd7dc73 100644 (file)
@@ -51,5 +51,6 @@ int odr_total(ODR o);
 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