Contiki-NG
os
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
void
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
/**
66
* Send using SLIP len bytes starting from the location pointed to by ptr
67
*/
68
void
slip_write
(
const
void
*ptr,
int
len);
69
70
/**
71
* Set a function to be called when there is activity on the SLIP
72
* interface; used for detecting if a node is a gateway node.
73
*/
74
void
slip_set_input_callback
(
void
(*callback)(
void
));
75
76
/*
77
* These machine dependent functions and an interrupt service routine
78
* must be provided externally (slip_arch.c).
79
*/
80
void
slip_arch_init
(
void
);
81
void
slip_arch_writeb
(
unsigned
char
c);
82
83
#endif
/* SLIP_H_ */
slip_set_input_callback
void slip_set_input_callback(void(*c)(void))
Set a function to be called when there is activity on the SLIP interface; used for detecting if a nod...
Definition:
slip.c:142
slip_write
void slip_write(const void *_ptr, int len)
Send using SLIP len bytes starting from the location pointed to by ptr.
Definition:
slip.c:171
slip_arch_writeb
void slip_arch_writeb(unsigned char c)
Write a single byte over SLIP.
Definition:
slip-arch.c:54
slip_send
void slip_send(void)
Send an IP packet from the uIP buffer with SLIP.
Definition:
slip.c:190
slip_arch_init
void slip_arch_init(void)
Initalize the RS232 port and the SLIP driver.
Definition:
slip-arch.c:63
slip_input_byte
int slip_input_byte(unsigned char c)
Input a SLIP byte.
Definition:
slip.c:353
PROCESS_NAME
#define PROCESS_NAME(name)
Declare the name of a process.
Definition:
process.h:286
Generated on Sat May 30 2020 17:57:35 for Contiki-NG by
1.8.13