embeNET common definitions

Table of contents Table of contents

Detailed Description

Data Structures

struct  EMBENET_IPV6
 IPv6 address. More...
 
struct  EMBENET_K1
 128 bit pre-shared key used to authenticate Beacons More...
 
struct  EMBENET_PSK
 Constrained join 128-bit pre-shared key. This key should be unique and shared with JRC. More...
 
struct  EMBENET_NODE_QuickJoinCredentials
 Structure describing the data necessary to perform a quick network rejoin. More...
 

Macro Definition Documentation

◆ EMBENET_EUI64_INVALID [1/2]

#define EMBENET_EUI64_INVALID   UINT64_C(0)

Invalid value of EMBENET_GroupId used as an error indication.

◆ EMBENET_GROUPID_INVALID [1/2]

#define EMBENET_GROUPID_INVALID   (EMBENET_GroupId)(0U)

Invalid value of EMBENET_GroupId used as an error indication.

◆ EMBENET_EUI64_INVALID [2/2]

#define EMBENET_EUI64_INVALID   UINT64_C(0)

Invalid value of EMBENET_GroupId used as an error indication.

◆ EMBENET_GROUPID_INVALID [2/2]

#define EMBENET_GROUPID_INVALID   (EMBENET_GroupId)(0U)

Invalid value of EMBENET_GroupId used as an error indication.

Typedef Documentation

◆ EMBENET_NetworkPrefix [1/2]

typedef uint64_t EMBENET_NetworkPrefix

Network prefix - common first 8 bytes of nodes IPv6 Address.

◆ EMBENET_EUI64 [1/2]

typedef uint64_t EMBENET_EUI64

Unique identifier of the node.

◆ EMBENET_GroupId [1/2]

typedef uint16_t EMBENET_GroupId

Multicast group ID.

◆ EMBENET_PANID [1/2]

typedef uint16_t EMBENET_PANID

IEEE802.15.4e PAN ID.

◆ EMBENET_RandomSeed [1/2]

typedef uint64_t EMBENET_RandomSeed

Initial value of internal random number generators. USING NOT A RANDOM NUMBER WILL CAUSE A SERIOUS SECURITY VUNERABILITY.

◆ EMBENET_NetworkPrefix [2/2]

typedef uint64_t EMBENET_NetworkPrefix

Network prefix - common first 8 bytes of nodes IPv6 Address.

◆ EMBENET_EUI64 [2/2]

typedef uint64_t EMBENET_EUI64

Unique identifier of the node.

◆ EMBENET_GroupId [2/2]

typedef uint16_t EMBENET_GroupId

Multicast group ID.

◆ EMBENET_PANID [2/2]

typedef uint16_t EMBENET_PANID

IEEE802.15.4e PAN ID.

◆ EMBENET_RandomSeed [2/2]

typedef uint64_t EMBENET_RandomSeed

Initial value of internal random number generators. USING NOT A RANDOM NUMBER WILL CAUSE A SERIOUS SECURITY VUNERABILITY.

Enumeration Type Documentation

◆ EMBENET_Result [1/2]

Possible result codes.

Enumerator
EMBENET_RESULT_OK 
EMBENET_RESULT_UNSPECIFIED_ERROR 

Unspecified error.

EMBENET_RESULT_INVALID_ARGUMENT 

Function arguments are invalid.

EMBENET_RESULT_CALLED_OUTSIDE_A_TASK 

The called function was called outside of a running task.

EMBENET_RESULT_NOT_SYNCHRONIZED 

The node is not synchronized to the network.

EMBENET_RESULT_UNABLE_TO_SCHEDULE_IN_THE_PAST 

The task was not scheduled because the requested time is in the past.

EMBENET_RESULT_INVALID_CREDENTIALS 

The provided credentials were invalid.

EMBENET_RESULT_ROOT_CAPABILITIES_DISABLED 

The requested operation requires root capabilities, which were not built in.

EMBENET_RESULT_UDP_MAX_DATA_SIZE_EXCEEDED 

Data size beyond limit.

EMBENET_RESULT_UDP_PACKET_QUEUE_FULL 

Device's packet queue is full.

EMBENET_RESULT_UDP_FORWARDING_ERROR 

Forwarding error.

EMBENET_RESULT_UDP_SOCKET_UNREGISTERED 

UDP socket was not registered.

EMBENET_RESULT_JOIN_RULE_ALREADY_EXISTS 

Adding rule failed - the rule already exists.

EMBENET_RESULT_JOIN_RULE_NOT_FOUND 

Rule not found in the register.

EMBENET_RESULT_JOIN_RULE_REGISTER_FULL 
EMBENET_RESULT_OK 
EMBENET_RESULT_UNSPECIFIED_ERROR 

Unspecified error.

EMBENET_RESULT_INVALID_ARGUMENT 

Function arguments are invalid.

EMBENET_RESULT_CALLED_OUTSIDE_A_TASK 

The called function was called outside of a running task.

EMBENET_RESULT_NOT_SYNCHRONIZED 

The node is not synchronized to the network.

EMBENET_RESULT_UNABLE_TO_SCHEDULE_IN_THE_PAST 

The task was not scheduled because the requested time is in the past.

EMBENET_RESULT_INVALID_CREDENTIALS 

The provided credentials were invalid.

EMBENET_RESULT_ROOT_CAPABILITIES_DISABLED 

The requested operation requires root capabilities, which were not built in.

EMBENET_RESULT_UDP_MAX_DATA_SIZE_EXCEEDED 

Data size beyond limit.

EMBENET_RESULT_UDP_PACKET_QUEUE_FULL 

Device's packet queue is full.

EMBENET_RESULT_UDP_FORWARDING_ERROR 

Forwarding error.

EMBENET_RESULT_UDP_SOCKET_UNREGISTERED 

UDP socket was not registered.

EMBENET_RESULT_JOIN_RULE_ALREADY_EXISTS 

Adding rule failed - the rule already exists.

EMBENET_RESULT_JOIN_RULE_NOT_FOUND 

Rule not found in the register.

EMBENET_RESULT_JOIN_RULE_REGISTER_FULL 

◆ EMBENET_AddressingMode [1/2]

Possible addressing modes.

Enumerator
EMBENET_ADDRESSING_MODE_SINGLE 

Unicast addressing mode - the recipient is a single node.

EMBENET_ADDRESSING_MODE_GROUP 

Multicast addressing mode - the recipients are all nodes within a group.

EMBENET_ADDRESSING_MODE_SINGLE 

Unicast addressing mode - the recipient is a single node.

EMBENET_ADDRESSING_MODE_GROUP 

Multicast addressing mode - the recipients are all nodes within a group.

◆ EMBENET_Result [2/2]

Possible result codes.

Enumerator
EMBENET_RESULT_OK 
EMBENET_RESULT_UNSPECIFIED_ERROR 

Unspecified error.

EMBENET_RESULT_INVALID_ARGUMENT 

Function arguments are invalid.

EMBENET_RESULT_CALLED_OUTSIDE_A_TASK 

The called function was called outside of a running task.

EMBENET_RESULT_NOT_SYNCHRONIZED 

The node is not synchronized to the network.

EMBENET_RESULT_UNABLE_TO_SCHEDULE_IN_THE_PAST 

The task was not scheduled because the requested time is in the past.

EMBENET_RESULT_INVALID_CREDENTIALS 

The provided credentials were invalid.

EMBENET_RESULT_ROOT_CAPABILITIES_DISABLED 

The requested operation requires root capabilities, which were not built in.

EMBENET_RESULT_UDP_MAX_DATA_SIZE_EXCEEDED 

Data size beyond limit.

EMBENET_RESULT_UDP_PACKET_QUEUE_FULL 

Device's packet queue is full.

EMBENET_RESULT_UDP_FORWARDING_ERROR 

Forwarding error.

EMBENET_RESULT_UDP_SOCKET_UNREGISTERED 

UDP socket was not registered.

EMBENET_RESULT_JOIN_RULE_ALREADY_EXISTS 

Adding rule failed - the rule already exists.

EMBENET_RESULT_JOIN_RULE_NOT_FOUND 

Rule not found in the register.

EMBENET_RESULT_JOIN_RULE_REGISTER_FULL 
EMBENET_RESULT_OK 
EMBENET_RESULT_UNSPECIFIED_ERROR 

Unspecified error.

EMBENET_RESULT_INVALID_ARGUMENT 

Function arguments are invalid.

EMBENET_RESULT_CALLED_OUTSIDE_A_TASK 

The called function was called outside of a running task.

EMBENET_RESULT_NOT_SYNCHRONIZED 

The node is not synchronized to the network.

EMBENET_RESULT_UNABLE_TO_SCHEDULE_IN_THE_PAST 

The task was not scheduled because the requested time is in the past.

EMBENET_RESULT_INVALID_CREDENTIALS 

The provided credentials were invalid.

EMBENET_RESULT_ROOT_CAPABILITIES_DISABLED 

The requested operation requires root capabilities, which were not built in.

EMBENET_RESULT_UDP_MAX_DATA_SIZE_EXCEEDED 

Data size beyond limit.

EMBENET_RESULT_UDP_PACKET_QUEUE_FULL 

Device's packet queue is full.

EMBENET_RESULT_UDP_FORWARDING_ERROR 

Forwarding error.

EMBENET_RESULT_UDP_SOCKET_UNREGISTERED 

UDP socket was not registered.

EMBENET_RESULT_JOIN_RULE_ALREADY_EXISTS 

Adding rule failed - the rule already exists.

EMBENET_RESULT_JOIN_RULE_NOT_FOUND 

Rule not found in the register.

EMBENET_RESULT_JOIN_RULE_REGISTER_FULL 

◆ EMBENET_AddressingMode [2/2]

Possible addressing modes.

Enumerator
EMBENET_ADDRESSING_MODE_SINGLE 

Unicast addressing mode - the recipient is a single node.

EMBENET_ADDRESSING_MODE_GROUP 

Multicast addressing mode - the recipients are all nodes within a group.

EMBENET_ADDRESSING_MODE_SINGLE 

Unicast addressing mode - the recipient is a single node.

EMBENET_ADDRESSING_MODE_GROUP 

Multicast addressing mode - the recipients are all nodes within a group.

Function Documentation

◆ EMBENET_AssembleUnicastIpv6()

EMBENET_IPV6 EMBENET_AssembleUnicastIpv6 ( EMBENET_NetworkPrefix  nwkPrefix,
EMBENET_EUI64  uid 
)

Assembles Network prefix and Node's UID into IPv6 Address.

Parameters
nwkPrefixNetwork prefix
uidUnique Identifier (UID) of the node
Returns
IPv6 address

◆ EMBENET_AssembleMulticastIpv6()

EMBENET_IPV6 EMBENET_AssembleMulticastIpv6 ( EMBENET_NetworkPrefix  nwkPrefix,
EMBENET_GroupId  gid 
)

Assembles Network prefix and Multicast group ID into IPv6 Address.

Parameters
nwkPrefixNetwork prefix
gidMulticast group ID
Returns
IPv6 address