In design, it is not unlike the BSD sockets API. Some of the terminology differs however: in the sequential API, the term connection is used for any communication link between network peers, and the handle for a connection is termed a netconn. A netconn can be considered analogous to a socket, albeit specific to networking - BSD sockets traditionally represent both network connections and files.
The main reason for superiority over the socket API occurs with buffer management. The BSD socket API was designed to manage the fact that the user and the operating system kernel operate in different address spaces and data must always be copied regardless. This results in not only decreased performance, but also increased footprint as buffers must be allocated to hold the copied data.
By default the eCos lwIP configurations enable the
CYGFUN_LWIP_COMPAT_SOCKETS which means normally you
cannot include both the lwIP
or <network.h>, and
CYGPKG_IO_FILEIO package (i.e. POSIX-alike) headers
from the same file.