Mistake on this page?
Report an issue in GitHub or email us
slipif.h
Go to the documentation of this file.
1 /**
2  * @file
3  *
4  * SLIP netif API
5  */
6 
7 /*
8  * Copyright (c) 2001, Swedish Institute of Computer Science.
9  * All rights reserved.
10  *
11  * Redistribution and use in source and binary forms, with or without
12  * modification, are permitted provided that the following conditions
13  * are met:
14  * 1. Redistributions of source code must retain the above copyright
15  * notice, this list of conditions and the following disclaimer.
16  * 2. Redistributions in binary form must reproduce the above copyright
17  * notice, this list of conditions and the following disclaimer in the
18  * documentation and/or other materials provided with the distribution.
19  * 3. Neither the name of the Institute nor the names of its contributors
20  * may be used to endorse or promote products derived from this software
21  * without specific prior written permission.
22  *
23  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
24  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26  * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
27  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33  * SUCH DAMAGE.
34  *
35  * This file is part of the lwIP TCP/IP stack.
36  *
37  * Author: Adam Dunkels <adam@sics.se>
38  *
39  */
40 #ifndef LWIP_HDR_NETIF_SLIPIF_H
41 #define LWIP_HDR_NETIF_SLIPIF_H
42 
43 #include "lwip/opt.h"
44 #include "lwip/netif.h"
45 
46 /** Set this to 1 to start a thread that blocks reading on the serial line
47  * (using sio_read()).
48  */
49 #ifndef SLIP_USE_RX_THREAD
50 #define SLIP_USE_RX_THREAD !NO_SYS
51 #endif
52 
53 /** Set this to 1 to enable functions to pass in RX bytes from ISR context.
54  * If enabled, slipif_received_byte[s]() process incoming bytes and put assembled
55  * packets on a queue, which is fed into lwIP from slipif_poll().
56  * If disabled, slipif_poll() polls the serial line (using sio_tryread()).
57  */
58 #ifndef SLIP_RX_FROM_ISR
59 #define SLIP_RX_FROM_ISR 0
60 #endif
61 
62 /** Set this to 1 (default for SLIP_RX_FROM_ISR) to queue incoming packets
63  * received by slipif_received_byte[s]() as long as PBUF_POOL pbufs are available.
64  * If disabled, packets will be dropped if more than one packet is received.
65  */
66 #ifndef SLIP_RX_QUEUE
67 #define SLIP_RX_QUEUE SLIP_RX_FROM_ISR
68 #endif
69 
70 #ifdef __cplusplus
71 extern "C" {
72 #endif
73 
74 err_t slipif_init(struct netif * netif);
75 void slipif_poll(struct netif *netif);
76 #if SLIP_RX_FROM_ISR
77 void slipif_process_rxqueue(struct netif *netif);
78 void slipif_received_byte(struct netif *netif, u8_t data);
79 void slipif_received_bytes(struct netif *netif, u8_t *data, u8_t len);
80 #endif /* SLIP_RX_FROM_ISR */
81 
82 #ifdef __cplusplus
83 }
84 #endif
85 
86 #endif /* LWIP_HDR_NETIF_SLIPIF_H */
87 
lwIP Options Configuration
netif API (to be used from TCPIP thread)
Generic data structure used for all lwIP network interfaces.
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.