cmip update add all remaining functions Arguments and Results
svn path=/trunk/; revision=12570
This commit is contained in:
parent
6ec445bfe4
commit
f833c77dff
|
@ -9,6 +9,223 @@ IMPORTS
|
|||
DistinguishedName, RDNSequence
|
||||
FROM InformationFramework;
|
||||
|
||||
ModificationItem ::= SEQUENCE {
|
||||
modifyOperator [2] IMPLICIT ModifyOperator OPTIONAL,
|
||||
attributeId OBJECT IDENTIFIER,
|
||||
attributeValue ANY OPTIONAL
|
||||
}
|
||||
|
||||
GetListError ::= SEQUENCE {
|
||||
managedObjectClass ObjectClass OPTIONAL,
|
||||
managedObjectInstance ObjectInstance OPTIONAL,
|
||||
currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
|
||||
getInfoList [6] IMPLICIT SET OF GetInfoStatus,
|
||||
...
|
||||
}
|
||||
|
||||
ModifyOperator ::= INTEGER {
|
||||
replace(0), addValues(1), removeValues(2), setToDefault(3)}
|
||||
|
||||
GetInfoStatus ::= CHOICE {
|
||||
attributeIdError [0] IMPLICIT AttributeIdError,
|
||||
attribute [1] IMPLICIT Attribute
|
||||
}
|
||||
|
||||
AttributeIdError ::= SEQUENCE {
|
||||
errorStatus ENUMERATED {accessDenied(2), noSuchAttribute(5), ...
|
||||
},
|
||||
attributeId AttributeId,
|
||||
...
|
||||
}
|
||||
|
||||
SetListError ::= SEQUENCE {
|
||||
managedObjectClass ObjectClass OPTIONAL,
|
||||
managedObjectInstance ObjectInstance OPTIONAL,
|
||||
currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
|
||||
setInfoList [6] IMPLICIT SET OF SetInfoStatus,
|
||||
...
|
||||
}
|
||||
|
||||
ActionError ::= SEQUENCE {
|
||||
managedObjectClass ObjectClass OPTIONAL,
|
||||
managedObjectInstance ObjectInstance OPTIONAL,
|
||||
currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
|
||||
actionErrorInfo [6] ActionErrorInfo,
|
||||
...
|
||||
}
|
||||
|
||||
ProcessingFailure ::= SEQUENCE {
|
||||
managedObjectClass ObjectClass,
|
||||
managedObjectInstance ObjectInstance OPTIONAL,
|
||||
specificErrorInfo [5] SpecificErrorInfo,
|
||||
...
|
||||
}
|
||||
|
||||
DeleteError ::= SEQUENCE {
|
||||
managedObjectClass ObjectClass OPTIONAL,
|
||||
managedObjectInstance ObjectInstance OPTIONAL,
|
||||
currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
|
||||
deleteErrorInfo [6] ENUMERATED {accessDenied(2), ...
|
||||
},
|
||||
...
|
||||
}
|
||||
|
||||
SetInfoStatus ::= CHOICE {
|
||||
attributeError [0] IMPLICIT AttributeError,
|
||||
attribute [1] IMPLICIT Attribute
|
||||
}
|
||||
|
||||
SpecificErrorInfo ::= SEQUENCE {
|
||||
errorId OBJECT IDENTIFIER,
|
||||
errorInfo ANY
|
||||
}
|
||||
|
||||
NoSuchArgumentAction ::= SEQUENCE {
|
||||
managedObjectClass ObjectClass OPTIONAL,
|
||||
actionType OBJECT IDENTIFIER
|
||||
}
|
||||
|
||||
NoSuchArgumentEvent ::= SEQUENCE {
|
||||
managedObjectClass ObjectClass OPTIONAL,
|
||||
eventType OBJECT IDENTIFIER
|
||||
}
|
||||
|
||||
NoSuchArgument ::= CHOICE {
|
||||
actionId
|
||||
[0] IMPLICIT NoSuchArgumentAction,
|
||||
eventId
|
||||
[1] IMPLICIT NoSuchArgumentEvent
|
||||
}
|
||||
|
||||
InvalidArgumentValueEventValue ::= SEQUENCE {
|
||||
eventType OBJECT IDENTIFIER,
|
||||
eventInfo [8] ANY OPTIONAL
|
||||
}
|
||||
|
||||
InvalidArgumentValue ::= CHOICE {
|
||||
actionValue [0] IMPLICIT ActionInfo,
|
||||
eventValue
|
||||
[1] IMPLICIT InvalidArgumentValueEventValue
|
||||
}
|
||||
|
||||
ErrorInfo ::= CHOICE {
|
||||
actionType OBJECT IDENTIFIER,
|
||||
actionArgument [0] NoSuchArgument,
|
||||
argumentValue [1] InvalidArgumentValue
|
||||
}
|
||||
|
||||
ActionErrorInfo ::= SEQUENCE {
|
||||
errorStatus
|
||||
ENUMERATED {accessDenied(2), noSuchAction(9), noSuchArgument(14),
|
||||
invalidArgumentValue(15), ...
|
||||
},
|
||||
errorInfo
|
||||
ErrorInfo,
|
||||
...
|
||||
}
|
||||
|
||||
AttributeError ::= SEQUENCE {
|
||||
errorStatus
|
||||
ENUMERATED {accessDenied(2), noSuchAttribute(5), invalidAttributeValue(6),
|
||||
invalidOperation(24), invalidOperator(25), ...
|
||||
},
|
||||
modifyOperator [2] IMPLICIT ModifyOperator OPTIONAL, -- present for invalidOperator
|
||||
|
||||
-- and invalidOperation
|
||||
attributeId OBJECT IDENTIFIER,
|
||||
attributeValue ANY OPTIONAL
|
||||
-- value is absent for setToDefault
|
||||
}
|
||||
|
||||
SetResult ::= SEQUENCE {
|
||||
managedObjectClass ObjectClass OPTIONAL,
|
||||
managedObjectInstance ObjectInstance OPTIONAL,
|
||||
currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
|
||||
attributeList [6] IMPLICIT SET OF Attribute OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
SetArgument ::= SEQUENCE {
|
||||
baseManagedObjectClass ObjectClass,
|
||||
baseManagedObjectInstance ObjectInstance,
|
||||
accessControl [5] AccessControl OPTIONAL,
|
||||
synchronization [6] IMPLICIT CMISSync OPTIONAL,
|
||||
scope [7] Scope OPTIONAL,
|
||||
filter CMISFilter OPTIONAL,
|
||||
modificationList [12] IMPLICIT SET OF ModificationItem,
|
||||
-- value is absent for setToDefault
|
||||
...
|
||||
}
|
||||
|
||||
LinkedReplyArgument ::= CHOICE {
|
||||
getResult [0] IMPLICIT GetResult,
|
||||
getListError [1] IMPLICIT GetListError,
|
||||
setResult [2] IMPLICIT SetResult,
|
||||
setListError [3] IMPLICIT SetListError,
|
||||
actionResult [4] IMPLICIT ActionResult,
|
||||
processingFailure [5] IMPLICIT ProcessingFailure,
|
||||
deleteResult [6] IMPLICIT DeleteResult,
|
||||
actionError [7] IMPLICIT ActionError,
|
||||
deleteError [8] IMPLICIT DeleteError
|
||||
}
|
||||
|
||||
EventReply ::= SEQUENCE {
|
||||
eventType OBJECT IDENTIFIER,
|
||||
eventReplyInfo [8] ANY OPTIONAL
|
||||
}
|
||||
|
||||
EventReportResult ::= SEQUENCE {
|
||||
managedObjectClass ObjectClass OPTIONAL,
|
||||
managedObjectInstance ObjectInstance OPTIONAL,
|
||||
currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
|
||||
eventReply EventReply OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
EventReportArgument ::= SEQUENCE {
|
||||
managedObjectClass ObjectClass,
|
||||
managedObjectInstance ObjectInstance,
|
||||
eventTime [5] IMPLICIT GeneralizedTime OPTIONAL,
|
||||
eventType OBJECT IDENTIFIER,
|
||||
eventInfo [8] ANY OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
DeleteArgument ::= SEQUENCE {
|
||||
baseManagedObjectClass ObjectClass,
|
||||
baseManagedObjectInstance ObjectInstance,
|
||||
accessControl [5] AccessControl OPTIONAL,
|
||||
synchronization [6] IMPLICIT CMISSync OPTIONAL,
|
||||
scope [7] Scope OPTIONAL,
|
||||
filter CMISFilter OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
DeleteResult ::= SEQUENCE {
|
||||
managedObjectClass ObjectClass OPTIONAL,
|
||||
managedObjectInstance ObjectInstance OPTIONAL,
|
||||
currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
CreateArgument ::= SEQUENCE {
|
||||
managedObjectClass ObjectClass,
|
||||
managedOrSuperiorObjectInstance
|
||||
CHOICE {managedObjectInstance ObjectInstance,
|
||||
superiorObjectInstance [8] ObjectInstance} OPTIONAL,
|
||||
accessControl [5] AccessControl OPTIONAL,
|
||||
referenceObjectInstance [6] ObjectInstance OPTIONAL,
|
||||
attributeList [7] IMPLICIT SET OF Attribute OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
CreateResult ::= SEQUENCE {
|
||||
managedObjectClass ObjectClass OPTIONAL,
|
||||
managedObjectInstance ObjectInstance OPTIONAL, -- shall be returned if omitted from CreateArgument
|
||||
currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
|
||||
attributeList [6] IMPLICIT SET OF Attribute OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
ActionReply ::= SEQUENCE {
|
||||
actionType OBJECT IDENTIFIER,
|
||||
|
@ -140,6 +357,8 @@ InvokeLinkedId ::= CHOICE {
|
|||
absent [1] IMPLICIT NULL
|
||||
}
|
||||
|
||||
InvokeIDType ::= InvokeId
|
||||
|
||||
InvokeId ::= CHOICE {
|
||||
present InvokeID,
|
||||
absent NULL
|
||||
|
|
|
@ -95,27 +95,71 @@ ROS
|
|||
switch(opcode_type){
|
||||
case OPCODE_INVOKE:
|
||||
switch(opcode){
|
||||
case 0: /* M-eventreport */
|
||||
offset = dissect_cmip_EventReportArgument(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 1: /* M-eventreport-confirmed */
|
||||
offset = dissect_cmip_EventReportArgument(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 2: /* M-linkedreply */
|
||||
offset = dissect_cmip_LinkedReplyArgument(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 3: /* M-get */
|
||||
offset = dissect_cmip_GetArgument(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 4: /* M-set */
|
||||
offset = dissect_cmip_SetArgument(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 5: /* M-set-confirmed */
|
||||
offset = dissect_cmip_SetArgument(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;
|
||||
case 8: /* M-create*/
|
||||
offset = dissect_cmip_CreateArgument(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 9: /* M-delete*/
|
||||
offset = dissect_cmip_DeleteArgument(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 10: /* M-cancelget */
|
||||
offset = dissect_cmip_InvokeIDType(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case OPCODE_RETURN_RESULT:
|
||||
switch(opcode){
|
||||
case 0: /* M-eventreport*/
|
||||
break; /* No return data */
|
||||
case 1: /* M-eventreport-confirmed */
|
||||
offset = dissect_cmip_EventReportResult(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 2: /* M-linkedreply*/
|
||||
break; /* No return data */
|
||||
case 3: /* M-get */
|
||||
offset = dissect_cmip_GetResult(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 4: /* M-set */
|
||||
break; /* No return data */
|
||||
case 5: /* M-set-confirmed*/
|
||||
offset = dissect_cmip_SetResult(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;
|
||||
case 8: /* M-create*/
|
||||
offset = dissect_cmip_CreateResult(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 9: /* M-delete*/
|
||||
offset = dissect_cmip_DeleteResult(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 10: /* M-cancelget */
|
||||
break; /* doe this one return any data? */
|
||||
}
|
||||
break;
|
||||
/*XXX add more types here */
|
||||
|
@ -144,6 +188,63 @@ ROS
|
|||
#.FN_BODY ActionReply/actionReplyInfo
|
||||
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
|
||||
|
||||
#.FN_BODY EventReportArgument/eventType
|
||||
offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
|
||||
hf_cmip_eventType_OID, object_identifier_id);
|
||||
|
||||
#.FN_BODY EventReportArgument/eventInfo
|
||||
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
|
||||
|
||||
|
||||
#.FN_BODY EventReply/eventType
|
||||
offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
|
||||
hf_cmip_eventType_OID, object_identifier_id);
|
||||
|
||||
#.FN_BODY EventReply/eventReplyInfo
|
||||
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
|
||||
|
||||
#.FN_BODY ModificationItem/attributeId
|
||||
offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
|
||||
hf_cmip_attributeId_OID, object_identifier_id);
|
||||
|
||||
#.FN_BODY ModificationItem/attributeValue
|
||||
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
|
||||
|
||||
|
||||
#.FN_BODY SpecificErrorInfo/errorId
|
||||
offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
|
||||
hf_cmip_errorId_OID, object_identifier_id);
|
||||
|
||||
#.FN_BODY SpecificErrorInfo/errorInfo
|
||||
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
|
||||
|
||||
#.FN_BODY AttributeError/attributeId
|
||||
offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
|
||||
hf_cmip_attributeId_OID, object_identifier_id);
|
||||
|
||||
#.FN_BODY AttributeError/attributeValue
|
||||
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
|
||||
|
||||
|
||||
#.FN_BODY ErrorInfo/actionType
|
||||
offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
|
||||
hf_cmip_actionType_OID, object_identifier_id);
|
||||
|
||||
#.FN_BODY NoSuchArgumentAction/actionType
|
||||
offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
|
||||
hf_cmip_actionType_OID, object_identifier_id);
|
||||
|
||||
#.FN_BODY NoSuchArgumentEvent/eventType
|
||||
offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
|
||||
hf_cmip_eventType_OID, object_identifier_id);
|
||||
|
||||
#.FN_BODY InvalidArgumentValueEventValue/eventType
|
||||
offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
|
||||
hf_cmip_eventType_OID, object_identifier_id);
|
||||
|
||||
#.FN_BODY InvalidArgumentValueEventValue/eventInfo
|
||||
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
|
||||
|
||||
|
||||
#.END
|
||||
|
||||
|
|
|
@ -48,6 +48,9 @@
|
|||
/* Initialize the protocol and registered fields */
|
||||
int proto_cmip = -1;
|
||||
static int hf_cmip_actionType_OID = -1;
|
||||
static int hf_cmip_eventType_OID = -1;
|
||||
static int hf_cmip_attributeId_OID = -1;
|
||||
static int hf_cmip_errorId_OID = -1;
|
||||
#include "packet-cmip-hf.c"
|
||||
|
||||
/* Initialize the subtree pointers */
|
||||
|
@ -140,6 +143,18 @@ void proto_register_cmip(void) {
|
|||
{ "actionType", "cmip.actionType_OID",
|
||||
FT_STRING, BASE_NONE, NULL, 0,
|
||||
"actionType", HFILL }},
|
||||
{ &hf_cmip_eventType_OID,
|
||||
{ "eventType", "cmip.eventType_OID",
|
||||
FT_STRING, BASE_NONE, NULL, 0,
|
||||
"eventType", HFILL }},
|
||||
{ &hf_cmip_attributeId_OID,
|
||||
{ "attributeId", "cmip.attributeId_OID",
|
||||
FT_STRING, BASE_NONE, NULL, 0,
|
||||
"attributeId", HFILL }},
|
||||
{ &hf_cmip_errorId_OID,
|
||||
{ "errorId", "cmip.errorId_OID",
|
||||
FT_STRING, BASE_NONE, NULL, 0,
|
||||
"errorId", HFILL }},
|
||||
#include "packet-cmip-hfarr.c"
|
||||
};
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue