Microchip® Advanced Software Framework

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Rime addresses

The linkaddr module is an abstract representation of addresses in Rime.

Data Structures

union  linkaddr_t
 

Files

file  linkaddr.c
 
    Functions for manipulating Rime addresses

 
file  linkaddr.h
 
    Header file for the Rime address representation

 

Macros

#define LINKADDR_SIZE   2
 

Functions

int linkaddr_cmp (const linkaddr_t *addr1, const linkaddr_t *addr2)
 Compare two Rime addresses. More...
 
void linkaddr_copy (linkaddr_t *dest, const linkaddr_t *from)
 Copy a Rime address. More...
 
void linkaddr_set_node_addr (linkaddr_t *addr)
 Set the address of the current node. More...
 

Variables

linkaddr_t linkaddr_node_addr
 The Rime address of the node. More...
 
linkaddr_t linkaddr_node_addr
 The Rime address of the node. More...
 
const linkaddr_t linkaddr_null
 The null Rime address. More...
 

#define LINKADDR_SIZE   2

Referenced by input(), linkaddr_cmp(), and linkaddr_copy().

int linkaddr_cmp ( const linkaddr_t addr1,
const linkaddr_t addr2 
)

Compare two Rime addresses.

Parameters
addr1The first address
addr2The second address
Returns
Non-zero if the addresses are the same, zero if they are different
        This function compares two Rime addresses and returns
        the result of the comparison. The function acts like
        the '==' operator and returns non-zero if the addresses
        are the same, and zero if the addresses are different.

References LINKADDR_SIZE.

Referenced by create(), index_from_lladdr(), input_packet(), mac_sequence_is_duplicate(), mac_sequence_register_seqno(), neighbor_queue_from_addr(), packet_input(), send_one_packet(), send_packet(), uip_ds6_link_neighbor_callback(), and uip_over_mesh_send().

void linkaddr_copy ( linkaddr_t dest,
const linkaddr_t from 
)

Copy a Rime address.

Parameters
destThe destination
fromThe source
        This function copies a Rime address from one location
        to another.

References LINKADDR_SIZE.

Referenced by create(), frame802154_parse(), input(), linkaddr_set_node_addr(), mac_sequence_register_seqno(), nbr_table_add_lladdr(), output(), packetbuf_attr_clear(), packetbuf_set_addr(), send_packet(), uip_over_mesh_make_announced_gateway(), uip_over_mesh_send(), and uip_over_mesh_set_gateway().

void linkaddr_set_node_addr ( linkaddr_t addr)

Set the address of the current node.

Parameters
addrThe address
        This function sets the Rime address of the node.

References linkaddr_copy().

Referenced by set_link_addr().

linkaddr_t linkaddr_node_addr

The Rime address of the node.

This variable contains the Rime address of the node. This variable should not be changed directly; rather, the linkaddr_set_node_addr() function should be used.

Referenced by create(), gateway_announce_recv(), init(), input_packet(), packet_input(), print_stats(), recv_data(), send_data(), send_one_packet(), send_packet(), uip_over_mesh_init(), uip_over_mesh_make_announced_gateway(), and uip_over_mesh_send().

linkaddr_t linkaddr_node_addr

The Rime address of the node.

This variable contains the Rime address of the node. This variable should not be changed directly; rather, the linkaddr_set_node_addr() function should be used.

Referenced by create(), gateway_announce_recv(), init(), input_packet(), packet_input(), print_stats(), recv_data(), send_data(), send_one_packet(), send_packet(), uip_over_mesh_init(), uip_over_mesh_make_announced_gateway(), and uip_over_mesh_send().

const linkaddr_t linkaddr_null

The null Rime address.

This variable contains the null Rime address. The null address is used in route tables to indicate that the table entry is unused. Nodes with no configured address has the null address. Nodes with their node address set to the null address will have problems communicating with other nodes.

Referenced by create(), frame802154_parse(), index_from_lladdr(), input_packet(), nbr_table_add_lladdr(), output(), packet_input(), packetbuf_attr_clear(), send_one_packet(), send_packet(), uip_ds6_link_neighbor_callback(), and uip_over_mesh_send().