Contiki-NG
Toggle main menu visibility
Loading...
Searching...
No Matches
linkaddr.c
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2007, Swedish Institute of Computer Science.
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
7
* are met:
8
* 1. Redistributions of source code must retain the above copyright
9
* notice, this list of conditions and the following disclaimer.
10
* 2. Redistributions in binary form must reproduce the above copyright
11
* notice, this list of conditions and the following disclaimer in the
12
* documentation and/or other materials provided with the distribution.
13
* 3. Neither the name of the Institute nor the names of its contributors
14
* may be used to endorse or promote products derived from this software
15
* without specific prior written permission.
16
*
17
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
18
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
21
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27
* SUCH DAMAGE.
28
*
29
* This file is part of the Contiki operating system.
30
*
31
*/
32
33
/**
34
* \file
35
* Functions for manipulating link-layer addresses
36
* \author
37
* Adam Dunkels <adam@sics.se>
38
*/
39
40
/**
41
* \addtogroup linkaddr
42
* @{
43
*/
44
45
#include "
net/linkaddr.h
"
46
#include <string.h>
47
48
linkaddr_t
linkaddr_node_addr
;
49
#if LINKADDR_SIZE == 2
50
const
linkaddr_t
linkaddr_null
= { { 0, 0 } };
51
#else
/*LINKADDR_SIZE == 2*/
52
#if LINKADDR_SIZE == 8
53
const
linkaddr_t
linkaddr_null
= { { 0, 0, 0, 0, 0, 0, 0, 0 } };
54
#endif
/*LINKADDR_SIZE == 8*/
55
#if LINKADDR_SIZE == 6
56
const
linkaddr_t
linkaddr_null
= { { 0, 0, 0, 0, 0, 0 } };
57
#endif
/*LINKADDR_SIZE == 6*/
58
#endif
/*LINKADDR_SIZE == 2*/
59
60
61
/*---------------------------------------------------------------------------*/
62
void
63
linkaddr_copy
(linkaddr_t *dest,
const
linkaddr_t *src)
64
{
65
memcpy(dest, src, LINKADDR_SIZE);
66
}
67
/*---------------------------------------------------------------------------*/
68
bool
69
linkaddr_cmp
(
const
linkaddr_t *addr1,
const
linkaddr_t *addr2)
70
{
71
return
(memcmp(addr1, addr2, LINKADDR_SIZE) == 0);
72
}
73
/*---------------------------------------------------------------------------*/
74
/** @} */
linkaddr_node_addr
linkaddr_t linkaddr_node_addr
The link-layer address of the node.
Definition
linkaddr.c:48
linkaddr_copy
void linkaddr_copy(linkaddr_t *dest, const linkaddr_t *src)
Copy a link-layer address.
Definition
linkaddr.c:63
linkaddr_cmp
bool linkaddr_cmp(const linkaddr_t *addr1, const linkaddr_t *addr2)
Compare two link-layer addresses.
Definition
linkaddr.c:69
linkaddr_null
const linkaddr_t linkaddr_null
The null link-layer address.
linkaddr.h
Header file for the link-layer address representation.
os
net
linkaddr.c
Generated on
for Contiki-NG by
1.17.0