Contiki-Inga 3.x
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
core
dev
slip.h
1
/* -*- C -*- */
2
/*
3
* Copyright (c) 2005, Swedish Institute of Computer Science
4
* All rights reserved.
5
*
6
* Redistribution and use in source and binary forms, with or without
7
* modification, are permitted provided that the following conditions
8
* are met:
9
* 1. Redistributions of source code must retain the above copyright
10
* notice, this list of conditions and the following disclaimer.
11
* 2. Redistributions in binary form must reproduce the above copyright
12
* notice, this list of conditions and the following disclaimer in the
13
* documentation and/or other materials provided with the distribution.
14
* 3. Neither the name of the Institute nor the names of its contributors
15
* may be used to endorse or promote products derived from this software
16
* without specific prior written permission.
17
*
18
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
19
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
22
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28
* SUCH DAMAGE.
29
*
30
* This file is part of the Contiki operating system.
31
*
32
*/
33
34
#ifndef SLIP_H_
35
#define SLIP_H_
36
37
#include "contiki.h"
38
39
PROCESS_NAME
(slip_process);
40
41
/**
42
* Send an IP packet from the uIP buffer with SLIP.
43
*/
44
uint8_t slip_send(
void
);
45
46
/**
47
* Input a SLIP byte.
48
*
49
* This function is called by the RS232/SIO device driver to pass
50
* incoming bytes to the SLIP driver. The function can be called from
51
* an interrupt context.
52
*
53
* For systems using low-power CPU modes, the return value of the
54
* function can be used to determine if the CPU should be woken up or
55
* not. If the function returns non-zero, the CPU should be powered
56
* up. If the function returns zero, the CPU can continue to be
57
* powered down.
58
*
59
* \param c The data that is to be passed to the SLIP driver
60
*
61
* \return Non-zero if the CPU should be powered up, zero otherwise.
62
*/
63
int
slip_input_byte(
unsigned
char
c);
64
65
uint8_t slip_write(
const
void
*ptr,
int
len);
66
67
/* Did we receive any bytes lately? */
68
extern
uint8_t slip_active;
69
70
/* Statistics. */
71
extern
uint16_t slip_rubbish, slip_twopackets, slip_overflow, slip_ip_drop;
72
73
/**
74
* Set a function to be called when there is activity on the SLIP
75
* interface; used for detecting if a node is a gateway node.
76
*/
77
void
slip_set_input_callback(
void
(*callback)(
void
));
78
79
/*
80
* These machine dependent functions and an interrupt service routine
81
* must be provided externally (slip_arch.c).
82
*/
83
void
slip_arch_init
(
unsigned
long
ubr);
84
void
slip_arch_writeb
(
unsigned
char
c);
85
86
#endif
/* SLIP_H_ */
Generated on Thu Apr 24 2014 16:26:11 for Contiki-Inga 3.x by
1.8.3.1