1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
|
# cmip.cnf
# CMIP conformation file
# $Id$
#.MODULE_IMPORT
ACSE-1 acse
#.INCLUDE ../acse/acse-exp.cnf
#.EXPORTS
CMIPAbortInfo
CMIPUserInfo
ROS
InvokeIDType
ObjectInstance
ObjectClass
Attribute
RDNSequence
#.NO_EMIT
#.PDU
#.TYPE_RENAME
#.FIELD_RENAME
#.FN_HDR CMIPAbortInfo
if(check_col(pinfo->cinfo, COL_INFO)){
col_append_fstr(pinfo->cinfo, COL_INFO, "CMIP-A-ABORT");
}
#.END
#.FN_HDR CMIPUserInfo
if(check_col(pinfo->cinfo, COL_INFO)){
col_append_fstr(pinfo->cinfo, COL_INFO, "CMIP-A-ASSOCIATE");
}
#.END
#.FN_BODY CMIPAbortSource VAL_PTR = &value
guint32 value;
%(DEFAULT_BODY)s
if(check_col(pinfo->cinfo, COL_INFO)){
col_append_fstr(pinfo->cinfo, COL_INFO, " AbortSource:%%s", val_to_str(value, cmip_CMIPAbortSource_vals, " Unknown AbortSource:%%d"));
}
#.END
#.FN_BODY Opcode VAL_PTR = &opcode
%(DEFAULT_BODY)s
if(check_col(pinfo->cinfo, COL_INFO)){
col_prepend_fstr(pinfo->cinfo, COL_INFO, "%%s", val_to_str(opcode, cmip_Opcode_vals, " Unknown Opcode:%%d"));
}
#.END
#.FN_HDR Invoke
opcode_type=OPCODE_INVOKE;
if(check_col(pinfo->cinfo, COL_INFO)){
col_prepend_fstr(pinfo->cinfo, COL_INFO, "Invoke ");
}
#.END
#.FN_HDR ReturnResult
opcode_type=OPCODE_RETURN_RESULT;
if(check_col(pinfo->cinfo, COL_INFO)){
col_prepend_fstr(pinfo->cinfo, COL_INFO, "ReturnResult ");
}
#.END
#.FN_HDR ReturnError
opcode_type=OPCODE_RETURN_ERROR;
if(check_col(pinfo->cinfo, COL_INFO)){
col_prepend_fstr(pinfo->cinfo, COL_INFO, "ReturnError ");
}
#.END
#.FN_HDR Reject
opcode_type=OPCODE_REJECT;
if(check_col(pinfo->cinfo, COL_INFO)){
col_prepend_fstr(pinfo->cinfo, COL_INFO, "Reject ");
}
#.END
#.FN_BODY AttributeId/globalForm FN_VARIANT = _str VAL_PTR = &attribute_identifier_id
attributeform = ATTRIBUTE_GLOBAL_FORM;
%(DEFAULT_BODY)s
#.FN_BODY AttributeId/localForm
attributeform = ATTRIBUTE_LOCAL_FORM;
offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_localForm, NULL);
#.FN_BODY Attribute/value
/*XXX handle local form here */
if(attributeform==ATTRIBUTE_GLOBAL_FORM){
offset=call_ber_oid_callback(attribute_identifier_id, tvb, offset, pinfo, tree);
}
#.FN_PARS AttributeValueAssertion/id
FN_VARIANT = _str VAL_PTR = &attributevalueassertion_id
#.FN_BODY AttributeValueAssertion/value
offset=call_ber_oid_callback(attributevalueassertion_id, tvb, offset, pinfo, tree);
#.FN_BODY Argument
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_ActionArgument(FALSE, tvb, offset, pinfo, tree, -1);
break;
case 7: /* M-action-confirmed*/
offset = dissect_cmip_ActionArgument(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 */
}
#.FN_HDR ObjectClass/ocglobalForm
objectclassform = OBJECTCLASS_GLOBAL_FORM;
#.FN_PARS ObjectClass/ocglobalForm
FN_VARIANT = _str VAL_PTR = &objectclass_identifier_id
#.FN_HDR ObjectClass/oclocalForm
objectclassform = OBJECTCLASS_LOCAL_FORM;
#.FN_PARS ActionInfo/actionType
FN_VARIANT = _str HF_INDEX = hf_cmip_actionType_OID VAL_PTR = &object_identifier_id
#.FN_BODY ActionInfo/actionInfoArg
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
#.FN_PARS ActionReply/actionType
FN_VARIANT = _str HF_INDEX = hf_cmip_actionType_OID VAL_PTR = &object_identifier_id
#.FN_BODY ActionReply/actionReplyInfo
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
#.FN_PARS EventReportArgument/eventType
FN_VARIANT = _str HF_INDEX = hf_cmip_eventType_OID VAL_PTR = &object_identifier_id
#.FN_BODY EventReportArgument/eventInfo
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
#.FN_PARS EventReply/eventType
FN_VARIANT = _str HF_INDEX = hf_cmip_eventType_OID VAL_PTR = &object_identifier_id
#.FN_BODY EventReply/eventReplyInfo
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
#.FN_PARS ModificationItem/attributeId
FN_VARIANT = _str HF_INDEX = hf_cmip_attributeId_OID VAL_PTR = &object_identifier_id
#.FN_BODY ModificationItem/attributeValue
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
#.FN_PARS SpecificErrorInfo/errorId
FN_VARIANT = _str HF_INDEX = hf_cmip_errorId_OID VAL_PTR = &object_identifier_id
#.FN_BODY SpecificErrorInfo/errorInfo
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
#.FN_PARS AttributeError/attributeId
FN_VARIANT = _str HF_INDEX = hf_cmip_attributeId_OID VAL_PTR = &object_identifier_id
#.FN_BODY AttributeError/attributeValue
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
#.FN_PARS ErrorInfo/actionType
FN_VARIANT = _str HF_INDEX = hf_cmip_actionType_OID VAL_PTR = &object_identifier_id
#.FN_PARS NoSuchArgumentAction/actionType
FN_VARIANT = _str HF_INDEX = hf_cmip_actionType_OID VAL_PTR = &object_identifier_id
#.FN_PARS NoSuchArgumentEvent/eventType
FN_VARIANT = _str HF_INDEX = hf_cmip_eventType_OID VAL_PTR = &object_identifier_id
#.FN_PARS InvalidArgumentValueEventValue/eventType
FN_VARIANT = _str HF_INDEX = hf_cmip_eventType_OID VAL_PTR = &object_identifier_id
#.FN_BODY InvalidArgumentValueEventValue/eventInfo
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
#.END
|