Lines Matching full:is
11 The raw API (sometimes called native API) is an event-driven API designed
13 receive. This API is also used by the core stack for interaction between
14 the various protocols. It is the only API available when running lwIP
18 to use the lwIP stack. It is quite similar to the BSD socket API. The
19 model of execution is based on the blocking open-read-write-close
20 paradigm. Since the TCP/IP stack is event based by nature, the TCP/IP
24 The socket API is a compatibility API for existing applications,
25 currently it is built on top of the sequential API. It is meant to
35 approach was chosen: there is one main thread running the lwIP core
44 other threads or an ISR is very limited! Only functions
61 granularity level. That is, a UDP or TCP control block must
64 If SYS_LIGHTWEIGHT_PROT is set to 1 and
65 LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT is set to 1,
68 be called from an ISR: otherwise, the HEAP is only
75 better with the TCP/IP code. Program execution is event based by
78 thread. The sequential API has a much higher overhead and is not very
82 The raw TCP/IP interface is not only faster in terms of code execution
83 time but is also less memory intensive. The drawback is that program
84 development is somewhat harder and application programs written for
86 is the preferred way of writing applications that should be small in
90 programs. In fact, the sequential API is implemented as an application
94 The former is a way of interfacing the lwIP network stack (including
99 (input and output) as well as timer processing (TCP mainly) is done
104 Program execution is driven by callbacks functions, which are then
110 processing for any or all of these events. Each callback is an ordinary
111 C function that is called from within the TCP/IP code. Every callback
112 function is passed the current TCP or UDP connection state as an
115 that is independent of the TCP/IP state.
117 The function for setting the application connection state is:
122 other callback functions. The "pcb" argument is the current TCP
123 connection control block, and the "arg" argument is the argument
129 The functions used for setting up connections is similar to that of
131 identifier (i.e., a protocol control block - PCB) is created with the
137 Creates a new connection identifier (PCB). If memory is not
138 available for creating the new pcb, NULL is returned.
147 If another connection is bound to the same port, the function will
148 return ERR_USE, otherwise ERR_OK is returned.
153 incoming connection is accepted, the function specified with the
159 deallocated. The reason for this behavior is that less memory is
160 needed for a connection that is listening, so tcp_listen() will
192 when the connection is established. If the connection could not be
198 The tcp_connect() function can return ERR_MEM if no memory is
205 TCP data is sent by enqueueing the data with a call to
206 tcp_write(). When the data is successfully transmitted to the remote
214 the data is passed as the len parameter. The apiflags can be one or more of:
216 for the data to be copied into. If this flag is not given, no new memory
218 also means that the memory behind dataptr must not change until the data is
220 - TCP_WRITE_FLAG_MORE: indicates that more data follows. If this is omitted,
221 the PSH flag is set in the last segment created by this call to tcp_write.
222 If this flag is given, the PSH flag is not set.
226 the queue of outgoing segment is larger than the upper limit defined
230 The proper way to use this function is to call the function with at
247 TCP data reception is callback based - an application specified
248 callback function is called when new data arrives. When the
260 there are no errors and the callback function is to return
272 When a connection is idle (i.e., no data is either transmitted or
286 be called to poll the application. The interval is specified in
302 The pcb is deallocated by the TCP code after a call to tcp_close().
307 host. The pcb is deallocated. This function never fails.
314 If a connection is aborted because of an error, the application is
316 connection are when there is a shortage of memory. The callback
317 function to be called is set using the tcp_err() function.
328 The UDP interface is similar to that of TCP, but due to the lower
329 level of complexity of UDP, the interface is significantly simpler.
334 pcb is not active until it has either been bound to a local address
361 Sends the pbuf p. The pbuf is not deallocated.
371 datagram is received.
423 This is the hardware link state; e.g. whether cable is plugged for wired
425 the current state. Having link up and link down events is optional but
430 This is the administrative (= software) state of the netif, when the
431 netif is fully configured this function must be called.
441 When the system is running, you have to periodically call
448 The first thing you want to optimize is the lwip_standard_checksum()
453 craft an assembly function for this. RFC1071 is a good
476 For a production release it is recommended to set LWIP_STATS to 0.
490 must *not* be reused by the application unless their ref-count is 1.
494 PBUF_ROM-pbufs are just enqueued (as ROM-data is expected to never change).