Simon Goldschmidt
|
a2aa43a426
|
Implemented timeout on send (TCP only, bug #33820)
|
15 years ago |
Simon Goldschmidt
|
46af0d38fa
|
fixed bug #31084 (socket API returns always EMSGSIZE on non-blocking sockets if data size > send buffers) -> now lwip_send() sends as much as possible for non-blocking sockets and only returns EWOULDBLOCK if the buffers are full
|
15 years ago |
goldsimon
|
2aec3a9789
|
use PCB_IS_IPV6(pcb) instead of pcb->isipv6 everywhere
|
15 years ago |
goldsimon
|
6865806b55
|
Combined IPv4 and IPv6 code where possible, added defines to access IPv4/IPv6 in non-IP code so that the code is more readable.
|
15 years ago |
goldsimon
|
4bfbe7ebeb
|
... and finally, we got a first working version of a dual-stack lwIP runnin IPv4 and IPv6 in parallel - big thanks to Ivan Delamer! (this is work in progress, so please beware, test a lot and report problems!)
|
15 years ago |
goldsimon
|
c6de17d1e5
|
netconn_accept: return ERR_ABRT instead of ERR_CLSD if the connection has been aborted by err_tcp (since this is not a normal closing procedure).
|
15 years ago |
goldsimon
|
effcb90fdf
|
Mreged back changes that were lost during the savannah hack 3 weeks ago (using the sources from http://git.infradead.org/users/dwmw2/lwip.git)
|
15 years ago |
goldsimon
|
d73262a0e5
|
Fixed compilation with TCP or UDP disabled.
|
16 years ago |
goldsimon
|
6929a786aa
|
Fixed bug #10088: Correctly implemented shutdown at socket level.
|
16 years ago |
goldsimon
|
f7479781c1
|
bug #27352: removed packing from ip_addr_t, the packed version is now only used in protocol headers. Added global storage for current src/dest IP address while in input functions.
|
16 years ago |
goldsimon
|
846a2fb933
|
Fixed compiling with different options disabled (TCP/UDP), triggered by bug #29345; don't allocate acceptmbox if LWIP_TCP is disabled
|
16 years ago |
goldsimon
|
a5b0ea97d6
|
Updated netconn_write doc/comment about api_flags
|
16 years ago |
goldsimon
|
5d20e690fd
|
Added/corrected casts
|
16 years ago |
goldsimon
|
38fcfcdfac
|
task #10167 (sockets: speed up TCP recv by not allocating a netbuf): added function netconn_recv_tcp_pbuf() for tcp netconns to receive pbufs, not netbufs; use that function for tcp sockets.
|
16 years ago |
goldsimon
|
0792effc2a
|
task #7865 (implement non-blocking send operation)
|
16 years ago |
goldsimon
|
0f05a6aede
|
Fixed compilation for LWIP_DNS==1 after changing sys layer
|
16 years ago |
goldsimon
|
0030d1ade5
|
task #10139 (Prefer statically allocated memory): converted mbox and semaphore functions to take pointers to sys_mbox_t/sys_sem_t; converted sys_mbox_new/sys_sem_new to take pointers and return err_t; task #7212: Add Mutex concept in sys_arch (define LWIP_COMPAT_MUTEX to let sys.h use binary semaphores instead of mutexes - as before)
|
16 years ago |
goldsimon
|
306f2203fa
|
Fixed bug #22110 (recv() makes receive window update for data that wasn't received by application); added function-like macros to correctly access/change conn->recv_timeout and conn->recv_bufsize
|
16 years ago |
goldsimon
|
5d360a6711
|
Replaced struct ip_addr by typedef ip_addr_t to make changing the actual implementation behind the typedef easier.
|
16 years ago |
goldsimon
|
e58f4c567a
|
Add non-blocking support for connect (partly from patch #6860) plus many cleanups in socket & netconn API
|
16 years ago |
goldsimon
|
32c16fad42
|
igmp related: renamed netif pointers from 'interface' to 'netif' to not use keywords (or at least my editor highlights it as one...)
|
16 years ago |
goldsimon
|
e678e1bdcb
|
bug #28659: Missing casts
|
16 years ago |
goldsimon
|
cc1e9370af
|
Minor: fixed argument casts for mbox_fetch parameters (to fix compiler warnings)
|
16 years ago |
goldsimon
|
34139606ca
|
task #10102: "netconn: clean up conn->err threading issues" by adding error return value to struct api_msg_msg
|
16 years ago |
goldsimon
|
ca11baf1cd
|
Changed netconn_recv() and netconn_accept() to return err_t (bugs #27709 and #28087)
|
16 years ago |
goldsimon
|
0e38a52edc
|
Again: Fixed bug #26672 (close connection when receive window = 0) by correctly draining recvmbox/acceptmbox
|
16 years ago |
goldsimon
|
533e6b5f8d
|
Fixed bug #26672 (close connection when receive window = 0) by correctly draining recvmbox/acceptmbox
|
16 years ago |
goldsimon
|
a9740c6a44
|
Fixed bug #27709: conn->err race condition on netconn_recv() timeout by directly returning when sys_arch_mbox_fetch times out.
|
17 years ago |
goldsimon
|
27b28a9306
|
Converted netconn_type() from a function to a macro
|
17 years ago |
goldsimon
|
c05e968278
|
Fixed many LWIP_DEBUGF format strings; added new format string SZT_F for size_t
|
17 years ago |
goldsimon
|
14cb4eb735
|
fixed arguments of socket functions to match the standard; converted size argument of netconn_write to 'size_t' for that; fixed some warnings
|
17 years ago |
fbernon
|
55bcc20deb
|
tcpip.h, tcpip.c, api.h, api_lib.c, api_msg.c, sockets.c: replace the field netconn::sem per netconn::op_completed like suggested for the task #7490 "Add return value to sys_mbox_post".
|
18 years ago |
fbernon
|
bceff76c70
|
tcpip.h, tcpip.c, api.h, api_lib.c, api_msg.c, sockets.c: replace the field netconn::mbox (sys_mbox_t) per netconn::sem (sys_sem_t) for the task #7490 "Add return value to sys_mbox_post".
|
18 years ago |
goldsimon
|
a41f113b8f
|
Added function netconn_free(), which deallocates all mboxes and frees the netconn (to be used from different places) - the PCB is not freed!
|
18 years ago |
fbernon
|
5941b3c86e
|
sys_arch.txt, api.h, api_lib.c, api_msg.h, api_msg.c, tcpip.c, sys.h, opt.h: Introduce changes for task #7490 "Add return value to sys_mbox_post" with some modifications in the sys_mbox api: sys_mbox_new take a "size" parameters which indicate the number of pointers query by the mailbox. There is three defines in opt.h to indicate sizes for tcpip::mbox, netconn::recvmbox, and for the netconn::acceptmbox. Port maintainers, you can decide to just add this new parameter in your implementation, but to ignore it to keep the previous behavior. The new sys_mbox_trypost function return a value to know if the mailbox is full or if the message is posted. Take a look to sys_arch.txt for more details. This new function is used in tcpip_input (so, can be called in an interrupt context since the function is not blocking), and in recv_udp and recv_raw.
|
18 years ago |
fbernon
|
9c4daa312d
|
Minor changes in lwip folder: fix some warnings, coding style, and rename "internal" netconn_alloc function.
|
18 years ago |
fbernon
|
32005617b9
|
rawapi.txt, api.h, api_lib.c, api_msg.h, api_msg.c, sockets.c, tcp.h, tcp.c, tcp_in.c, init.c, opt.h: rename backlog options with TCP_ prefix, limit the "backlog" parameter in an u8_t, 0 is interpreted as "smallest queue", add documentation in the rawapi.txt file.
|
18 years ago |
goldsimon
|
1ed34774c8
|
tcp.h, opt.h, api.h, api_msg.h, tcp.c, tcp_in.c, api_lib.c, api_msg.c, sockets.c, init.c: task #7252: Implement TCP listen backlog: Warning: raw API applications have to call 'tcp_accepted(pcb)' in their accept callback to keep accepting new connections.
|
19 years ago |
goldsimon
|
48e62e25e9
|
sys.h, api_lib.c, api_msg.c, sockets.c: fix bug #21698: "netconn->recv_avail is not protected" by using new macros for interlocked access to modify/test netconn->recv_avail.
|
19 years ago |
goldsimon
|
ba4254231e
|
Corrected assert when netconn_new_* fails
|
19 years ago |
goldsimon
|
113a52d091
|
fix bug #21656 (recvmbox problem in netconn API): always allocate a recvmbox in netconn_new_with_proto_and_callback. For a tcp-listen netconn, this recvmbox is later freed and a new mbox is allocated for acceptmbox. This is a fix for thread-safety and allocates all items needed for a netconn when the netconn is created.
|
19 years ago |
goldsimon
|
6746beb2a3
|
Compacted code: moved the code creating a netconn (without pcb) from netconn_new_with_proto_and_callback to new (synchroneous) function netconn_alloc_with_proto_and_callback and call this function from netconn_new_with_proto_and_callback and accept_function.
|
19 years ago |
goldsimon
|
03777ccb21
|
Changed error handling: ERR_MEM, ERR_BUF and ERR_RTE are seen as non-fatal, all other errors are fatal. netconns and sockets block most operations once they have seen a fatal error.
|
19 years ago |
goldsimon
|
4dcfdac2f5
|
initialize netconn->socket to -1 instead of 0 since 0 is a valid socket!
|
19 years ago |
fbernon
|
3d9c76a69c
|
Minor change (doxygen tags)
|
19 years ago |
goldsimon
|
e7483f2e64
|
Added return value comments to netconn_gethostbyname
|
19 years ago |
goldsimon
|
e2cd201f6a
|
Added sequential dns resolver function for netconn api (netconn_gethostbyname)
|
19 years ago |
fbernon
|
a4d14722f3
|
sockets.c, api.h, api_lib.c, api_msg.h, api_msg.c: Fixed bug #20900. Now, most of the netconn_peer and netconn_addr processing is done inside tcpip_thread context in do_getaddr.
|
19 years ago |
goldsimon
|
f3dbd986cb
|
Task #7410: Removed the need to include core header files in api.h (ip/tcp/udp/raw.h) to hide the internal implementation from netconn api applications.
|
19 years ago |
fbernon
|
ecce865cfe
|
api.h, api_lib.c, api_msg.c, sockets.c, opt.h: add SO_RCVBUF option for UDP & RAW netconn. You need to set LWIP_SO_RCVBUF=1 in your lwipopts.h (it's disabled by default). Netconn API users can use the netconn_recv_bufsize macro to access it. This is a first release which have to be improve for TCP. Note it used the netconn::recv_avail which need to be more "thread-safe" (note there is already the problem for FIONREAD with lwip_ioctl/ioctlsocket).
|
19 years ago |