From 6295998029aa62f64729e15d4a7ffb0038045d78 Mon Sep 17 00:00:00 2001 From: Sebastian Hammer Date: Wed, 7 Jun 1995 14:36:22 +0000 Subject: [PATCH] Added CLOSE --- asn/proto.c | 27 ++++++++++++++++++++++++++- asn/zget.c | 18 +++++++++++++++++- include/proto.h | 34 ++++++++++++++++++++++++++++++++-- 3 files changed, 75 insertions(+), 4 deletions(-) diff --git a/asn/proto.c b/asn/proto.c index 26ca7bf..874830d 100644 --- a/asn/proto.c +++ b/asn/proto.c @@ -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} }; diff --git a/asn/zget.c b/asn/zget.c index 4d58e17..6d7794d 100644 --- a/asn/zget.c +++ b/asn/zget.c @@ -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)); diff --git a/include/proto.h b/include/proto.h index 760aa7f..7769f62 100644 --- a/include/proto.h +++ b/include/proto.h @@ -24,7 +24,10 @@ * 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 -- 1.7.10.4