diff --git a/ChangeLog b/ChangeLog index 508841dfc1e0d55f225e5867bcb946ec48f1c38f..3ec6abdebe91d1f2605358accbc2c54a07136690 100644 --- a/ChangeLog +++ b/ChangeLog @@ -284,3 +284,6 @@ * NSH ifconfig command now shows uIP status was well (examples/nsh) 0.3.6 2007-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> + + * Changes for use with SDCC compiler + diff --git a/Documentation/NuttX.html b/Documentation/NuttX.html index 27a436ffe8daec3b0f4e9d00100fbbb7c88cdc4c..7b2ffe3a6e52e181db639a24911ae78ef0d85ccb 100644 --- a/Documentation/NuttX.html +++ b/Documentation/NuttX.html @@ -695,6 +695,7 @@ Other memory: <pre><ul> 0.3.6 2007-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> + * Changes for use with SDCC compiler </pre></ul> <table width ="100%"> diff --git a/TODO b/TODO index b6dc42e69cec90e455774d8466fd5a3b83f5f56d..69250b1692f795dcc108a43c15f201be476a5245 100644 --- a/TODO +++ b/TODO @@ -18,7 +18,7 @@ NuttX TODO List (Last updated December 13, 2007) (1) ARM/DM320 (arch/arm/src/dm320/) (2) ARM/LPC214x (arch/arm/src/lpc214x/) (3) pjrc-8052 / MCS51 (arch/pjrc-8051/) - + (0) z80 (arch/z80/) o Task/Scheduler (sched/) ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/arch/pjrc-8051/src/up_unblocktask.c b/arch/pjrc-8051/src/up_unblocktask.c index 76bc693c97785ec87037a1d6c1dbf227567f3936..303283c28b4a439a7114c5fc9fb41e16bad3e041 100644 --- a/arch/pjrc-8051/src/up_unblocktask.c +++ b/arch/pjrc-8051/src/up_unblocktask.c @@ -38,10 +38,13 @@ ************************************************************/ #include <nuttx/config.h> + #include <sys/types.h> #include <sched.h> #include <debug.h> + #include <nuttx/arch.h> + #include "clock_internal.h" #include "os_internal.h" #include "up_internal.h" diff --git a/include/arpa/inet.h b/include/arpa/inet.h index ee0b1be7025edc9e4e187c35490c62c79c2deedf..15871ef3cc83bc7f20d689bbf05cc5740a979972 100644 --- a/include/arpa/inet.h +++ b/include/arpa/inet.h @@ -91,15 +91,28 @@ EXTERN uint16 htons (uint16 hs); /* Functions to manipulate address representations */ -EXTERN int inet_aton(const char *cp, struct in_addr *inp); -EXTERN in_addr_t inet_addr(const char *cp); -EXTERN in_addr_t inet_network(const char *cp); -EXTERN char *inet_ntoa(struct in_addr in); -EXTERN struct in_addr inet_makeaddr(in_addr_t net, in_addr_t host); +EXTERN int inet_aton(FAR const char *cp, FAR struct in_addr *inp); +EXTERN in_addr_t inet_addr(FAR const char *cp); +EXTERN in_addr_t inet_network(FAR const char *cp); + +#ifdef CONFIG_CAN_PASS_STRUCTS +EXTERN FAR char *inet_ntoa(struct in_addr in); EXTERN in_addr_t inet_lnaof(struct in_addr in); EXTERN in_addr_t inet_netof(struct in_addr in); -EXTERN int inet_pton(int af, const char *cp, void *buf); -EXTERN const char *inet_ntop(int af, const void *cp, char *buf, socklen_t len); +#else +EXTERN FAR char *_inet_ntoa(in_addr_t in); +# define inet_ntoa(in) _inet_ntoa(in.s_addr); + +EXTERN in_addr_t _inet_lnaof(in_addr_t in); +# define inet_lnaof(in) _inet_lnaof(in.s_addr); + +EXTERN in_addr_t _inet_netof(in_addr_t in); +# define inet_netof(in) _inet_netof(in.s_addr); +#endif +EXTERN struct in_addr inet_makeaddr(in_addr_t net, in_addr_t host); + +EXTERN int inet_pton(int af, FAR const char *cp, FAR void *buf); +EXTERN const char *inet_ntop(int af, FAR const void *cp, FAR char *buf, socklen_t len); #undef EXTERN #ifdef __cplusplus diff --git a/include/stdlib.h b/include/stdlib.h index 6e7f44112240583891e1059b3ca53a4fa4e1c414..c1eaf28d004468ff558ddf6b96537af2b4ead4a2 100644 --- a/include/stdlib.h +++ b/include/stdlib.h @@ -105,8 +105,8 @@ EXTERN int rand(void); #ifndef CONFIG_DISABLE_ENIVRON EXTERN FAR char **get_environ_ptr( void ); -EXTERN FAR char *getenv(const char *name); -EXTERN int putenv(char *string); +EXTERN FAR char *getenv(FAR const char *name); +EXTERN int putenv(FAR char *string); EXTERN int clearenv(void); EXTERN int setenv(const char *name, const char *value, int overwrite); EXTERN int unsetenv(const char *name); diff --git a/include/sys/types.h b/include/sys/types.h index 1788784b5064a26c28626091b4b87b339411f94a..0460c5e5c2d139e95f1dbc6d7240201594fed37c 100644 --- a/include/sys/types.h +++ b/include/sys/types.h @@ -1,5 +1,5 @@ /************************************************************ - * types.h + * sys/types.h * * Copyright (C) 2007 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <spudmonkey@racsa.co.cr> diff --git a/lib/lib_getenv.c b/lib/lib_getenv.c index bddd2cb0aafcccf3d18d6ed59e6c8f6f48b4e4d0..2be69ba3c43bae888c54120e159152551c29c443 100644 --- a/lib/lib_getenv.c +++ b/lib/lib_getenv.c @@ -96,7 +96,7 @@ static const char environment[] = ""; * ************************************************************/ -char *getenv(const char *name) +FAR char *getenv(FAR const char *name) { const char *penv = environment; int size = sizeof(environment); diff --git a/lib/lib_inetntoa.c b/lib/lib_inetntoa.c index 4aea7826ab08ffdafbfab63ef8e88e1bafe91e42..c94f25a52f0cdeaeef7a16b848a47c610a2d5b93 100644 --- a/lib/lib_inetntoa.c +++ b/lib/lib_inetntoa.c @@ -56,10 +56,21 @@ * ****************************************************************************/ -char *inet_ntoa(struct in_addr in) +#ifdef CONFIG_CAN_PASS_STRUCTS +FAR char *inet_ntoa(struct in_addr in) { static char buffer[18]; char *ptr = (char*)&in.s_addr; sprintf(buffer, "%d.%d.%d.%d", ptr[0], ptr[1], ptr[2], ptr[3]); return buffer; } +#else +FAR char *_inet_ntoa(in_addr_t in) +{ + static char buffer[18]; + FAR char *ptr = (FAR char*)∈ + sprintf(buffer, "%d.%d.%d.%d", ptr[0], ptr[1], ptr[2], ptr[3]); + return buffer; +} +#endif +