/* some necessary forward function prototypes */
static guint
-fApplicationTypesEnumerated (tvbuff_t *tvb, proto_tree *tree, guint offset,
+fApplicationTypesEnumerated (tvbuff_t *tvb, proto_tree *tree, guint offset,
const gchar *label, const value_string *vs);
static const char *bacapp_unknown_service_str = "unknown service";
{8,"unsilence-audible"},
{9,"unsilence-visual"},
{0,NULL}
-/* Enumerated values 0-63 are reserved for definition by ASHRAE.
- Enumerated values 64-65535 may be used by others subject to
+/* Enumerated values 0-63 are reserved for definition by ASHRAE.
+ Enumerated values 64-65535 may be used by others subject to
procedures and constraints described in Clause 23. */
};
{22,"supervisory"},
{23,"test-supervisory"},
{0,NULL}
-/* Enumerated values 0-255 are reserved for definition by ASHRAE.
- Enumerated values 256-65535 may be used by others subject to
+/* Enumerated values 0-255 are reserved for definition by ASHRAE.
+ Enumerated values 256-65535 may be used by others subject to
procedures and constraints described in Clause 23. */
};
{188,"newtons-per-meter"},
{189,"watts-per-meter-per-degree-Kelvin"},
{0,NULL}
-/* Enumerated values 0-255 are reserved for definition by ASHRAE.
- Enumerated values 256-65535 may be used by others subject to
+/* Enumerated values 0-255 are reserved for definition by ASHRAE.
+ Enumerated values 256-65535 may be used by others subject to
the procedures and constraints described in Clause 23. */
};
{49,"duplicate-object-id"},
{50,"property-is-not-an-array"},
{0, NULL}
-/* Enumerated values 0-255 are reserved for definition by ASHRAE.
- Enumerated values 256-65535 may be used by others subject to the
+/* Enumerated values 0-255 are reserved for definition by ASHRAE.
+ Enumerated values 256-65535 may be used by others subject to the
procedures and constraints described in Clause 23. */
};
{191,"value-set"},
{192,"value-change-time"},
{0, NULL}
-/* Enumerated values 0-511 are reserved for definition by ASHRAE.
- Enumerated values 512-4194303 may be used by others subject to
+/* Enumerated values 0-511 are reserved for definition by ASHRAE.
+ Enumerated values 512-4194303 may be used by others subject to
the procedures and constraints described in Clause 23. */
};
{5,"services" },
{6,"vt" },
{0,NULL },
-/* Enumerated values 0-63 are reserved for definition by ASHRAE.
- Enumerated values64-65535 may be used by others subject to
+/* Enumerated values 0-63 are reserved for definition by ASHRAE.
+ Enumerated values64-65535 may be used by others subject to
the procedures and constraints described in Clause 23. */
};
{10,"buffer-ready" },
{11,"unsigned-range" },
{0,NULL },
-/* Enumerated values 0-63 are reserved for definition by ASHRAE.
- Enumerated values 64-65535 may be used by others subject to
- the procedures and constraints described in Clause 23.
- It is expected that these enumerated values will correspond
- to the use of the complex-event-type CHOICE [6] of the
+/* Enumerated values 0-63 are reserved for definition by ASHRAE.
+ Enumerated values 64-65535 may be used by others subject to
+ the procedures and constraints described in Clause 23.
+ It is expected that these enumerated values will correspond
+ to the use of the complex-event-type CHOICE [6] of the
BACnetNotificationParameters production. */
};
{4,"low-limit" },
{5,"life-safety-alarm" },
{0,NULL },
-/* Enumerated values 0-63 are reserved for definition by ASHRAE.
- Enumerated values 64-65535 may be used by others subject to
+/* Enumerated values 0-63 are reserved for definition by ASHRAE.
+ Enumerated values 64-65535 may be used by others subject to
the procedures and constraints described in Clause 23. */
};
{12,"life-safety-mode"},
{13,"life-safety-state"},
{0,NULL}
-/* Tag values 0-63 are reserved for definition by ASHRAE.
- Tag values of 64-254 may be used by others to accommodate
- vendor specific properties that have discrete or enumerated values,
+/* Tag values 0-63 are reserved for definition by ASHRAE.
+ Tag values of 64-254 may be used by others to accommodate
+ vendor specific properties that have discrete or enumerated values,
subject to the constraints described in Clause 23. */
};
{3,"program"},
{4,"other"},
{0,NULL}
-/* Enumerated values 0-63 are reserved for definition by ASHRAE.
- Enumerated values 64-65535 may be used by others subject to
+/* Enumerated values 0-63 are reserved for definition by ASHRAE.
+ Enumerated values 64-65535 may be used by others subject to
the procedures and constraints described in Clause 23. */
};
fUnsigned32 (tvbuff_t *tvb, guint offset, guint32 lvt, guint32 *val)
{
gboolean valid = TRUE;
-
+
switch (lvt) {
case 1:
*val = tvb_get_guint8(tvb, offset);
valid = FALSE;
break;
}
-
+
return valid;
}
gboolean valid = FALSE;
gint64 value = 0;
guint8 data, i;
-
+
if (lvt && (lvt <= 8)) {
valid = TRUE;
data = tvb_get_guint8(tvb, offset);
}
*val = value;
}
-
+
return valid;
}
/* computed below - store whole tag info, not just context bit. */
if (tag_is_context_specific(tag)) *tag_info = tag & 0x0F;
*tag_no = tag >> 4;
- if (tag_is_extended_tag_number(tag)) {
+ if (tag_is_extended_tag_number(tag)) {
*tag_no = tvb_get_guint8(tvb, offset + tag_len++);
}
if (tag_is_extended_value(tag)) { /* length is more than 4 Bytes */
proto_tree_add_uint(subtree, hf_bacapp_tag_lvt,
tvb, lvt_offset, lvt_len, *lvt);
}
-
+
return tag_len;
}
"%s - %u octets (Unsigned)", label, lvt);
subtree = proto_item_add_subtree(ti, ett_bacapp_tag);
fTagHeaderTree (tvb, subtree, offset, &tag_no, &tag_info, &lvt);
-
+
return offset+tag_len+lvt;
}
if (fUnsigned32 (tvb, offset+tag_len, lvt, &val)) {
if (vs)
ti = proto_tree_add_text(tree, tvb, offset, lvt+tag_len,
- "%s %s", label, val_to_split_str(val, split_val, vs,
+ "%s %s", label, val_to_split_str(val, split_val, vs,
ASHRAE_Reserved_Fmt,Vendor_Proprietary_Fmt));
else
ti =proto_tree_add_text(tree, tvb, offset, lvt+tag_len,
"%s - %u octets (Signed)", label, lvt);
subtree = proto_item_add_subtree(ti, ett_bacapp_tag);
fTagHeaderTree(tvb, subtree, offset, &tag_no, &tag_info, &lvt);
-
+
return offset+tag_len+lvt;
}
gfloat f_val = 0.0;
proto_item *ti;
proto_tree *subtree;
-
+
tag_len = fTagHeader(tvb, offset, &tag_no, &tag_info, &lvt);
f_val = tvb_get_ntohieee_float(tvb, offset+tag_len);
ti = proto_tree_add_text(tree, tvb, offset, 4+tag_len,
"%s%f (Real)", label, f_val);
subtree = proto_item_add_subtree(ti, ett_bacapp_tag);
fTagHeaderTree(tvb, subtree, offset, &tag_no, &tag_info, &lvt);
-
+
return offset+tag_len+4;
}
gdouble d_val = 0.0;
proto_item *ti;
proto_tree *subtree;
-
+
tag_len = fTagHeader(tvb, offset, &tag_no, &tag_info, &lvt);
d_val = tvb_get_ntohieee_double(tvb, offset+tag_len);
ti = proto_tree_add_text(tree, tvb, offset, 8+tag_len,
"%s%lf (Double)", label, d_val);
subtree = proto_item_add_subtree(ti, ett_bacapp_tag);
fTagHeaderTree(tvb, subtree, offset, &tag_no, &tag_info, &lvt);
-
+
return offset+tag_len+8;
}
tag_len = fTagHeader (tvb, offset, &tag_no, &tag_info, &lvt);
if (fUnsigned32 (tvb, offset+tag_len, lvt, &val))
- ti = proto_tree_add_uint(tree, hf_bacapp_tag_ProcessId,
+ ti = proto_tree_add_uint(tree, hf_bacapp_tag_ProcessId,
tvb, offset, lvt+tag_len, val);
else
ti = proto_tree_add_text(tree, tvb, offset, lvt+tag_len,
"Process Identifier - %u octets (Signed)", lvt);
subtree = proto_item_add_subtree(ti, ett_bacapp_tag);
fTagHeaderTree(tvb, subtree, offset, &tag_no, &tag_info, &lvt);
-
+
return offset+tag_len+lvt;
}
tag_len = fTagHeader (tvb, offset, &tag_no, &tag_info, &lvt);
if (fUnsigned32 (tvb, offset+tag_len, lvt, &val))
- ti = proto_tree_add_text(tree, tvb, offset, lvt+tag_len,
- "%s (hh.mm.ss): %d.%02d.%02d%s",
- label,
- (val / 3600), ((val % 3600) / 60), (val % 60),
+ ti = proto_tree_add_text(tree, tvb, offset, lvt+tag_len,
+ "%s (hh.mm.ss): %d.%02d.%02d%s",
+ label,
+ (val / 3600), ((val % 3600) / 60), (val % 60),
val == 0 ? " (indefinite)" : "");
else
ti = proto_tree_add_text(tree, tvb, offset, lvt+tag_len,
month = tvb_get_guint8(tvb, offset+tag_len);
weekOfMonth = tvb_get_guint8(tvb, offset+tag_len+1);
dayOfWeek = tvb_get_guint8(tvb, offset+tag_len+2);
- ti = proto_tree_add_text(tree, tvb, offset, lvt+tag_len, "%s %s, %s",
- val_to_str(month, months, "month (%d) not found"),
- val_to_str(weekOfMonth, weekofmonth, "week of month (%d) not found"),
+ ti = proto_tree_add_text(tree, tvb, offset, lvt+tag_len, "%s %s, %s",
+ val_to_str(month, months, "month (%d) not found"),
+ val_to_str(weekOfMonth, weekofmonth, "week of month (%d) not found"),
val_to_str(dayOfWeek, days, "day of week (%d) not found"));
subtree = proto_item_add_subtree(ti, ett_bacapp_tag);
fTagHeaderTree(tvb, subtree, offset, &tag_no, &tag_info, &lvt);
hour, minute, second, msec);
subtree = proto_item_add_subtree(ti, ett_bacapp_tag);
fTagHeaderTree (tvb, subtree, offset, &tag_no, &tag_info, &lvt);
-
+
return offset+tag_len+lvt;
}
{
guint lastoffset = 0;
guint8 tag_no, tag_info;
- guint32 lvt;
+ guint32 lvt;
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
-
+
switch (fTagNo(tvb, offset)) {
case 0: /* setpointReference */
offset = fBACnetObjectPropertyReference (tvb,tree,offset);
fDestination (tvbuff_t *tvb, proto_tree *tree, guint offset)
{
if (tvb_length_remaining(tvb, offset) > 0) {
- offset = fApplicationTypesEnumerated(tvb,tree,offset,
+ offset = fApplicationTypesEnumerated(tvb,tree,offset,
"valid Days: ", days);
offset = fTime (tvb,tree,offset,"from time: ");
offset = fTime (tvb,tree,offset,"to time: ");
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
-
+
switch (fTagNo(tvb, offset)) {
case 0: /* device */
offset = fObjectIdentifier (tvb, tree, offset);
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
-
+
switch (fTagNo(tvb, offset)) {
case 0: /* recipient */
offset = fRecipient (tvb, tree, offset);
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
fTagHeader (tvb, offset, &tag_no, &tag_info, &lvt);
- if (tag_is_closing(tag_info)) {
+ if (tag_is_closing(tag_info)) {
offset += fTagHeaderTree (tvb, subtree, offset,
&tag_no, &tag_info, &lvt);
subtree = tree;
continue;
}
switch (tag_no) {
-
+
case 0: /* deviceIdentifier */
offset = fObjectIdentifier (tvb, subtree, offset);
break;
if (tvb_length_remaining(tvb, offset) > 0) {
offs = fTagHeader (tvb, offset, &tag_no, &tag_info, &lvt);
-
+
character_set = tvb_get_guint8(tvb, offset+offs);
/* Account for code page if DBCS */
if (character_set == 1)
guint offs;
guint32 lvt, i, numberOfBytes;
guint8 bf_arr[256];
-
+
offs = fTagHeader (tvb, offset, &tag_no, &tag_info, &lvt);
numberOfBytes = lvt-1; /* Ignore byte for unused bit count */
offset+=offs;
}
offset+=lvt;
-
+
return offset;
}
}
/* handles generic application types, as well as enumerated and enumerations
- with reserved and proprietarty ranges (split) */
+ with reserved and proprietarty ranges (split) */
static guint
-fApplicationTypesEnumeratedSplit (tvbuff_t *tvb, proto_tree *tree, guint offset,
+fApplicationTypesEnumeratedSplit (tvbuff_t *tvb, proto_tree *tree, guint offset,
const gchar *label, const value_string *src, guint32 split_val)
{
guint8 tag_no, tag_info;
if (tvb_length_remaining(tvb, offset) > 0) {
tag_len = fTagHeader (tvb, offset, &tag_no, &tag_info, &lvt);
-
+
switch (tag_no) {
case 0: /** NULL 20.2.2 */
offset = fNullTag(tvb, tree, offset, label);
}
static guint
-fApplicationTypesEnumerated (tvbuff_t *tvb, proto_tree *tree, guint offset,
+fApplicationTypesEnumerated (tvbuff_t *tvb, proto_tree *tree, guint offset,
const gchar *label, const value_string *vs)
{
return fApplicationTypesEnumeratedSplit(tvb, tree, offset, label, vs, 0);
}
static guint
-fApplicationTypes (tvbuff_t *tvb, proto_tree *tree, guint offset,
+fApplicationTypes (tvbuff_t *tvb, proto_tree *tree, guint offset,
const gchar *label)
{
return fApplicationTypesEnumeratedSplit(tvb, tree, offset, label, NULL, 0);
subtree = proto_item_add_subtree(ti, ett_bacapp_tag);
fTagHeaderTree(tvb, subtree, offset, &tag_no, &tag_info, &lvt);
-
+
return offset + tag_len + lvt;
}
guint32 lvt;
guint lastoffset = 0, depth = 0;
char ar[256];
-
+
if (propertyIdentifier >= 0)
{
g_snprintf (ar, sizeof(ar), "%s: ",
break;
case 79: /* object-type */
case 96: /* protocol-object-types-supported */
- offset = fApplicationTypesEnumeratedSplit (tvb, tree, offset, ar,
+ offset = fApplicationTypesEnumeratedSplit (tvb, tree, offset, ar,
BACnetObjectType, 128);
break;
case 97: /* Protocol-Services-Supported */
- offset = fApplicationTypesEnumerated (tvb, tree, offset, ar,
+ offset = fApplicationTypesEnumerated (tvb, tree, offset, ar,
BACnetServicesSupported);
break;
case 107: /* segmentation-supported */
- offset = fApplicationTypesEnumerated (tvb, tree, offset, ar,
+ offset = fApplicationTypesEnumerated (tvb, tree, offset, ar,
BACnetSegmentation);
break;
case 111: /* Status-Flags */
- offset = fApplicationTypesEnumerated (tvb, tree, offset, ar,
+ offset = fApplicationTypesEnumerated (tvb, tree, offset, ar,
BACnetStatusFlags);
break;
case 112: /* System-Status */
- offset = fApplicationTypesEnumerated (tvb, tree, offset, ar,
+ offset = fApplicationTypesEnumerated (tvb, tree, offset, ar,
BACnetDeviceStatus);
break;
case 117: /* units */
- offset = fApplicationTypesEnumerated (tvb, tree, offset, ar,
+ offset = fApplicationTypesEnumerated (tvb, tree, offset, ar,
BACnetEngineeringUnits);
break;
case 87: /* priority-array */
proto_tree *subtree;
guint8 tag_no, tag_info;
guint32 lvt;
-
+
offset = fPropertyReference(tvb, tree, offset, tagoffset, 0);
if (offset > lastoffset)
{
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
-
+
switch (fTagNo(tvb,offset)) {
case 0: /* ProcessId */
offset = fUnsignedTag (tvb, tree, offset, "subscriber Process Id: ");
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
-
+
switch (fTagNo(tvb, offset)) {
case 0: /* deviceInstanceLowLimit */
offset = fUnsignedTag (tvb, tree, offset, "device Instance Low Limit: ");
guint lastoffset = 0;
guint8 tag_no, tag_info;
guint32 lvt;
-
+
fTagHeader (tvb, offset, &tag_no, &tag_info, &lvt);
if (tag_is_opening(tag_info) && tag_no == 0)
{
offset += fTagHeaderTree (tvb, subtree, offset, &tag_no, &tag_info, &lvt);
return offset;
}
-
+
offset = fTimeValue (tvb, subtree, offset);
}
}
guint i=1;
proto_tree *subtree = tree;
proto_item *tt;
-
+
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
fTagHeader (tvb, offset, &tag_no, &tag_info, &lvt);
{
if (tvb_length_remaining(tvb, offset) <= 0)
return offset;
-
+
return fDateTime (tvb, tree, offset, "UTC-Time: ");
}
break;
default:
return offset;
- break;
+ break;
}
}
return offset;
proto_tree *subtree = tree;
proto_item *tt;
- /* exit loop if nothing happens inside */
- while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) {
+ /* exit loop if nothing happens inside */
+ while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) {
lastoffset = offset;
fTagHeader (tvb, offset, &tag_no, &tag_info, &lvt);
if (tag_is_closing(tag_info)) {
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
fTagHeader (tvb, offset, &tag_no, &tag_info, &lvt);
-
+
switch (tag_no) {
case 0: /* subscriberProcessId */
offset = fUnsignedTag (tvb, subtree, offset, "requesting Process Id: ");
offset = fCharacterString (tvb, tree, offset, "requesting Source: ");
break;
case 2: /* request */
- offset = fEnumeratedTagSplit (tvb, tree, offset,
+ offset = fEnumeratedTagSplit (tvb, tree, offset,
"request: ", BACnetLifeSafetyOperation, 64);
break;
case 3: /* objectId */
offset = fBooleanTag (tvb, tree, offset, "boolean-value: ");
break;
case 1:
- offset = fEnumeratedTagSplit (tvb, tree, offset,
+ offset = fEnumeratedTagSplit (tvb, tree, offset,
"binary-value: ", BACnetBinaryPV, 2);
break;
case 2:
- offset = fEnumeratedTagSplit (tvb, tree, offset,
+ offset = fEnumeratedTagSplit (tvb, tree, offset,
"event-type: ", BACnetEventType, 12);
break;
case 3:
- offset = fEnumeratedTagSplit (tvb, tree, offset,
+ offset = fEnumeratedTagSplit (tvb, tree, offset,
"polarity: ", BACnetPolarity, 2);
break;
case 4:
- offset = fEnumeratedTagSplit (tvb, tree, offset,
+ offset = fEnumeratedTagSplit (tvb, tree, offset,
"program-change: ", BACnetProgramRequest, 5);
break;
case 5:
- offset = fEnumeratedTagSplit (tvb, tree, offset,
+ offset = fEnumeratedTagSplit (tvb, tree, offset,
"program-state: ", BACnetProgramState, 5);
break;
case 6:
- offset = fEnumeratedTagSplit (tvb, tree, offset,
+ offset = fEnumeratedTagSplit (tvb, tree, offset,
"reason-for-halt: ", BACnetProgramError, 5);
break;
case 7:
- offset = fEnumeratedTagSplit (tvb, tree, offset,
+ offset = fEnumeratedTagSplit (tvb, tree, offset,
"reliability: ", BACnetReliability, 10);
break;
case 8:
- offset = fEnumeratedTagSplit (tvb, tree, offset,
+ offset = fEnumeratedTagSplit (tvb, tree, offset,
"state: ", BACnetEventState, 64);
break;
case 9:
- offset = fEnumeratedTagSplit (tvb, tree, offset,
+ offset = fEnumeratedTagSplit (tvb, tree, offset,
"system-status: ", BACnetDeviceStatus, 64);
break;
case 10:
- offset = fEnumeratedTagSplit (tvb, tree, offset,
+ offset = fEnumeratedTagSplit (tvb, tree, offset,
"units: ", BACnetEngineeringUnits, 2);
break;
case 11:
offset = fUnsignedTag(tvb, tree, offset, "unsigned-value: ");
break;
case 12:
- offset = fEnumeratedTagSplit (tvb, tree, offset,
+ offset = fEnumeratedTagSplit (tvb, tree, offset,
"life-safety-mode: ", BACnetLifeSafetyMode, 64);
break;
case 13:
- offset = fEnumeratedTagSplit (tvb, tree, offset,
+ offset = fEnumeratedTagSplit (tvb, tree, offset,
"life-safety-state: ", BACnetLifeSafetyState, 64);
break;
default:
lastoffset = offset;
switch (fTagNo(tvb, offset)) {
case 0:
- offset = fBitStringTag (tvb, subtree, offset,
+ offset = fBitStringTag (tvb, subtree, offset,
"referenced-bitstring: ");
break;
case 1:
- offset = fEnumeratedTag (tvb, subtree, offset,
+ offset = fEnumeratedTag (tvb, subtree, offset,
"status-flags: ", BACnetStatusFlags);
break;
default:
offset = fBACnetPropertyStates(tvb, subtree, offset);
offset += fTagHeaderTree(tvb, subtree, offset, &tag_no, &tag_info, &lvt);
case 1:
- offset = fEnumeratedTag (tvb, subtree, offset,
+ offset = fEnumeratedTag (tvb, subtree, offset,
"status-flags: ", BACnetStatusFlags);
lastoffset = offset;
break;
offset += fTagHeaderTree(tvb, subtree, offset, &tag_no, &tag_info, &lvt);
switch (fTagNo(tvb, offset)) {
case 0:
- offset = fBitStringTag (tvb, subtree, offset,
+ offset = fBitStringTag (tvb, subtree, offset,
"changed-bits: ");
break;
case 1:
- offset = fRealTag (tvb, subtree, offset,
+ offset = fRealTag (tvb, subtree, offset,
"changed-value: ");
break;
default:
offset += fTagHeaderTree(tvb, subtree, offset, &tag_no, &tag_info, &lvt);
break;
case 1:
- offset = fEnumeratedTag (tvb, subtree, offset,
+ offset = fEnumeratedTag (tvb, subtree, offset,
"status-flags: ", BACnetStatusFlags);
break;
default:
offset += fTagHeaderTree(tvb, subtree, offset, &tag_no, &tag_info, &lvt);
break;
case 1:
- offset = fEnumeratedTag (tvb, subtree, offset,
+ offset = fEnumeratedTag (tvb, subtree, offset,
"status-flags: ", BACnetStatusFlags);
case 2: /* "feedback-value: " */
offset += fTagHeaderTree(tvb, subtree, offset, &tag_no, &tag_info, &lvt);
offset = fRealTag (tvb, subtree, offset, "reference-value: ");
break;
case 1:
- offset = fEnumeratedTag (tvb, subtree, offset,
+ offset = fEnumeratedTag (tvb, subtree, offset,
"status-flags: ", BACnetStatusFlags);
break;
case 2:
offset = fRealTag (tvb, subtree, offset, "exceeding-value: ");
break;
case 1:
- offset = fEnumeratedTag (tvb, subtree, offset,
+ offset = fEnumeratedTag (tvb, subtree, offset,
"status-flags: ", BACnetStatusFlags);
break;
case 2:
lastoffset = offset;
switch (fTagNo(tvb, offset)) {
case 0:
- offset = fEnumeratedTagSplit (tvb, subtree, offset,
+ offset = fEnumeratedTagSplit (tvb, subtree, offset,
"new-state: ", BACnetLifeSafetyState, 256);
break;
case 1:
- offset = fEnumeratedTagSplit (tvb, subtree, offset,
+ offset = fEnumeratedTagSplit (tvb, subtree, offset,
"new-mode: ", BACnetLifeSafetyState, 256);
break;
case 2:
- offset = fEnumeratedTag (tvb, subtree, offset,
+ offset = fEnumeratedTag (tvb, subtree, offset,
"status-flags: ", BACnetStatusFlags);
case 3:
- offset = fEnumeratedTagSplit (tvb, subtree, offset,
+ offset = fEnumeratedTagSplit (tvb, subtree, offset,
"operation-expected: ", BACnetLifeSafetyOperation, 64);
default:
return offset;
offset = fTimeSpan (tvb, tree, offset, "Time Delay");
break;
case 1: /* SEQUENCE OF BACnetPropertyStates */
- offset = fEnumeratedTagSplit (tvb, tree, offset,
+ offset = fEnumeratedTagSplit (tvb, tree, offset,
"value: ", BACnetPropertyStates, 64);
break;
default:
offset = fBitStringTag (tvb, tree, offset, "bitmask: ");
break;
case 1:
- offset = fRealTag (tvb, tree, offset,
+ offset = fRealTag (tvb, tree, offset,
"referenced Property Increment: ");
break;
default:
offset = fTimeSpan (tvb, tree, offset, "Time Delay");
break;
case 1:
- offset = fEnumeratedTagSplit (tvb, tree, offset,
+ offset = fEnumeratedTagSplit (tvb, tree, offset,
"life safety alarm value: ", BACnetLifeSafetyState, 256);
break;
case 2:
- offset = fEnumeratedTagSplit (tvb, tree, offset,
+ offset = fEnumeratedTagSplit (tvb, tree, offset,
"alarm value: ", BACnetLifeSafetyState, 256);
break;
case 3:
case 1: /* logDatum: don't loop, it's a CHOICE */
switch (fTagNo(tvb, offset)) {
case 0: /* logStatus */
- offset = fEnumeratedTag (tvb, tree, offset,
+ offset = fEnumeratedTag (tvb, tree, offset,
"log status: ", BACnetLogStatus);
break;
case 1:
}
break;
case 2:
- offset = fEnumeratedTag (tvb, tree, offset,
+ offset = fEnumeratedTag (tvb, tree, offset,
"status Flags: ", BACnetStatusFlags);
break;
default:
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
-
+
switch (fTagNo(tvb,offset)) {
case 0: /* ProcessId */
offset = fProcessId (tvb,tree,offset);
offset = fUnsignedTag (tvb, tree, offset, "Priority: ");
break;
case 6: /* EventType */
- offset = fEnumeratedTagSplit (tvb, tree, offset,
+ offset = fEnumeratedTagSplit (tvb, tree, offset,
"Event Type: ", BACnetEventType, 64);
break;
case 7: /* messageText */
offset = fBooleanTag (tvb, tree, offset, "ack Required: ");
break;
case 10: /* fromState */
- offset = fEnumeratedTagSplit (tvb, tree, offset,
+ offset = fEnumeratedTagSplit (tvb, tree, offset,
"from State: ", BACnetEventState, 64);
break;
case 11: /* toState */
- offset = fEnumeratedTagSplit (tvb, tree, offset,
+ offset = fEnumeratedTagSplit (tvb, tree, offset,
"to State: ", BACnetEventState, 64);
break;
case 12: /* NotificationParameters */
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
fTagHeader (tvb, offset, &tag_no, &tag_info, &lvt);
- if (tag_is_closing(tag_info)) {
+ if (tag_is_closing(tag_info)) {
offset += fTagHeaderTree (tvb, subtree, offset,
&tag_no, &tag_info, &lvt);
subtree = tree;
continue;
}
-
+
switch (tag_no) {
case 0: /* ProcessId */
offset = fProcessId (tvb,tree,offset);
offset = fObjectIdentifier (tvb, tree, offset);
break;
case 2: /* eventStateAcknowledged */
- offset = fEnumeratedTagSplit (tvb, tree, offset,
+ offset = fEnumeratedTagSplit (tvb, tree, offset,
"event State Acknowledged: ", BACnetEventState, 64);
break;
case 3: /* timeStamp */
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
offset = fApplicationTypes (tvb, tree, offset, "Object Identifier: ");
- offset = fApplicationTypesEnumeratedSplit (tvb, tree, offset,
+ offset = fApplicationTypesEnumeratedSplit (tvb, tree, offset,
"alarm State: ", BACnetEventState, 64);
- offset = fApplicationTypesEnumerated (tvb, tree, offset,
+ offset = fApplicationTypesEnumerated (tvb, tree, offset,
"acknowledged Transitions: ", BACnetEventTransitionBits);
}
return offset;
lastoffset = offset;
switch (fTagNo(tvb, offset)) {
case 0: /* acknowledgmentFilter */
- offset = fEnumeratedTag (tvb, tree, offset,
+ offset = fEnumeratedTag (tvb, tree, offset,
"acknowledgment Filter: ", BACnetAcknowledgementFilter);
break;
case 1: /* eventObjectId */
offset = fRecipientProcess (tvb, tree, offset);
break;
case 2: /* eventStateFilter */
- offset = fEnumeratedTag (tvb, tree, offset,
+ offset = fEnumeratedTag (tvb, tree, offset,
"event State Filter: ", BACnetEventStateFilter);
break;
case 3: /* eventTypeFilter */
- offset = fEnumeratedTag (tvb, tree, offset,
+ offset = fEnumeratedTag (tvb, tree, offset,
"event Type Filter: ", BACnetEventType);
break;
case 4: /* priorityFilter */
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
offset = fApplicationTypes (tvb, tree, offset, "Object Identifier: ");
- offset = fApplicationTypesEnumeratedSplit (tvb, tree, offset,
+ offset = fApplicationTypesEnumeratedSplit (tvb, tree, offset,
"event Type: ", BACnetEventType, 64);
- offset = fApplicationTypesEnumerated (tvb, tree, offset,
+ offset = fApplicationTypesEnumerated (tvb, tree, offset,
"event State: ", BACnetEventStateFilter);
offset = fApplicationTypes (tvb, tree, offset, "Priority: ");
offset = fApplicationTypes (tvb, tree, offset, "Notification Class: ");
offset = fObjectIdentifier (tvb, tree, offset);
break;
case 1: /* eventState */
- offset = fEnumeratedTag (tvb, tree, offset,
+ offset = fEnumeratedTag (tvb, tree, offset,
"event State: ", BACnetEventStateFilter);
break;
case 2: /* acknowledgedTransitions */
- offset = fEnumeratedTag (tvb, tree, offset,
+ offset = fEnumeratedTag (tvb, tree, offset,
"acknowledged Transitions: ", BACnetEventTransitionBits);
break;
case 3: /* eventTimeStamps */
offset = fTime (tvb, tree, offset, "time Stamp: ");
break;
case 4: /* notifyType */
- offset = fEnumeratedTag (tvb, tree, offset,
+ offset = fEnumeratedTag (tvb, tree, offset,
"Notify Type: ", BACnetNotifyType);
break;
case 5: /* eventEnable */
- offset = fEnumeratedTag (tvb, tree, offset,
+ offset = fEnumeratedTag (tvb, tree, offset,
"event Enable: ", BACnetEventTransitionBits);
break;
case 6: /* eventPriorities */
subtree = tree;
continue;
}
-
+
switch (tag_no) {
case 0: /* ObjectId */
offset = fBACnetObjectPropertyReference (tvb, subtree, offset);
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
-
+
switch (fTagNo(tvb, offset)) {
case 0: /* timeDuration */
offset = fUnsignedTag (tvb,tree,offset,"time Duration: ");
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
-
+
switch (fTagNo(tvb, offset)) {
case 0: /* reinitializedStateOfDevice */
- offset = fEnumeratedTag (tvb, tree, offset,
- "reinitialized State Of Device: ",
+ offset = fEnumeratedTag (tvb, tree, offset,
+ "reinitialized State Of Device: ",
BACnetReinitializedStateOfDevice);
break;
case 1: /* password */
static guint
fVtOpenRequest(tvbuff_t *tvb, proto_tree *tree, guint offset)
{
- offset = fApplicationTypesEnumerated (tvb, tree, offset,
+ offset = fApplicationTypesEnumerated (tvb, tree, offset,
"vtClass: ", BACnetVTClass);
return fApplicationTypes (tvb,tree,offset,"local VT Session ID: ");
}
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
-
+
switch (fTagNo(tvb,offset)) {
case 0: /* BOOLEAN */
offset = fBooleanTag (tvb, tree, offset, "all New Data Accepted: ");
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
-
+
switch (fTagNo(tvb,offset)) {
case 0: /* Unsigned32 */
offset = fUnsignedTag (tvb, tree, offset, "pseudo Random Number: ");
subtree = tree;
continue;
}
-
+
switch (tag_no) {
case 0: /* objectIdentifier */
offset = fObjectIdentifier (tvb, subtree, offset);
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
fTagHeader (tvb, offset, &tag_no, &tag_info, &lvt);
- if (tag_is_closing(tag_info)) {
+ if (tag_is_closing(tag_info)) {
offset += fTagHeaderTree (tvb, subtree, offset,
&tag_no, &tag_info, &lvt);
continue;
}
-
+
switch (tag_no) {
case 0: /* objectIdentifier */
offset = fObjectIdentifier (tvb, subtree, offset);
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
-
+
switch (fTagNo(tvb,offset)) {
case 0: /* ObjectIdentifier */
offset = fObjectIdentifier (tvb, tree, offset);
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
-
+
switch (fTagNo(tvb,offset)) {
case 0: /* ObjectIdentifier */
offset = fBACnetObjectPropertyReference (tvb, tree, offset);
if (offset >= tvb_reported_length(tvb))
return offset;
-
+
for (i = 1; i <= 16; i++) {
g_snprintf (ar, sizeof(ar), "%s[%d]: ",
val_to_split_str(87 , 512,
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
-
+
switch (fTagNo(tvb,offset)) {
case 0: /* deviceIdentifier */
offset = fObjectIdentifier (tvb, tree, offset);
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
fTagHeader (tvb, offset, &tag_no, &tag_info, &lvt);
- if (tag_is_closing(tag_info)) {
+ if (tag_is_closing(tag_info)) {
continue;
}
-
+
switch (tag_no) {
case 0: /* calendaryEntry */
if (tag_is_opening(tag_info))
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
-
+
switch (fTagNo(tvb,offset)) {
case 0: /* propertyIdentifier */
offset = fPropertyIdentifier (tvb, tree, offset);
offset = fUnsignedTag (tvb, tree, offset, "property Array Index: ");
break;
case 2: /* relationSpecifier */
- offset = fEnumeratedTag (tvb, tree, offset,
+ offset = fEnumeratedTag (tvb, tree, offset,
"relation Specifier: ", BACnetRelationSpecifier);
break;
case 3: /* comparisonValue */
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
fTagHeader (tvb, offset, &tag_no, &tag_info, &lvt);
- if (tag_is_closing(tag_info)) {
+ if (tag_is_closing(tag_info)) {
offset += fTagHeaderTree (tvb, subtree, offset,
&tag_no, &tag_info, &lvt);
continue;
}
-
+
switch (tag_no) {
case 0: /* selectionLogic */
- offset = fEnumeratedTag (tvb, subtree, offset,
+ offset = fEnumeratedTag (tvb, subtree, offset,
"selection Logic: ", BACnetSelectionLogic);
break;
case 1: /* listOfSelectionCriteria */
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
fTagHeader (tvb, offset, &tag_no, &tag_info, &lvt);
- if (tag_is_closing(tag_info)) {
+ if (tag_is_closing(tag_info)) {
offset += fTagHeaderTree (tvb, subtree, offset, &tag_no, &tag_info, &lvt);
continue;
}
-
+
switch (tag_no) {
case 0: /* objectSelectionCriteria */
offset = fObjectSelectionCriteria (tvb, subtree, offset);
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
fTagHeader (tvb, offset, &tag_no, &tag_info, &lvt);
- if (tag_is_closing(tag_info)) {
+ if (tag_is_closing(tag_info)) {
offset += fTagHeaderTree (tvb, subtree, offset, &tag_no,
&tag_info, &lvt);
continue;
}
-
+
switch (tag_no) {
case 0: /* objectIdentifier */
offset = fObjectIdentifier (tvb, subtree, offset);
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
fTagHeader (tvb, offset, &tag_no, &tag_info, &lvt);
- if (tag_is_closing(tag_info)) {
+ if (tag_is_closing(tag_info)) {
offset += fTagHeaderTree (tvb, subtree, offset,
&tag_no, &tag_info, &lvt);
if (tag_no == 4 || tag_no == 5) subtree = tree; /* Value and error have extra subtree */
continue;
}
-
+
switch (tag_no) {
case 0: /* objectSpecifier */
offset = fObjectIdentifier (tvb, subtree, offset);
while ((tvb_length_remaining(tvb, offset) > 0) && (offset > lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
fTagHeader (tvb, offset, &tag_no, &tag_info, &lvt);
- if (tag_is_closing(tag_info)) {
+ if (tag_is_closing(tag_info)) {
offset += fTagHeaderTree (tvb, subtree, offset,
&tag_no, &tag_info, &lvt);
continue;
}
-
+
switch (tag_no) {
case 0: /* objectSpecifier */
offset = fObjectSpecifier (tvb, subtree, offset);
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
fTagHeader (tvb, offset, &tag_no, &tag_info, &lvt);
- if (tag_is_closing(tag_info)) {
+ if (tag_is_closing(tag_info)) {
offset += fTagHeaderTree (tvb, subtree, offset,
&tag_no, &tag_info, &lvt);
subtree = tree;
continue;
}
-
+
switch (tag_no) {
case 0: /* objectSpecifier */
offset = fObjectIdentifier (tvb, subtree, offset);
subtree = tree;
continue;
}
-
+
switch (tag_no) {
case 0: /* objectSpecifier */
offset = fObjectIdentifier (tvb, subtree, offset);
offset = fUnsignedTag (tvb, subtree, offset, "Property Array Index: ");
break;
case 3: /* resultFlags */
- offset = fEnumeratedTag (tvb, tree, offset,
+ offset = fEnumeratedTag (tvb, tree, offset,
"result Flags: ", BACnetResultFlags);
break;
case 4: /* itemCount */
switch (tag_no) {
case 0: /* streamAccess */
- if (tag_is_opening(tag_info)) {
+ if (tag_is_opening(tag_info)) {
tt = proto_tree_add_text(tree, tvb, offset, 1, "stream Access");
subtree = proto_item_add_subtree(tt, ett_bacapp_value);
offset += fTagHeaderTree (tvb, subtree, offset, &tag_no, &tag_info, &lvt);
default:
break;
}
-
+
return offset;
}
while ((tvb_length_remaining(tvb, offset) > 0)&&(offset>lastoffset)) { /* exit loop if nothing happens inside */
lastoffset = offset;
fTagHeader (tvb, offset, &tag_no, &tag_info, &lvt);
- if (tag_is_closing(tag_info)) {
+ if (tag_is_closing(tag_info)) {
offset += fTagHeaderTree (tvb, subtree, offset,
&tag_no, &tag_info, &lvt);
subtree = tree;
offset = fApplicationTypes (tvb, tree, offset, "Maximum ADPU Length Accepted: ");
/* segmentationSupported */
- offset = fApplicationTypesEnumerated (tvb, tree, offset,
+ offset = fApplicationTypesEnumerated (tvb, tree, offset,
"Segmentation Supported: ", BACnetSegmentation);
/* vendor ID */
{
if (tvb_length_remaining(tvb,offset) <= 0)
return offset;
-
+
switch (service_choice) {
case 0: /* I-Am-Request */
offset = fIAmRequest (tvb, tree, offset);
static guint
fError (tvbuff_t *tvb, proto_tree *tree, guint offset)
{
- offset = fApplicationTypesEnumeratedSplit (tvb, tree, offset,
+ offset = fApplicationTypesEnumeratedSplit (tvb, tree, offset,
"error Class: ", BACnetErrorClass, 64);
- return fApplicationTypesEnumeratedSplit (tvb, tree, offset,
+ return fApplicationTypesEnumeratedSplit (tvb, tree, offset,
"error Code: ", BACnetErrorCode, 256);
}
col_set_str(pinfo->cinfo, COL_PROTOCOL, "BACnet-APDU");
if (check_col(pinfo->cinfo, COL_INFO))
col_add_str(pinfo->cinfo, COL_INFO, "BACnet APDU ");
-
+
tmp = (gint) tvb_get_guint8(tvb, 0);
bacapp_type = (tmp >> 4) & 0x0f;
}
col_append_fstr(pinfo->cinfo, COL_INFO, "[invoke:%d]: %s",
bacapp_invoke_id,
- val_to_str(bacapp_service,
+ val_to_str(bacapp_service,
BACnetConfirmedServiceChoice,
bacapp_unknown_service_str));
break;
case BACAPP_TYPE_UNCONFIRMED_SERVICE_REQUEST:
bacapp_service = tvb_get_guint8(tvb, offset + 1);
col_append_fstr(pinfo->cinfo, COL_INFO, ": %s",
- val_to_str(bacapp_service,
+ val_to_str(bacapp_service,
BACnetUnconfirmedServiceChoice,
bacapp_unknown_service_str));
break;
bacapp_service = tvb_get_guint8(tvb, offset + 2);
col_append_fstr(pinfo->cinfo, COL_INFO, "[invoke:%d]: %s",
bacapp_invoke_id,
- val_to_str(bacapp_service,
+ val_to_str(bacapp_service,
BACnetConfirmedServiceChoice,
bacapp_unknown_service_str));
break;
}
col_append_fstr(pinfo->cinfo, COL_INFO, "[invoke:%d]: %s",
bacapp_invoke_id,
- val_to_str(bacapp_service,
+ val_to_str(bacapp_service,
BACnetConfirmedServiceChoice,
bacapp_unknown_service_str));
break;
bacapp_service = tvb_get_guint8(tvb, offset + 2);
col_append_fstr(pinfo->cinfo, COL_INFO, "[invoke:%d]: %s",
bacapp_invoke_id,
- val_to_str(bacapp_service,
+ val_to_str(bacapp_service,
BACnetConfirmedServiceChoice,
bacapp_unknown_service_str));
break;
case BACAPP_TYPE_REJECT:
bacapp_invoke_id = tvb_get_guint8(tvb, offset + 1);
bacapp_reason = tvb_get_guint8(tvb, offset + 2);
- col_append_fstr(pinfo->cinfo, COL_INFO, "[invoke:%d]: %s",
+ col_append_fstr(pinfo->cinfo, COL_INFO, "[invoke:%d]: %s",
bacapp_invoke_id,
val_to_split_str(bacapp_reason,
64,
break;
}
}
-
+
if (tree) {
ti = proto_tree_add_item(tree, proto_bacapp, tvb, offset, -1, FALSE);
bacapp_tree = proto_item_add_subtree(ti, ett_bacapp);
fConvertXXXtoUTF8 (const guint8 *in, size_t *inbytesleft, guint8 *out, size_t *outbytesleft, const gchar *fromcoding)
{ /* I don't want to let in and out be modified */
#ifdef HAVE_CONFIG_H
-#if HAVE_ICONV_H
- guint32 i;
+#if HAVE_ICONV
+ guint32 i;
iconv_t icd;
const guint8 *inp = in;
guint8 *outp = out;
const guint8 **inpp = &inp;
guint8 **outpp = &outp;
-
+
if ((icd = iconv_open ("UTF-8", fromcoding)) != (iconv_t) -1) {
i = iconv (icd, (char**) inpp, inbytesleft, (char**) outpp, outbytesleft);
*outpp[0] = '\0';
#ifdef HAVE_CONFIG_H
# include "config.h"
-#if HAVE_ICONV_H
+#if HAVE_ICONV
#include <iconv.h>
#endif
#endif
* }
* @param tvb
* @param pinfo
- * @param tree
+ * @param tree
* @param offset
* @return modified offset
*/
/**
* @param tvb
- * @param tree
+ * @param tree
* @param offset
* @param ack - indocates whether working on request or ack
* @param svc - output variable to return service choice
* service-request [3] BACnetUnconfirmedServiceRequest -- Context-specific tags 0..3 are NOT used in header encoding
* }
* @param tvb
- * @param tree
+ * @param tree
* @param offset
* @return modified offset
*/
* service-ACK-choice [3] BACnetUnconfirmedServiceChoice -- Context-specific tags 0..3 are NOT used in header encoding
* }
* @param tvb
- * @param tree
+ * @param tree
* @param offset
* @return modified offset
*/
* service-ACK [8] BACnet-Confirmed-Service-Request -- Context-specific tags 0..8 are NOT used in header encoding
* }
* @param tvb
- * @param tree
+ * @param tree
* @param offset
* @return modified offset
*/
* actual-window-size [6] Unsigned (0..127)
* }
* @param tvb
- * @param tree
+ * @param tree
* @param offset
* @return modified offset
*/
* error [4] BACnet-Error
* }
* @param tvb
- * @param tree
+ * @param tree
* @param offset
* @return modified offset
*/
* reject-reason [3] BACnetRejectReason
* }
* @param tvb
- * @param tree
+ * @param tree
* @param offset
* @return modified offset
*/
* abort-reason [4] BACnetAbortReason
* }
* @param tvb
- * @param tree
+ * @param tree
* @param offset
* @return modified offset
*/
/**
* 20.2.4, adds the label with max 64Bit unsigned Integer Value to tree
- * @param tvb
- * @param tree
- * @param offset
- * @param label
+ * @param tvb
+ * @param tree
+ * @param offset
+ * @param label
* @return modified offset
*/
static guint
/**
* 20.2.5, adds the label with max 64Bit signed Integer Value to tree
- * @param tvb
- * @param tree
- * @param offset
- * @param label
+ * @param tvb
+ * @param tree
+ * @param offset
+ * @param label
* @return modified offset
*/
static guint
/**
* 20.2.8, adds the label with Octet String to tree; if lvt == 0 then lvt = restOfFrame
- * @param tvb
- * @param tree
- * @param offset
- * @param label
+ * @param tvb
+ * @param tree
+ * @param offset
+ * @param label
* @param lvt length of String
* @return modified offset
*/
/**
* 20.2.12, adds the label with Date Value to tree
- * @param tvb
- * @param tree
- * @param offset
- * @param label
+ * @param tvb
+ * @param tree
+ * @param offset
+ * @param label
* @return modified offset
*/
static guint
/**
* 20.2.13, adds the label with Time Value to tree
- * @param tvb
- * @param tree
- * @param offset
- * @param label
+ * @param tvb
+ * @param tree
+ * @param offset
+ * @param label
* @return modified offset
*/
static guint
/**
* 20.2.14, adds Object Identifier to tree
* use BIG ENDIAN: Bits 31..22 Object Type, Bits 21..0 Instance Number
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* acknowledgementSource [4] Character String,
* timeOfAcknowledgement [5] BACnetTimeStamp
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* timeRemaining [3] unsigned,
* listOfValues [4] SEQUENCE OF BACnetPropertyValues
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* toState [11] BACnetEventState,
* eventValues [12] BACnetNotificationParameters OPTIONAL
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* alarmState BACnetEventState,
* acknowledgedTransitions BACnetEventTransitionBits
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* } OPTIONAL,
* notificationClassFilter [5] Unsigned OPTIONAL
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* priority Unsigned8,
* notificationClass Unsigned OPTIONAL
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* GetEventInformation-Request ::= SEQUENCE {
* lastReceivedObjectIdentifier [0] BACnetObjectIdentifer
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* listOfEventSummaries [0] listOfEventSummaries,
* moreEvents [1] BOOLEAN
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* request [2] BACnetLifeSafetyOperation
* objectIdentifier [3] BACnetObjectIdentifier OPTIONAL
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* issueConfirmedNotifications [2] BOOLEAN OPTIONAL
* lifetime [3] Unsigned OPTIONAL
* }
- * @param tvb
- * @param tree
- * @param offset
- * @param label
+ * @param tvb
+ * @param tree
+ * @param offset
+ * @param label
* @param src
* @return modified offset
*/
* monitoredPropertyIdentifier [4] BACnetPropertyReference OPTIONAL
* covIncrement [5] Unsigned OPTIONAL
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* }
* }
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* }
* }
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* }
* }
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* fileStartPosition [0] INTEGER,
* fileStartRecord [1] INTEGER,
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* propertyArrayIndex [2] Unsigned OPTIONAL, -- used only with array datatype
* listOfElements [3] ABSTRACT-SYNTAX.&Type
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* objectSpecifier [0] ObjectSpecifier,
* listOfInitialValues [1] SEQUENCE OF BACnetPropertyValue OPTIONAL
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
/**
* CreateObject-Request ::= BACnetObjectIdentifier
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* DeleteObject-Request ::= SEQUENCE {
* ObjectIdentifier BACnetObjectIdentifer
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* propertyIdentifier [1] BACnetPropertyIdentifier,
* propertyArrayIndex [2] Unsigned OPTIONAL, -- used only with array datatype
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* propertyArrayIndex [2] Unsigned OPTIONAL, -- used only with array datatype
* propertyValue [3] ABSTRACT-SYNTAX.&Type
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* objectSelectionCriteria [0] objectSelectionCriteria,
* listOfPropertyReferences [1] SEQUENCE OF BACnetPropertyReference OPTIONAL
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* ReadPropertyConditional-ACK ::= SEQUENCE {
* listOfPReadAccessResults SEQUENCE OF ReadAccessResult OPTIONAL
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* },
* } OPTIONAL
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* itemCount [4] Unsigned,
* itemData [5] SEQUENCE OF ABSTRACT-SYNTAX.&Type
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* propertyArrayIndex [2] Unsigned OPTIONAL, -- used only with array datatype
* listOfElements [3] ABSTRACT-SYNTAX.&Type
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* propertyValue [3] ABSTRACT-SYNTAX.&Type
* priority [4] Unsigned8 (1..16) OPTIONAL --used only when property is commandable
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* WritePropertyMultiple-Request ::= SEQUENCE {
* listOfWriteAccessSpecifications SEQUENCE OF WriteAccessSpecification
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* },
* password [2] CharacterString (SIZE(1..20)) OPTIONAL
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* serviceNumber [1] Unsigned,
* serviceParameters [2] ABSTRACT-SYNTAX.&Type OPTIONAL
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* serviceNumber [1] Unsigned,
* resultBlock [2] ABSTRACT-SYNTAX.&Type OPTIONAL
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* },
* message [3] CharacterString
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* },
* password [1] CharacterString (SIZE(1..20)) OPTIONAL
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* vtClass BACnetVTClass,
* localVTSessionIdentifier Unsigned8
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* VTOpen-ACK ::= SEQUENCE {
* remoteVTSessionIdentifier Unsigned8
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* VTClose-Request ::= SEQUENCE {
* listOfRemoteVTSessionIdentifiers SEQUENCE OF Unsigned8
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* vtNewData OCTET STRING,
* vtDataFlag Unsigned (0..1)
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* allNewDataAccepted [0] BOOLEAN,
* acceptedOctetCount [1] Unsigned OPTIONAL -- present only if allNewDataAccepted = FALSE
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* operatorPassword [3] CharacterString (SIZE(1..20)) OPTIONAL,
* startEncypheredSession [4] BOOLEAN OPTIONAL
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* Authenticate-ACK ::= SEQUENCE {
* modifiedRandomNumber Unsigned32,
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* remoteDeviceIdentifier BACnetObjectIdentifier,
* remoteDeviceAddress BACnetAddress
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
/**
* Unconfirmed-Service-Request ::= CHOICE {
* }
- * @param tvb
- * @param tree
+ * @param tvb
+ * @param tree
* @param offset
* @param service_choice
* @return modified offset
* timeRemaining [3] unsigned,
* listOfValues [4] SEQUENCE OF BACnetPropertyValues
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* toState [11] BACnetEventState,
* eventValues [12] BACnetNotificationParameters OPTIONAL
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* segmentationSupported BACnetSegmentation,
* vendorID Unsigned
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* objectIdentifier BACnetObjectIdentifier,
* objectName CharacterString
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* serviceNumber [1] Unsigned,
* serviceParameters [2] ABSTRACT-SYNTAX.&Type OPTIONAL
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* },
* message [3] CharacterString
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* TimeSynchronization-Request ::= SEQUENCE {
* BACnetDateTime
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* UTCTimeSynchronization-Request ::= SEQUENCE {
* BACnetDateTime
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* objectName [3] CharacterString
* }
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* deviceInstanceRangeLowLimit [0] Unsigned (0..4194303) OPTIONAL, -- must be used as a pair, see 16.9,
* deviceInstanceRangeHighLimit [0] Unsigned (0..4194303) OPTIONAL, -- must be used as a pair, see 16.9,
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* [default] Error
* }
* @param tvb
- * @param tree
+ * @param tree
* @param offset
* @param service
* @return modified offset
* Dissect a BACnetError in a context tag
*
* @param tvb
- * @param tree
+ * @param tree
* @param offset
* @return modified offset
*/
* }
* }
* @param tvb
- * @param tree
+ * @param tree
* @param offset
* @return modified offset
*/
* }
* }
* @param tvb
- * @param tree
+ * @param tree
* @param offset
* @return modified offset
*/
* }
* }
* @param tvb
- * @param tree
+ * @param tree
* @param offset
* @return modified offset
*/
* }
* }
* @param tvb
- * @param tree
+ * @param tree
* @param offset
* @return modified offset
*/
* }
* }
* @param tvb
- * @param tree
+ * @param tree
* @param offset
* @return modified offset
*/
/**
* BACnet Application Types chapter 20.2.1
- * @param tvb
- * @param tree
- * @param offset
- * @param label
+ * @param tvb
+ * @param tree
+ * @param offset
+ * @param label
* @return modified offset
*/
static guint
* quitOnFailure [7] BOOLEAN,
* writeSuccessful [8] BOOLEAN
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* BACnetActionList ::= SEQUENCE {
* action [0] SEQUENCE of BACnetActionCommand
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* network-number Unsigned16, -- A value 0 indicates the local network
* mac-address OCTET STRING -- A string of length 0 indicates a broadcast
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* deviceObjectID BACnetObjectIdentifier
* deviceAddress BacnetAddress
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* dateRange [1] BACnetDateRange,
* weekNDay [2] BacnetWeekNday
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* real-increment REAL,
* default-increment NULL
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* BACnetDailySchedule ::= SEQUENCE {
* day-schedule [0] SENQUENCE OF BACnetTimeValue
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* BACnetWeeklySchedule ::= SEQUENCE {
* week-schedule SENQUENCE SIZE (7) OF BACnetDailySchedule
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* StartDate Date,
* EndDate Date
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* date Date,
* time Time
* }
- * @param tvb
- * @param tree
- * @param offset
- * @param label
+ * @param tvb
+ * @param tree
+ * @param offset
+ * @param label
* @return modified offset
*/
static guint
* issueConfirmedNotifications BOOLEAN,
* transitions BACnetEventTransitionBits
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* propertyArrayIndex [2] Unsigend OPTIONAL,
* deviceIdentifier [3] BACnetObjectIdentifier OPTIONAL
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* deviceIdentifier [0] BACnetObjectIdentifier OPTIONAL,
* objectIdentifier [1] BACnetObjectIdentifier
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* mode-property-reference [3] BACnetDeviceObjectPropertyReference
* }
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* }
* statusFlags [2] BACnetStatusFlags OPTIONAL
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* operation-expected [3] BACnetLifeSafetyOperation
* }
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* propertyIdentifier [1] BACnetPropertyIdentifier,
* propertyArrayIndex [2] Unsigned OPTIONAL, -- used only with array datatype
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* value [3] ABSTRACT-SYNTAX.&Type, --any datatype appropriate for the specified property
* priority [4] Unsigned (1..16) OPTIONAL
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
/**
* BACnetPriorityArray ::= SEQUENCE SIZE (16) OF BACnetPriorityValue
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* propertyIdentifier [0] BACnetPropertyIdentifier,
* propertyArrayIndex [1] Unsigned OPTIONAL, -- used only with array datatype
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* value [2] ABSTRACT-SYNTAX.&Type, -- any datatype appropriate for the specified property
* priority [3] Unsigned (1..16) OPTIONAL -- used only when property is commandable
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* device [0] BACnetObjectIdentifier
* address [1] BACnetAddress
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* recipient [0] BACnetRecipient
* processID [1] Unsigned32
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* sessionKey OCTET STRING (SIZE(8)), -- 56 bits for key, 8 bits for checksum
* peerAddress BACnetAddress
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
- * @todo check if checksum is displayed correctly
+ * @todo check if checksum is displayed correctly
*/
static guint
fSessionKey (tvbuff_t *tvb, proto_tree *tree, guint offset);
* BACnetSetpointReference ::= SEQUENCE {
* sessionKey [0] BACnetObjectPropertyReference OPTIONAL
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* listOfTimeValues [2] SEQUENCE OF BACnetTimeValue,
* eventPriority [3] Unsigned (1..16)
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* sequenceNumber [1] Unsigned (0..65535),
* dateTime [2] BACnetDateTime
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* time Time,
* value ABSTRACT-SYNTAX.&Type -- any primitive datatype, complex types cannot be decoded
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* remote-vtSessionID Unsigned8,
* remote-vtAddress BACnetAddress
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* -- third octet dayOfWeek (1..7) where 1 = Monday
* -- 7 = Sunday
* -- X'FF' = any day of week
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* }
* } OPTIONAL
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* objectIdentifier [0] BACnetObjectIdentifier,
* listOfPropertyReferences [1] SEQUENCE OF BACnetPropertyReference
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* objectIdentifier [0] BACnetObjectIdentifier,
* listOfProperty [1] SEQUENCE OF BACnetPropertyValue
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
*/
static guint
fTagNo (tvbuff_t *tvb, guint offset);
-
+
/**
* splits Tag Header coresponding to 20.2.1 General Rules For BACnet Tags
* @param tvb = "TestyVirtualBuffer"
/**
* adds processID with max 32Bit unsigned Integer Value to tree
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
/**
* adds timeSpan with max 32Bit unsigned Integer Value to tree
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* BACnetPropertyIdentifier::= ENUMERATED {
* @see bacapp_property_identifier
* }
- * @param tvb
- * @param tree
- * @param offset
- * @param tt returnvalue of this item
+ * @param tvb
+ * @param tree
+ * @param offset
+ * @param tt returnvalue of this item
* @return modified offset
*/
static guint
* eventEnable [5] BACnetEventTransitionBits,
* eventPriorities [6] SEQUENCE SIZE (3) OF Unsigned
* }
- * @param tvb
+ * @param tvb
* @param tree
- * @param offset
+ * @param offset
* @return modified offset
*/
static guint
* relationSpecifier [2] ENUMERATED { bacapp_relationSpecifier },
* comparisonValue [3] ABSTRACT-SYNTAX.&Type
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* selectionLogic [0] ENUMERATED { bacapp_selectionLogic },
* listOfSelectionCriteria [1] SelectionCriteria
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* objectType [0] BACnetObjectType,
* objectIdentifier [1] BACnetObjectIdentifier
* }
- * @param tvb
- * @param tree
- * @param offset
+ * @param tvb
+ * @param tree
+ * @param offset
* @return modified offset
*/
static guint
* }
* }
* @param tvb
- * @param tree
+ * @param tree
* @param offset
* @return modified offset
*/