Contiki 2.5
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
core
net
mac
nullrdc-noframer.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
* $Id: nullrdc-noframer.c,v 1.1 2010/11/23 18:11:00 nifi Exp $
32
*/
33
34
/**
35
* \file
36
* A MAC protocol that does not do anything.
37
* \author
38
* Adam Dunkels <adam@sics.se>
39
*/
40
41
#include "
net/mac/nullrdc-noframer.h
"
42
#include "
net/packetbuf.h
"
43
#include "
net/netstack.h
"
44
45
/*---------------------------------------------------------------------------*/
46
static
void
47
send_packet(mac_callback_t sent,
void
*ptr)
48
{
49
int
ret;
50
if
(NETSTACK_RADIO.send(
packetbuf_hdrptr
(),
packetbuf_totlen
()) == RADIO_TX_OK) {
51
ret =
MAC_TX_OK
;
52
}
else
{
53
ret =
MAC_TX_ERR
;
54
}
55
mac_call_sent_callback(sent, ptr, ret, 1);
56
}
57
/*---------------------------------------------------------------------------*/
58
static
void
59
packet_input(
void
)
60
{
61
NETSTACK_MAC.input();
62
}
63
/*---------------------------------------------------------------------------*/
64
static
int
65
on
(
void
)
66
{
67
return
NETSTACK_RADIO.on();
68
}
69
/*---------------------------------------------------------------------------*/
70
static
int
71
off
(
int
keep_radio_on)
72
{
73
if
(keep_radio_on) {
74
return
NETSTACK_RADIO.on();
75
}
else
{
76
return
NETSTACK_RADIO.off();
77
}
78
}
79
/*---------------------------------------------------------------------------*/
80
static
unsigned
short
81
channel_check_interval
(
void
)
82
{
83
return
0;
84
}
85
/*---------------------------------------------------------------------------*/
86
static
void
87
init
(
void
)
88
{
89
on
();
90
}
91
/*---------------------------------------------------------------------------*/
92
const
struct
rdc_driver
nullrdc_noframer_driver = {
93
"nullrdc-noframer"
,
94
init
,
95
send_packet,
96
packet_input,
97
on
,
98
off
,
99
channel_check_interval
,
100
};
101
/*---------------------------------------------------------------------------*/
Generated on Fri Aug 30 2013 12:34:05 for Contiki 2.5 by
1.8.3.1