diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2007-09-03 23:35:18 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2007-09-03 23:35:18 +0000 |
commit | 65f8e15b78891b15b1caabe45d1163f63fa530e0 (patch) | |
tree | cbca93cb25a0ae75f1f4ebce49d94e9ec6060ac8 /nuttx/netutils | |
parent | c96d656001914b495f54e7a25d54079e41af86ce (diff) | |
download | px4-nuttx-65f8e15b78891b15b1caabe45d1163f63fa530e0.tar.gz px4-nuttx-65f8e15b78891b15b1caabe45d1163f63fa530e0.tar.bz2 px4-nuttx-65f8e15b78891b15b1caabe45d1163f63fa530e0.zip |
cleanup
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@329 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/netutils')
-rw-r--r-- | nuttx/netutils/dhcpc/dhcpc.c | 2 | ||||
-rw-r--r-- | nuttx/netutils/resolv/resolv.c | 67 | ||||
-rw-r--r-- | nuttx/netutils/smtp/smtp.c | 3 | ||||
-rw-r--r-- | nuttx/netutils/telnetd/shell.c | 53 | ||||
-rw-r--r-- | nuttx/netutils/telnetd/telnetd.c | 6 | ||||
-rw-r--r-- | nuttx/netutils/webclient/webclient.c | 7 | ||||
-rw-r--r-- | nuttx/netutils/webclient/webclient.h | 89 | ||||
-rw-r--r-- | nuttx/netutils/webserver/httpd.c | 1 |
8 files changed, 101 insertions, 127 deletions
diff --git a/nuttx/netutils/dhcpc/dhcpc.c b/nuttx/netutils/dhcpc/dhcpc.c index a2a233e93..30172cef5 100644 --- a/nuttx/netutils/dhcpc/dhcpc.c +++ b/nuttx/netutils/dhcpc/dhcpc.c @@ -402,7 +402,7 @@ void dhcpc_close(void *handle) void uip_interrupt_udp_event(void) { -#error OBSOLETE +#warning OBSOLETE if (gpdhcpc) { sem_post(&gpdhcpc->sem); diff --git a/nuttx/netutils/resolv/resolv.c b/nuttx/netutils/resolv/resolv.c index 512f1ac59..b6c861e51 100644 --- a/nuttx/netutils/resolv/resolv.c +++ b/nuttx/netutils/resolv/resolv.c @@ -55,6 +55,8 @@ #include <debug.h> #include <sys/socket.h> +#include <arpa/inet.h> + #include <net/uip/resolv.h> /**************************************************************************** @@ -90,6 +92,12 @@ #define SEND_BUFFER_SIZE 64 #define RECV_BUFFER_SIZE 64 +#ifdef CONFIG_NET_IPv6 +#define ADDRLEN sizeof(struct sockaddr_in6) +#else +#define ADDRLEN sizeof(struct sockaddr_in) +#endif + /**************************************************************************** * Private Types ****************************************************************************/ @@ -118,7 +126,10 @@ struct dns_answer uint16 class; uint16 ttl[2]; uint16 len; - uip_ipaddr_t ipaddr; +#ifdef CONFIG_NET_IPv6 +#else + uint16 ipaddr[2]; +#endif }; struct namemap @@ -129,20 +140,22 @@ struct namemap uint8 seqno; uint8 err; char name[32]; - uip_ipaddr_t ipaddr; +#ifdef CONFIG_NET_IPv6 +#else + uint16 ipaddr[2]; +#endif }; /**************************************************************************** * Private Data ****************************************************************************/ -static struct namemap names[RESOLV_ENTRIES]; -static uint8 gseqno; +static uint8 g_seqno; static int g_sockfd = -1; #ifdef CONFIG_NET_IPv6 -static struct sockaddr_in6 gdnsserver; +static struct sockaddr_in6 g_dnsserver; #else -static struct sockaddr_in gdnsserver; +static struct sockaddr_in g_dnsserver; #endif /**************************************************************************** @@ -173,19 +186,20 @@ static unsigned char *parse_name(unsigned char *query) * not yet been queried and, if so, sends out a query. */ -static int send_query(const char name) +#ifdef CONFIG_NET_IPv6 +static int send_query(const char *name, struct sockaddr_in6 *addr) +#else +static int send_query(const char *name, struct sockaddr_in *addr) +#endif { register struct dns_hdr *hdr; char *query; char *nptr; - char **nameptr; - static uint8 i; - static uint8 n; - uint8 state = NEW_STATE; - uint8 seqno = gsegno++; - uint8 err; + const char *nameptr; + uint8 seqno = g_seqno++; static unsigned char endquery[] = {0,0,1,0,1}; char buffer[SEND_BUFFER_SIZE]; + int n; hdr = (struct dns_hdr*)buffer; memset(hdr, 0, sizeof(struct dns_hdr)); @@ -201,18 +215,17 @@ static int send_query(const char name) { nameptr++; nptr = query++; - for (n = 0; *nameptr != '.' && *nameptr != 0; ++nameptr) + for (n = 0; *nameptr != '.' && *nameptr != 0; nameptr++) { - *query = *nameptr; - ++query; - ++n; + *query++ = *nameptr; + n++; } *nptr = n; } while(*nameptr != 0); memcpy(query, endquery, 5); - return sendto(gsockfd, buffer, query + 5 - buffer); + return sendto(g_sockfd, buffer, query + 5 - buffer, 0, (struct sockaddr*)addr, ADDRLEN); } /* Called when new UDP data arrives */ @@ -222,8 +235,6 @@ static int send_query(const char name) #else int recv_response(struct sockaddr_in *addr) #endif - -hdr->flags2 & DNS_FLAG2_ERR_MASKstatic int (void) { unsigned char *nameptr; char buffer[RECV_BUFFER_SIZE]; @@ -231,18 +242,17 @@ hdr->flags2 & DNS_FLAG2_ERR_MASKstatic int (void) struct dns_hdr *hdr; uint8 nquestions; uint8 nanswers; - uint8 i; int ret; /* Receive the response */ - ret = recv(g_sockfd, buffer, RECV_BUFFER_SIZE); + ret = recv(g_sockfd, buffer, RECV_BUFFER_SIZE, 0); if (ret < 0) { return ret; } - hdr = (struct dns_hdr *)b + hdr = (struct dns_hdr *)buffer; dbg( "ID %d\n", htons(hdr->id)); dbg( "Query %d\n", hdr->flags1 & DNS_FLAG1_RESPONSE); @@ -316,6 +326,7 @@ hdr->flags2 & DNS_FLAG2_ERR_MASKstatic int (void) nameptr = nameptr + 10 + htons(ans->len); } } + return ERROR; } /**************************************************************************** @@ -325,12 +336,12 @@ hdr->flags2 & DNS_FLAG2_ERR_MASKstatic int (void) /* Get the binding for name. */ #ifdef CONFIG_NET_IPv6 -int resolv_query(char *name, struct sockaddr_in6 *addr) +int resolv_query(const char *name, struct sockaddr_in6 *addr) #else -int resolv_query(char *name, struct sockaddr_in *addr) +int resolv_query(const char *name, struct sockaddr_in *addr) #endif { - int ret = send_query(name); + int ret = send_query(name, addr); if (ret == 0) { ret = recv_response(addr); @@ -346,7 +357,7 @@ void resolv_getserver(const struct sockaddr_in6 *dnsserver) void resolv_getserver(const struct sockaddr_in *dnsserver) #endif { - memcpy(dnsserver, gdnsserver, sizeof(gdnsserver)); + memcpy(dnsserver, &g_dnsserver, ADDRLEN); } /* Configure which DNS server to use for queries */ @@ -357,7 +368,7 @@ void resolv_conf(const struct sockaddr_in6 *dnsserver) void resolv_conf(const struct sockaddr_in *dnsserver) #endif { - memcpy(&gdnsserver, dnsserver, sizeof(gdnsserver)); + memcpy(&g_dnsserver, dnsserver, ADDRLEN); } /* Initalize the resolver. */ diff --git a/nuttx/netutils/smtp/smtp.c b/nuttx/netutils/smtp/smtp.c index 09d131057..5d7a61aa6 100644 --- a/nuttx/netutils/smtp/smtp.c +++ b/nuttx/netutils/smtp/smtp.c @@ -213,6 +213,7 @@ static void smtp_send_message(struct smtp_state *psmtp) void uip_interrupt_event(void) { +#warning OBSOLETE -- needs to be redesigned if (gpsmtp) { if (uip_closed()) @@ -346,4 +347,4 @@ void smtp_close(void *handle) sem_destroy(&psmtp->sem); free(psmtp); } -}
\ No newline at end of file +} diff --git a/nuttx/netutils/telnetd/shell.c b/nuttx/netutils/telnetd/shell.c index 2c1ddbaae..3c68350e0 100644 --- a/nuttx/netutils/telnetd/shell.c +++ b/nuttx/netutils/telnetd/shell.c @@ -25,11 +25,6 @@ * 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. - * - * This file is part of the uIP TCP/IP stack. - * - * $Id: shell.c,v 1.1.1.1 2007-08-26 23:07:06 patacongo Exp $ - * */ #include "shell.h" @@ -43,9 +38,7 @@ struct ptentry { #define SHELL_PROMPT "uIP 1.0> " -/*---------------------------------------------------------------------------*/ -static void -parse(register char *str, struct ptentry *t) +static void parse(register char *str, struct ptentry *t) { struct ptentry *p; for(p = t; p->commandstr != NULL; ++p) { @@ -56,25 +49,8 @@ parse(register char *str, struct ptentry *t) p->pfunc(str); } -/*---------------------------------------------------------------------------*/ -static void -inttostr(register char *str, unsigned int i) -{ - str[0] = '0' + i / 100; - if(str[0] == '0') { - str[0] = ' '; - } - str[1] = '0' + (i / 10) % 10; - if(str[0] == ' ' && str[1] == '0') { - str[1] = ' '; - } - str[2] = '0' + i % 10; - str[3] = ' '; - str[4] = 0; -} -/*---------------------------------------------------------------------------*/ -static void -help(char *str) + +static void help(char *str) { shell_output("Available commands:", ""); shell_output("stats - show network statistics", ""); @@ -82,15 +58,14 @@ help(char *str) shell_output("help, ? - show help", ""); shell_output("exit - exit shell", ""); } -/*---------------------------------------------------------------------------*/ -static void -unknown(char *str) + +static void unknown(char *str) { if(strlen(str) > 0) { shell_output("Unknown command: ", str); } } -/*---------------------------------------------------------------------------*/ + static struct ptentry parsetab[] = {{"stats", help}, {"conn", help}, @@ -100,24 +75,20 @@ static struct ptentry parsetab[] = /* Default action */ {NULL, unknown}}; -/*---------------------------------------------------------------------------*/ -void -shell_init(void) + +void shell_init(void) { } -/*---------------------------------------------------------------------------*/ -void -shell_start(void) + +void shell_start(void) { shell_output("uIP command shell", ""); shell_output("Type '?' and return for help", ""); shell_prompt(SHELL_PROMPT); } -/*---------------------------------------------------------------------------*/ -void -shell_input(char *cmd) + +void shell_input(char *cmd) { parse(cmd, parsetab); shell_prompt(SHELL_PROMPT); } -/*---------------------------------------------------------------------------*/ diff --git a/nuttx/netutils/telnetd/telnetd.c b/nuttx/netutils/telnetd/telnetd.c index 21700023c..39a6f0f10 100644 --- a/nuttx/netutils/telnetd/telnetd.c +++ b/nuttx/netutils/telnetd/telnetd.c @@ -25,11 +25,6 @@ * 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. - * - * This file is part of the uIP TCP/IP stack - * - * $Id: telnetd.c,v 1.1.1.1 2007-08-26 23:07:06 patacongo Exp $ - * */ #include <sys/types.h> @@ -293,6 +288,7 @@ newdata(void) void uip_interrupt_event(void) { +#warning OBSOLETE -- needs to be redesigned static unsigned int i; if(uip_connected()) { /* tcp_markconn(uip_conn, &s);*/ diff --git a/nuttx/netutils/webclient/webclient.c b/nuttx/netutils/webclient/webclient.c index 6d0c0645b..be937db41 100644 --- a/nuttx/netutils/webclient/webclient.c +++ b/nuttx/netutils/webclient/webclient.c @@ -38,7 +38,7 @@ * * This file is part of the uIP TCP/IP stack. * - * $Id: webclient.c,v 1.3 2007-09-03 20:34:44 patacongo Exp $ + * $Id: webclient.c,v 1.4 2007-09-03 23:35:17 patacongo Exp $ * */ @@ -117,7 +117,7 @@ void webclient_close(void) s.state = WEBCLIENT_STATE_CLOSE; } -unsigned char webclient_get(char *host, uint16 port, char *file) +unsigned char webclient_get(const char *host, uint16 port, char *file) { uip_ipaddr_t *ipaddr; static uip_ipaddr_t addr; @@ -397,6 +397,7 @@ static void newdata(void) void uip_interrupt_event(void) { +#warning OBSOLETE -- needs to be redesigned if (uip_connected()) { s.timer = 0; @@ -466,7 +467,7 @@ void uip_interrupt_event(void) #endif if (resolv_query(s.host, &addr) < 0) { - return ERROR; + return; } webclient_get(s.host, s.port, s.file); } diff --git a/nuttx/netutils/webclient/webclient.h b/nuttx/netutils/webclient/webclient.h index c6559e3f0..a293b61fc 100644 --- a/nuttx/netutils/webclient/webclient.h +++ b/nuttx/netutils/webclient/webclient.h @@ -30,12 +30,8 @@ * 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. - * - * This file is part of the uIP TCP/IP stack. - * - * $Id: webclient.h,v 1.1.1.1 2007-08-26 23:07:04 patacongo Exp $ - * */ + #ifndef __WEBCLIENT_H__ #define __WEBCLIENT_H__ @@ -46,7 +42,8 @@ #define WEBCLIENT_CONF_MAX_URLLEN 100 -struct webclient_state { +struct webclient_state +{ uint8 timer; uint8 state; uint8 httpflag; @@ -63,8 +60,7 @@ struct webclient_state { char mimetype[32]; }; -/** - * Callback function that is called from the webclient code when HTTP +/* Callback function that is called from the webclient code when HTTP * data has been received. * * This function must be implemented by the module that uses the @@ -72,58 +68,57 @@ struct webclient_state { * when HTTP data has been received. The function is not called when * HTTP headers are received, only for the actual data. * - * \note This function is called many times, repetedly, when data is + * Note: This function is called many times, repetedly, when data is * being received, and not once when all data has been received. * - * \param data A pointer to the data that has been received. - * \param len The length of the data that has been received. + * data A pointer to the data that has been received. + * len The length of the data that has been received. */ + void webclient_datahandler(char *data, uint16 len); -/** - * Callback function that is called from the webclient code when the +/* Callback function that is called from the webclient code when the * HTTP connection has been connected to the web server. * * This function must be implemented by the module that uses the * webclient code. */ + void webclient_connected(void); -/** - * Callback function that is called from the webclient code if the +/* Callback function that is called from the webclient code if the * HTTP connection to the web server has timed out. * * This function must be implemented by the module that uses the * webclient code. */ + void webclient_timedout(void); -/** - * Callback function that is called from the webclient code if the +/* Callback function that is called from the webclient code if the * HTTP connection to the web server has been aborted by the web * server. * * This function must be implemented by the module that uses the * webclient code. */ + void webclient_aborted(void); -/** - * Callback function that is called from the webclient code when the +/* Callback function that is called from the webclient code when the * HTTP connection to the web server has been closed. * * This function must be implemented by the module that uses the * webclient code. */ + void webclient_closed(void); -/** - * Initialize the webclient module. - */ +/* Initialize the webclient module. */ + void webclient_init(void); -/** - * Open an HTTP connection to a web server and ask for a file using +/* Open an HTTP connection to a web server and ask for a file using * the GET method. * * This function opens an HTTP connection to the specified web server @@ -140,75 +135,73 @@ void webclient_init(void); * When the HTTP request has been completed and the HTTP connection is * closed, the webclient_closed() callback function will be called. * - * \note If the function is passed a host name, it must already be in + * Note: If the function is passed a host name, it must already be in * the resolver cache in order for the function to connect to the web * server. It is therefore up to the calling module to implement the * resolver calls and the signal handler used for reporting a resolv * query answer. * - * \param host A pointer to a string containing either a host name or + * host A pointer to a string containing either a host name or * a numerical IP address in dotted decimal notation (e.g., 192.168.23.1). * - * \param port The port number to which to connect, in host byte order. + * port The port number to which to connect, in host byte order. * - * \param file A pointer to the name of the file to get. + * file A pointer to the name of the file to get. * - * \retval 0 if the host name could not be found in the cache, or + * Return: 0 if the host name could not be found in the cache, or * if a TCP connection could not be created. * - * \retval 1 if the connection was initiated. + * Return: 1 if the connection was initiated. */ -unsigned char webclient_get(char *host, uint16 port, char *file); -/** - * Close the currently open HTTP connection. - */ +unsigned char webclient_get(const char *host, uint16 port, char *file); + +/* Close the currently open HTTP connection. */ + void webclient_close(void); -/** - * Obtain the MIME type of the current HTTP data stream. +/* Obtain the MIME type of the current HTTP data stream. * - * \return A pointer to a string contaning the MIME type. The string + * Return: A pointer to a string contaning the MIME type. The string * may be empty if no MIME type was reported by the web server. */ + char *webclient_mimetype(void); -/** - * Obtain the filename of the current HTTP data stream. +/* Obtain the filename of the current HTTP data stream. * * The filename of an HTTP request may be changed by the web server, * and may therefore not be the same as when the original GET request * was made with webclient_get(). This function is used for obtaining * the current filename. * - * \return A pointer to the current filename. + * Return: A pointer to the current filename. */ + char *webclient_filename(void); -/** - * Obtain the hostname of the current HTTP data stream. +/* Obtain the hostname of the current HTTP data stream. * * The hostname of the web server of an HTTP request may be changed * by the web server, and may therefore not be the same as when the * original GET request was made with webclient_get(). This function * is used for obtaining the current hostname. * - * \return A pointer to the current hostname. + * Return: A pointer to the current hostname. */ + char *webclient_hostname(void); -/** - * Obtain the port number of the current HTTP data stream. +/* Obtain the port number of the current HTTP data stream. * * The port number of an HTTP request may be changed by the web * server, and may therefore not be the same as when the original GET * request was made with webclient_get(). This function is used for * obtaining the current port number. * - * \return The port number of the current HTTP data stream, in host byte order. + * Return: The port number of the current HTTP data stream, in host byte order. */ + unsigned short webclient_port(void); #endif /* __WEBCLIENT_H__ */ - -/** @} */ diff --git a/nuttx/netutils/webserver/httpd.c b/nuttx/netutils/webserver/httpd.c index d6c855e61..6cf50962f 100644 --- a/nuttx/netutils/webserver/httpd.c +++ b/nuttx/netutils/webserver/httpd.c @@ -253,6 +253,7 @@ static void handle_connection(struct httpd_state *s) void uip_interrupt_event(void) { +#warning OBSOLETE -- needs to be redesigned /* Get the private application specific data */ struct httpd_state *s = (struct httpd_state *)(uip_conn->private); |