Am Montag 05 Januar 2009 22:23:51 schrieb Kevin Wolf: > + libc: POSIX: htonl(), htons(), ntohl(), ntohs() > --- > src/modules/include/netinet/in.h | 45 ++++++++++++++++++++++++++++++ > src/modules/lib/posix/net.c | 57 > ++++++++++++++++++++++++++++++++++++++ 2 files changed, 102 insertions(+), > 0 deletions(-) > create mode 100644 src/modules/include/netinet/in.h > create mode 100644 src/modules/lib/posix/net.c > > diff --git a/src/modules/include/netinet/in.h > b/src/modules/include/netinet/in.h new file mode 100644 > index 0000000..effc214 > --- /dev/null > +++ b/src/modules/include/netinet/in.h > @@ -0,0 +1,45 @@ > +/* > + * Copyright (c) 2009 The tyndur Project. All rights reserved. > + * > + * This code is derived from software contributed to the tyndur Project > + * by Kevin Wolf. > + * > + * Redistribution and use in source and binary forms, with or without > + * modification, are permitted provided that the following conditions > + * are met: > + * 1. Redistributions of source code must retain the above copyright > + * notice, this list of conditions and the following disclaimer. > + * 2. Redistributions in binary form must reproduce the above copyright > + * notice, this list of conditions and the following disclaimer in the > + * documentation and/or other materials provided with the distribution. > + * 3. All advertising materials mentioning features or use of this > software + * must display the following acknowledgement: > + * This product includes software developed by the tyndur Project > + * and its contributors. > + * 4. Neither the name of the tyndur Project nor the names of its > + * contributors may be used to endorse or promote products derived > + * from this software without specific prior written permission. > + * > + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS > + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT > LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A > PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT > HOLDERS OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, > SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT > LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, > DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY > THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE > OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > + */ > + > +#ifndef _NETINET_IN_H_ > +#define _NETINET_IN_H_ > + > +unsigned long int htonl(unsigned long int hostlong); > +unsigned short int htons(unsigned short int hostshort); > +unsigned long int ntohl(unsigned long int netlong); > +unsigned short int ntohs(unsigned short int netshort); > + > +#endif > + > diff --git a/src/modules/lib/posix/net.c b/src/modules/lib/posix/net.c > new file mode 100644 > index 0000000..c03bfd0 > --- /dev/null > +++ b/src/modules/lib/posix/net.c > @@ -0,0 +1,57 @@ > +/* > + * Copyright (c) 2009 The tyndur Project. All rights reserved. > + * > + * This code is derived from software contributed to the tyndur Project > + * by Kevin Wolf. > + * > + * Redistribution and use in source and binary forms, with or without > + * modification, are permitted provided that the following conditions > + * are met: > + * 1. Redistributions of source code must retain the above copyright > + * notice, this list of conditions and the following disclaimer. > + * 2. Redistributions in binary form must reproduce the above copyright > + * notice, this list of conditions and the following disclaimer in the > + * documentation and/or other materials provided with the distribution. > + * 3. All advertising materials mentioning features or use of this > software + * must display the following acknowledgement: > + * This product includes software developed by the tyndur Project > + * and its contributors. > + * 4. Neither the name of the tyndur Project nor the names of its > + * contributors may be used to endorse or promote products derived > + * from this software without specific prior written permission. > + * > + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS > + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT > LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A > PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT > HOLDERS OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, > SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT > LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, > DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY > THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE > OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > + */ > + > +#include <netinet/in.h> > +#include <network.h> > + > +unsigned long int htonl(unsigned long int hostlong) > +{ > + return big_endian_dword(hostlong); > +} > + > +unsigned short int htons(unsigned short int hostshort) > +{ > + return big_endian_word(hostshort); > +} > + > +unsigned long int ntohl(unsigned long int netlong) > +{ > + return big_endian_dword(netlong); > +} > + > +unsigned short int ntohs(unsigned short int netshort) > +{ > + return big_endian_dword(netshort); > +} Rein damit. Wobei das Makro eher switch_endian_* heißen sollte ;)
Attachment:
signature.asc
Description: This is a digitally signed message part.