Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
# The implicit certificate used in CBKE.
_fields = [
# The certificate data.
("contents", basic.fixed_list(48, basic.uint8_t))
]
class EmberPublicKeyData(EzspStruct):
# The public key data used in CBKE.
_fields = [
# The public key data.
("contents", basic.fixed_list(22, basic.uint8_t))
]
class EmberPrivateKeyData(EzspStruct):
# The private key data used in CBKE.
_fields = [
# The private key data.
("contents", basic.fixed_list(21, basic.uint8_t))
]
class EmberTransientKeyData(EzspStruct):
# The transient key data structure
_fields = [
# The IEEE address paired with the transient link key.
("eui64", named.EmberEUI64),
# The key data structure matching the transient key.
("keyData", named.EmberKeyData),
# The incoming frame counter associated with this key.
("incomingFrameCounter", basic.uint32_t),
("preconfiguredTrustCenterEui64", named.EmberEUI64),
]
class EmberCurrentSecurityState(EzspStruct):
# The security options and information currently used by the stack.
_fields = [
# A bitmask indicating the security options currently in use by a
# device joined in the network.
("bitmask", named.EmberCurrentSecurityBitmask),
# The IEEE Address of the Trust Center device.
("trustCenterLongAddress", named.EmberEUI64),
]
class EmberKeyStruct(EzspStruct):
# A structure containing a key and its associated data.
_fields = [
# A bitmask indicating the presence of data within the various fields
# in the structure.
("bitmask", named.EmberKeyStructBitmask),
# The type of the key.
("type", named.EmberKeyType),
# The actual key data.
("key", named.EmberKeyData),
# The outgoing frame counter associated with the key.
("outgoingFrameCounter", basic.uint32_t),
# The frame counter of the partner device associated with the key.
("incomingFrameCounter", basic.uint32_t),
# The sequence number associated with the key.
("sequenceNumber", basic.uint8_t),
# The IEEE address of the partner device also in possession of the key.
# The node id.
("nodeId", named.EmberNodeId),
# The ZLL state.
("state", named.EmberZllState),
# The node type.
("nodeType", named.EmberNodeType),
# The number of sub devices.
("numberSubDevices", basic.uint8_t),
# The total number of group identifiers.
("totalGroupIdentifiers", basic.uint8_t),
# RSSI correction value.
("rssiCorrection", basic.uint8_t),
]
class EmberZllInitialSecurityState(EzspStruct):
# Describes the initial security features and requirements that will be
# used when forming or joining ZLL networks.
_fields = [
# Unused bitmask; reserved for future use.
("bitmask", basic.uint32_t),
# The key encryption algorithm advertised by the application.
("keyIndex", named.EmberZllKeyIndex),
# The encryption key for use by algorithms that require it.
("encryptionKey", named.EmberKeyData),
# The pre-configured link key used during classical ZigBee
# commissioning.
("preconfiguredKey", named.EmberKeyData),
]
class EmberZllDeviceInfoRecord(EzspStruct):
# The type of the key.
("type", named.EmberKeyType),
# The actual key data.
("key", named.EmberKeyData),
# The outgoing frame counter associated with the key.
("outgoingFrameCounter", basic.uint32_t),
# The frame counter of the partner device associated with the key.
("incomingFrameCounter", basic.uint32_t),
# The sequence number associated with the key.
("sequenceNumber", basic.uint8_t),
# The IEEE address of the partner device also in possession of the key.
("partnerEUI64", named.EmberEUI64),
]
class EmberNetworkInitStruct(EzspStruct):
# Network Initialization parameters.
_fields = [
# Configuration options for network init.
("bitmask", named.EmberNetworkInitBitmask)
]
class EmberZllSecurityAlgorithmData(EzspStruct):
# Data associated with the ZLL security algorithm.
_fields = [
# Transaction identifier.
("transactionId", basic.uint32_t),
# Response identifier.
("responseId", basic.uint32_t),
# Bitmask.
("bitmask", basic.uint16_t),
("inCost", basic.uint8_t),
# The outgoing cost for this neighbor, obtained from the most recently
# received neighbor exchange message from the neighbor. A value of zero
# means that a neighbor exchange message from the neighbor has not been
# received recently enough, or that our id was not present in the most
# recently received one.
("outCost", basic.uint8_t),
# The number of aging periods elapsed since a link status message was
# last received from this neighbor. The aging period is 16 seconds.
("age", basic.uint8_t),
# The 8 byte EUI64 of the neighbor.
("longId", named.EmberEUI64),
]
class EmberRouteTableEntry(EzspStruct):
# A route table entry stores information about the next hop along the route
# to the destination.
_fields = [
# The short id of the destination. A value of 0xFFFF indicates the
# entry is unused.
("destination", basic.uint16_t),
# The short id of the next hop to this destination.
("nextHop", basic.uint16_t),
# Indicates whether this entry is active (0), being discovered (1)),
# unused (3), or validating (4).
("status", basic.uint8_t),
# The number of seconds since this route entry was last used to send a
# packet.
("age", basic.uint8_t),
# Indicates whether this destination is a High RAM Concentrator (2), a
# Low RAM Concentrator (1), or not a concentrator (0).
# The sequence number associated with the key.
("sequenceNumber", basic.uint8_t),
# The IEEE address of the partner device also in possession of the key.
("partnerEUI64", named.EmberEUI64),
]
class EmberNetworkInitStruct(EzspStruct):
# Network Initialization parameters.
_fields = [
# Configuration options for network init.
("bitmask", named.EmberNetworkInitBitmask)
]
class EmberZllSecurityAlgorithmData(EzspStruct):
# Data associated with the ZLL security algorithm.
_fields = [
# Transaction identifier.
("transactionId", basic.uint32_t),
# Response identifier.
("responseId", basic.uint32_t),
# Bitmask.
("bitmask", basic.uint16_t),
]
class EmberZllNetwork(EzspStruct):
# The parameters of a ZLL network.
_fields = [
# The parameters of a ZigBee network.
("zigbeeNetwork", EmberZigbeeNetwork),
# An ECDSA signature
_fields = [
# The 283k1 signature data.
("contents", basic.fixed_list(72, basic.uint8_t))
]
class EmberMessageDigest(EzspStruct):
# The calculated digest of a message
_fields = [
# The calculated digest of a message.
("contents", basic.fixed_list(16, basic.uint8_t))
]
class EmberAesMmoHashContext(EzspStruct):
# The hash context for an ongoing hash operation.
_fields = [
# The result of ongoing the hash operation.
("result", basic.fixed_list(16, basic.uint8_t)),
# The total length of the data that has been hashed so far.
("length", basic.uint32_t),
]
class EmberNeighborTableEntry(EzspStruct):
# A neighbor table entry stores information about the reliability of RF
# links to and from neighboring nodes.
_fields = [
# The neighbor's two byte network id
("shortId", basic.uint16_t),
# An exponentially weighted moving average of the link quality values
# Minimum free node id.
("freeNodeIdMin", named.EmberNodeId),
# Maximum free node id.
("freeNodeIdMax", named.EmberNodeId),
# Minimum group id.
("groupIdMin", named.EmberMulticastId),
# Maximum group id.
("groupIdMax", named.EmberMulticastId),
# Minimum free group id.
("freeGroupIdMin", named.EmberMulticastId),
# Maximum free group id.
("freeGroupIdMax", named.EmberMulticastId),
]
class EmberTokTypeStackZllData(EzspStruct):
# Public API for ZLL stack data token.
_fields = [
# Token bitmask.
("bitmask", basic.uint32_t),
# Minimum free node id.
("freeNodeIdMin", basic.uint16_t),
# Maximum free node id.
("freeNodeIdMax", basic.uint16_t),
# Local minimum group id.
("myGroupIdMin", basic.uint16_t),
# Minimum free group id.
("freeGroupIdMin", basic.uint16_t),
# Maximum free group id.
("freeGroupIdMax", basic.uint16_t),
# RSSI correction value.
("rssiCorrection", basic.uint8_t),
# The list of profiles supported by the destination device.
("destProfileIdList", basic.fixed_list(7, basic.uint8_t)),
# The length of the list of supported profiles.
("destProfileIdListLength", basic.uint8_t),
# Info byte.
("info", basic.uint8_t),
# The expected channel of the destination device.
("channel", basic.uint8_t),
# The node capabilities of the recipient node.
("capabilities", basic.uint8_t),
# Last MAC sequence number seen on this pairing link.
("lastSeqn", basic.uint8_t),
]
class EmberGpAddress(EzspStruct):
# A GP address structure.
_fields = [
# The GPD's EUI64.
("gpdIeeeAddress", named.EmberEUI64),
# The GPD's source ID.
("sourceId", basic.uint32_t),
# The GPD Application ID.
("applicationId", basic.uint8_t),
# The GPD endpoint.
("endpoint", basic.uint8_t),
]
class EmberGpSinkListEntry(EzspStruct):
# A sink list entry
_fields = [
# EUI64 associated with the device.
("ieeeAddress", named.EmberEUI64),
# Endpoint id.
("endpointId", basic.uint8_t),
# Profile id.
("profileId", basic.uint16_t),
# Device id.
("deviceId", basic.uint16_t),
# Associated version.
("version", basic.uint8_t),
# Number of relevant group ids.
("groupIdCount", basic.uint8_t),
]
class EmberZllAddressAssignment(EzspStruct):
# ZLL address assignment data.
_fields = [
# Relevant node id.
("nodeId", named.EmberNodeId),
# Minimum free node id.
("freeNodeIdMin", named.EmberNodeId),
# Maximum free node id.
("freeNodeIdMax", named.EmberNodeId),
# Minimum group id.
("groupIdMin", named.EmberMulticastId),
# Maximum group id.
("groupIdMax", named.EmberMulticastId),
# Minimum free group id.
("freeGroupIdMin", named.EmberMulticastId),
# Maximum free group id.
("freeGroupIdMax", named.EmberMulticastId),