CDL interfaces for eCos networking

John Dallaway <[email protected]>
Newsgroups gmane.os.ecos.devel
Message-ID <[email protected]>
I've noticed that the common networking infrastructure package
(CYGPKG_NET) declares the same CDL interfaces as the lwIP package
(CYGPKG_NET_LWIP):

  cdl_interface CYGPKG_NET_STACK
  cdl_interface CYGPKG_NET_STACK_INET
  cdl_interface CYGPKG_NET_STACK_INET6

Presumably these interface declarations were placed in CYGPKG_NET at a
time when it was assumed that _all_ networking stack implementations
would use that package.

Now we have the lwIP stack which does not use CYGPKG_NET. If a developer
attempts to load both CYGPKG_NET and CYGPKG_NET_LWIP into a single eCos
configuration, libCDL reports errors due to duplicate cdl_interface
declarations. Of course it's unlikely to be sensible to load both these
packages, but that's not the point - the naming clash should be fixed.

Are these cdl_interfaces intended to indicate the availability of _any_
networking stack or specifically one that provides a BSD sockets API?
At present, the only packages that "require" these interfaces are HTTPD
and Microwindows. I expect that both these packages require BSD sockets.
In that case, I propose that we eliminate the CDL interface declarations
from the lwIP stack. Any future packages which depend on one of the
lwIP-specific stack APIs can simply "require CYGPKG_NET_LWIP".

Comments?

John Dallaway
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.