Contiki 2.5
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
* @(#)$Id: slip.h,v 1.5 2008/02/24 21:00:53 adamdunkels Exp $
33
*/
34
35
#ifndef __SLIP_H__
36
#define __SLIP_H__
37
38
#include "contiki.h"
39
40
PROCESS_NAME
(slip_process);
41
42
/**
43
* Send an IP packet from the uIP buffer with SLIP.
44
*/
45
u8_t slip_send(
void
);
46
47
/**
48
* Input a SLIP byte.
49
*
50
* This function is called by the RS232/SIO device driver to pass
51
* incoming bytes to the SLIP driver. The function can be called from
52
* an interrupt context.
53
*
54
* For systems using low-power CPU modes, the return value of the
55
* function can be used to determine if the CPU should be woken up or
56
* not. If the function returns non-zero, the CPU should be powered
57
* up. If the function returns zero, the CPU can continue to be
58
* powered down.
59
*
60
* \param c The data that is to be passed to the SLIP driver
61
*
62
* \return Non-zero if the CPU should be powered up, zero otherwise.
63
*/
64
int
slip_input_byte(
unsigned
char
c);
65
66
u8_t slip_write(
const
void
*ptr,
int
len);
67
68
/* Did we receive any bytes lately? */
69
extern
u8_t slip_active;
70
71
/* Statistics. */
72
extern
u16_t slip_rubbish, slip_twopackets, slip_overflow, slip_ip_drop;
73
74
/**
75
* Set a function to be called when there is activity on the SLIP
76
* interface; used for detecting if a node is a gateway node.
77
*/
78
void
slip_set_input_callback(
void
(*callback)(
void
));
79
80
/*
81
* These machine dependent functions and an interrupt service routine
82
* must be provided externally (slip_arch.c).
83
*/
84
void
slip_arch_init
(
unsigned
long
ubr);
85
void
slip_arch_writeb(
unsigned
char
c);
86
87
#endif
/* __SLIP_H__ */
Generated on Fri Aug 30 2013 12:34:05 for Contiki 2.5 by
1.8.3.1