Added CLOSE
authorSebastian Hammer <quinn@indexdata.com>
Wed, 7 Jun 1995 14:36:22 +0000 (14:36 +0000)
committerSebastian Hammer <quinn@indexdata.com>
Wed, 7 Jun 1995 14:36:22 +0000 (14:36 +0000)
asn/proto.c
asn/zget.c
include/proto.h

index 26ca7bf..874830d 100644 (file)
@@ -4,7 +4,10 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: proto.c,v $
- * Revision 1.26  1995-06-02 09:49:13  quinn
+ * Revision 1.27  1995-06-07 14:36:22  quinn
+ * Added CLOSE
+ *
+ * Revision 1.26  1995/06/02  09:49:13  quinn
  * Adding access control
  *
  * Revision 1.25  1995/05/25  11:00:08  quinn
@@ -1113,6 +1116,27 @@ int z_DeleteResultSetResponse(ODR o, Z_DeleteResultSetResponse **p, int opt)
        odr_sequence_end(o);
 }
 
+/* ------------------------ CLOSE SERVICE ---------------- */
+
+int z_Close(ODR o, Z_Close **p, int opt)
+{
+    if (!odr_sequence_begin(o, p, sizeof(**p)))
+       return opt && odr_ok(o);
+    return
+       z_ReferenceId(o, &(*p)->referenceId, 1) &&
+       odr_implicit(o, odr_integer, &(*p)->closeReason, ODR_CONTEXT, 211, 0) &&
+       odr_implicit(o, odr_visiblestring, &(*p)->diagnosticInformation,
+           ODR_CONTEXT, 3, 1) &&
+       odr_implicit(o, odr_oid, &(*p)->resourceReportFormat, ODR_CONTEXT,
+           4, 1) &&
+       odr_implicit(o, odr_external, &(*p)->resourceReport, ODR_CONTEXT,
+           5, 1) &&
+#ifdef Z_OTHERINFO
+       z_OtherInformation(o, &(*p)->otherInfo, 1) &&
+#endif
+       odr_sequence_end(o);
+}
+
 /* ------------------------ APDU ------------------------- */
 
 int z_APDU(ODR o, Z_APDU **p, int opt)
@@ -1140,6 +1164,7 @@ int z_APDU(ODR o, Z_APDU **p, int opt)
            z_TriggerResourceControlRequest},
        {ODR_IMPLICIT, ODR_CONTEXT, 35, Z_APDU_scanRequest, z_ScanRequest},
        {ODR_IMPLICIT, ODR_CONTEXT, 36, Z_APDU_scanResponse, z_ScanResponse},
+       {ODR_IMPLICIT, ODR_CONTEXT, 48, Z_APDU_close, z_Close},
 
        {-1, -1, -1, -1, 0}
     };
index 4d58e17..6d7794d 100644 (file)
@@ -4,7 +4,10 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: zget.c,v $
- * Revision 1.3  1995-06-05 10:52:06  quinn
+ * Revision 1.4  1995-06-07 14:36:25  quinn
+ * Added CLOSE
+ *
+ * Revision 1.3  1995/06/05  10:52:06  quinn
  * Fixed some negligences.
  *
  * Revision 1.2  1995/05/30  10:15:49  quinn
@@ -252,6 +255,19 @@ Z_AccessControlResponse *zget_AccessControlResponse(ODR o)
     return r;
 }
 
+Z_Close *zet_Close(ODR o)
+{
+    Z_Close *r = odr_malloc(o, sizeof(*r));
+
+    r->referenceId = 0;
+    r->closeReason = odr_malloc(o, sizeof(int));
+    *r->closeReason = Z_Close_finished;
+    r->diagnosticInformation = 0;
+    r->resourceReportFormat = 0;
+    r->resourceReport = 0;
+    return r;
+}
+
 Z_APDU *zget_APDU(ODR o, enum Z_APDU_which which)
 {
     Z_APDU *r = odr_malloc(o, sizeof(*r));
index 760aa7f..7769f62 100644 (file)
  * OF THIS SOFTWARE.
  *
  * $Log: proto.h,v $
- * Revision 1.12  1995-06-05 10:53:13  quinn
+ * Revision 1.13  1995-06-07 14:36:47  quinn
+ * Added CLOSE
+ *
+ * Revision 1.12  1995/06/05  10:53:13  quinn
  * Smallish.
  *
  * Revision 1.11  1995/06/02  09:49:47  quinn
@@ -766,6 +769,30 @@ typedef struct Z_DeleteResultSetResponse
 #endif
 } Z_DeleteResultSetResponse;
 
+/* ------------------------ CLOSE SERVICE ------------------- */
+
+typedef struct Z_Close
+{
+    Z_ReferenceId *referenceId;         /* OPTIONAL */
+    int *closeReason;
+#define Z_Close_finished           0
+#define Z_Close_shutdown           1
+#define Z_Close_systemProblem      2
+#define Z_Close_costLimit          3
+#define Z_Close_resources          4
+#define Z_Close_securityViolation  5
+#define Z_Close_protocolError      6
+#define Z_Close_lackOfActivity     7
+#define Z_Close_peerAbort          8
+#define Z_Close_unspecified        9
+    char *diagnosticInformation;          /* OPTIONAL */
+    Odr_oid *resourceReportFormat;        /* OPTIONAL */
+    Odr_external *resourceReport;         /* OPTIONAL */
+#ifdef Z_OTHERINFO
+    Z_OtherInformation *otherInfo;        /* OPTIONAL */
+#endif
+} Z_Close;
+
 /* ------------------------ APDU ---------------------------- */
 
 typedef struct Z_APDU
@@ -784,7 +811,8 @@ typedef struct Z_APDU
        Z_APDU_resourceControlResponse,
        Z_APDU_triggerResourceControlRequest,
        Z_APDU_scanRequest,
-       Z_APDU_scanResponse
+       Z_APDU_scanResponse,
+       Z_APDU_close
     } which;
     union
     {
@@ -801,6 +829,7 @@ typedef struct Z_APDU
        Z_TriggerResourceControlRequest *triggerResourceControlRequest;
        Z_ScanRequest *scanRequest;
        Z_ScanResponse *scanResponse;
+       Z_Close *close;
     } u;
 } Z_APDU;
 
@@ -819,6 +848,7 @@ Z_ScanResponse *zget_ScanResponse(ODR o);
 Z_TriggerResourceControlRequest *zget_TriggerResourceControlRequest(ODR o);
 Z_ResourceControlRequest *zget_ResourceControlRequest(ODR o);
 Z_ResourceControlResponse *zget_ResourceControlResponse(ODR o);
+Z_Close *zet_Close(ODR o);
 Z_APDU *zget_APDU(ODR o, enum Z_APDU_which which);
 
 #include <prt-rsc.h>