Expand description
Clause 21 codecs for the Network Port object’s host and broadcast-table
values: BACnetHostAddress, BACnetHostNPort, BACnetBDTEntry and
BACnetFDTEntry (Clause 12.56).
The shapes, as the Clause 21 productions lay them out:
BACnetHostAddressis a CHOICE of primitive alternatives:[0]NULL for no host,[1]OCTET STRING for an IP address (4 or 16 octets) and[2]CharacterString for a host name.BACnetHostNPortis a SEQUENCE of the host, under[0], and the port as an Unsigned16 under[1]. Since the host is a CHOICE, its[0]is an opening and closing pair around the chosen alternative.BACnetBDTEntryis a SEQUENCE of the BBMD’sBACnetHostNPortunder an opening and closing[0], then the optional broadcast mask, a 4-octet OCTET STRING under[1].BACnetFDTEntryis a SEQUENCE of three primitives: the registrant’s address under[0](6 octets for B/IP, 18 for B/IPv6), then the time to live and the time remaining, each an Unsigned16, under[1]and[2].
A BACnetLIST of entries is the plain concatenation of its elements. None of this is the 10-octet BVLL layout Read-Broadcast-Distribution-Table-Ack and Read-Foreign-Device-Table-Ack carry (Annex J.2), which the transport crate owns.
Decoding is strict: a missing, misplaced, truncated or wrong-sized member, or a port or time past an Unsigned16, is an error.
Functions§
- decode_
bdt_ entry - Decode one bare
BACnetBDTEntrySEQUENCE atoffset; returns it and the offset past it. A broadcast mask, when present, must be 4 octets. - decode_
bdt_ entry_ list - Decode a complete BACnetLIST of
BACnetBDTEntry. Every byte must belong to an element; an empty input is an empty list. - decode_
fdt_ entry - Decode one bare
BACnetFDTEntrySEQUENCE atoffset; returns it and the offset past it. The address must be 6 or 18 octets. - decode_
fdt_ entry_ list - Decode a complete BACnetLIST of
BACnetFDTEntry. Every byte must belong to an element; an empty input is an empty list. - decode_
host_ address - Decode one
BACnetHostAddressCHOICE alternative atoffset; returns it and the offset past it. - decode_
host_ n_ port - Decode one bare
BACnetHostNPortSEQUENCE atoffset; returns it and the offset past its port. - encode_
bdt_ entry - Encode one bare
BACnetBDTEntrySEQUENCE. - encode_
bdt_ entry_ list - Encode a BACnetLIST of
BACnetBDTEntryas concatenated elements. - encode_
fdt_ entry - Encode one bare
BACnetFDTEntrySEQUENCE. - encode_
fdt_ entry_ list - Encode a BACnetLIST of
BACnetFDTEntryas concatenated elements. - encode_
host_ address - Encode one
BACnetHostAddressCHOICE alternative. - encode_
host_ n_ port - Encode one bare
BACnetHostNPortSEQUENCE.