>>>>> Joerg Wunsch <j...@uriah.heep.sax.de> writes:
>>>>> As Ivan Shmakov wrote:

 >> So, what's about having, say, htonX () and ntohX () functions
 >> in AVR Libc?  These are standard [Posix], ...

 > Well, avr-libc doesn't aim to be a subset of Posix, but rather wants
 > to be a C standard library.  Anyway, I wouldn't mind adding those to
 > the library,

        Great!

 > albeit creating a subdirectory "arpa" just for the purpose of keeping
 > these two macros/inline functions in <arpa/inet.h> looks a little
 > strange.

        Actually, per [1], <arpa/inet.h> should make visible at least
        some of the <netinet/in.h>-defined [2] types (like: in_port_t,
        in_addr_t) and macros.

        And I think that some parts of <netinet/in.h> could be added to
        avr-libc as well (like struct in6addr and the in6addr_*
        constants.)

[1] http://www.opengroup.org/onlinepubs/000095399/basedefs/arpa/inet.h.html
[2] http://www.opengroup.org/onlinepubs/000095399/basedefs/netinet/in.h.html

 > However, that makes less than one percent of a functional IP stack
 > ;-), and as Eric already explained, the remainder of an IP stack
 > wouldn't belong into avr-libc.

        Since there could be different approaches at implementing such a
        stack for 8-bit AVR's, it makes sense for the code to be
        developed as part of separate libraries.  However, the notion of
        the network byte order [3] doesn't depend on the particular IP
        stack implementation and the conversion routines should probably
        be provided by a “standard” library.

        I'm not sure about other related types, macros and functions,
        since while the compatible (IOW, duplicate) versions of these
        are likely to be supplied by the particular IP stack
        implementations, a single embedded IP stack implementation may
        just as well supply a single version to be used on different
        platforms.

        Still, I would expect “standard” services from a “standard”
        library, unless these are proved to be infeasible to implement.
        And the bits of <arpa/inet.h> and <netinet/in.h> mentioned above
        are not.

[3] 
http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap04.html#tag_04_08

 > At best, it could be more on-topic for the companion project
 > avr-corelib, but I think they are still lacking much more basic
 > things than an IP stack.

        Huh?  Google is silent about that project's home page?

 > Btw., SLIP is dead.  PPP replaced it very successfully, and nobody
 > sheds a tear anymore for SLIP.

        Still, I won't try my luck in developing a decent PPP
        implementation for 8-bit AVR.

        Technically, SLIP isn't possible on most of them, too, because
        of a requirement to handle packet lengths up to 1500 bytes or
        so.  However, small-buffer SLIP is clearly possible, and could
        be useful, at least for prototyping purposes and for amateurs.

-- 
FSF associate member #7257

Attachment: pgpIb9J96KmcS.pgp
Description: PGP signature

_______________________________________________
AVR-libc-dev mailing list
AVR-libc-dev@nongnu.org
http://lists.nongnu.org/mailman/listinfo/avr-libc-dev

Reply via email to