aboutsummaryrefslogtreecommitdiffstats
path: root/asn1
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2004-11-21 21:29:10 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2004-11-21 21:29:10 +0000
commit7bd55170ac24f3a6ca692bf65bc8451e2c09c4b5 (patch)
tree9530f211cb6f7864b668c5a94c95fe5e21d1d110 /asn1
parentacc3b28324bd0f773431cd0f53a58cbc5fb0bc0c (diff)
update to cmip
add functions m-action and m-action-confirmed svn path=/trunk/; revision=12564
Diffstat (limited to 'asn1')
-rw-r--r--asn1/cmip/CMIP.asn29
-rw-r--r--asn1/cmip/cmip.cnf26
-rw-r--r--asn1/cmip/packet-cmip-template.c7
3 files changed, 62 insertions, 0 deletions
diff --git a/asn1/cmip/CMIP.asn b/asn1/cmip/CMIP.asn
index 95d7fb16b1..2f7fa089d2 100644
--- a/asn1/cmip/CMIP.asn
+++ b/asn1/cmip/CMIP.asn
@@ -10,6 +10,35 @@ IMPORTS
FROM InformationFramework;
+ActionReply ::= SEQUENCE {
+ actionType OBJECT IDENTIFIER,
+ actionReplyInfo [4] ANY
+}
+
+ActionResult ::= SEQUENCE {
+ managedObjectClass ObjectClass OPTIONAL,
+ managedObjectInstance ObjectInstance OPTIONAL,
+ currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
+ actionReply [6] IMPLICIT ActionReply OPTIONAL,
+ ...
+}
+
+ActionArgument ::= SEQUENCE {
+ baseManagedObjectClass ObjectClass,
+ baseManagedObjectInstance ObjectInstance,
+ accessControl [5] AccessControl OPTIONAL,
+ synchronization [6] IMPLICIT CMISSync OPTIONAL,
+ scope [7] Scope OPTIONAL,
+ filter CMISFilter OPTIONAL,
+ actionInfo [12] IMPLICIT ActionInfo,
+ ...
+}
+
+ActionInfo ::= SEQUENCE {
+ actionType OBJECT IDENTIFIER,
+ actionInfoArg [4] ANY OPTIONAL
+}
+
ObjectClass ::= CHOICE {
ocglobalForm [0] IMPLICIT OBJECT IDENTIFIER,
oclocalForm [1] IMPLICIT INTEGER
diff --git a/asn1/cmip/cmip.cnf b/asn1/cmip/cmip.cnf
index 646cc35c1b..29737f795e 100644
--- a/asn1/cmip/cmip.cnf
+++ b/asn1/cmip/cmip.cnf
@@ -98,6 +98,12 @@ ROS
case 3: /* M-get */
offset = dissect_cmip_GetArgument(FALSE, tvb, offset, pinfo, tree, -1);
break;
+ case 6: /* M-action*/
+ offset = dissect_cmip_ActionInfo(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
+ case 7: /* M-action-confirmed*/
+ offset = dissect_cmip_ActionInfo(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
}
break;
case OPCODE_RETURN_RESULT:
@@ -105,6 +111,11 @@ ROS
case 3: /* M-get */
offset = dissect_cmip_GetResult(FALSE, tvb, offset, pinfo, tree, -1);
break;
+ case 6: /* M-action*/
+ break; /* No return data */
+ case 7: /* M-action-confirmed*/
+ offset = dissect_cmip_ActionResult(FALSE, tvb, offset, pinfo, tree, -1);
+ break;
}
break;
/*XXX add more types here */
@@ -119,6 +130,21 @@ ROS
objectclassform = OBJECTCLASS_LOCAL_FORM;
offset = dissect_ber_integer_new(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_oclocalForm, NULL);
+#.FN_BODY ActionInfo/actionType
+ offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
+ hf_cmip_actionType_OID, object_identifier_id);
+
+#.FN_BODY ActionInfo/actionInfoArg
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
+
+#.FN_BODY ActionReply/actionType
+ offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
+ hf_cmip_actionType_OID, object_identifier_id);
+
+#.FN_BODY ActionReply/actionReplyInfo
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
+
+
#.END
diff --git a/asn1/cmip/packet-cmip-template.c b/asn1/cmip/packet-cmip-template.c
index 5eddcc2af9..f06c8ff1fd 100644
--- a/asn1/cmip/packet-cmip-template.c
+++ b/asn1/cmip/packet-cmip-template.c
@@ -47,6 +47,7 @@
/* Initialize the protocol and registered fields */
int proto_cmip = -1;
+static int hf_cmip_actionType_OID = -1;
#include "packet-cmip-hf.c"
/* Initialize the subtree pointers */
@@ -66,6 +67,8 @@ static int attributeform;
#define ATTRIBUTE_GLOBAL_FORM 1
static char attribute_identifier_id[64]; /*64 chars should be long enough? */
+static char object_identifier_id[64]; /*64 chars should be long enough? */
+
static int objectclassform;
#define OBJECTCLASS_LOCAL_FORM 0
#define OBJECTCLASS_GLOBAL_FORM 1
@@ -133,6 +136,10 @@ void proto_register_cmip(void) {
/* List of fields */
static hf_register_info hf[] = {
+ { &hf_cmip_actionType_OID,
+ { "actionType", "cmip.actionType_OID",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "actionType", HFILL }},
#include "packet-cmip-hfarr.c"
};