This is the mail archive of the
ecos-devel@sourceware.org
mailing list for the eCos project.
CDL interfaces for eCos networking
- From: John Dallaway <john at dallaway dot org dot uk>
- To: eCos development list <ecos-devel at ecos dot sourceware dot org>
- Cc: Simon Kallweit <simon dot kallweit at intefo dot ch>, John Eigelaar <john at kses dot net>
- Date: Tue, 12 May 2009 16:48:09 +0100
- Subject: CDL interfaces for eCos networking
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