Index: net/common/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos-opt/net/net/common/current/ChangeLog,v retrieving revision 1.69 diff -u -r1.69 ChangeLog --- net/common/current/ChangeLog 3 Aug 2005 20:51:21 -0000 1.69 +++ net/common/current/ChangeLog 16 Sep 2005 14:42:40 -0000 @@ -1,3 +1,10 @@ +2005-09-05 David Vrabel + Andrew Lunn + + * src/tftp_client.c, include/tftp_support.h: const parameters + where appropriate. + * doc/tcpip.sgml: Update for the above. + 2005-08-02 Andrew Lunn * tests/ping_lo_test.c (ping_host): Use socklen_t to avoid Index: net/common/current/doc/tcpip.sgml =================================================================== RCS file: /cvs/ecos/ecos-opt/net/net/common/current/doc/tcpip.sgml,v retrieving revision 1.8 diff -u -r1.8 tcpip.sgml --- net/common/current/doc/tcpip.sgml 19 Apr 2004 15:27:37 -0000 1.8 +++ net/common/current/doc/tcpip.sgml 16 Sep 2005 14:42:42 -0000 @@ -425,21 +425,21 @@ The new API is as follows: -int tftp_client_get(char *filename, - char *server, - int port, +int tftp_client_get(const char * const filename, + const char * const server, + const int port, char *buf, int len, - int mode, - int *err); + const int mode, + int * const err); -int tftp_client_put(char *filename, - char *server, - int port, - char *buf, +int tftp_client_put(const char * const filename, + const char * const server, + const int port, + const char *buf, int len, - int mode, - int *err); + const int mode, + int *const err); Currently server can only be a numeric IPv4 or IPv6 address. The resolver is currently not used, but it is planned to @@ -449,19 +449,20 @@ The deprecated API is: -int tftp_client_get(char *filename, - struct sockaddr_in *server, - char *buf, - int len, - int mode, - int *err); - -int tftp_client_put(char *filename, - struct sockaddr_in *server, - char *buf, - int len, - int mode, - int *err); + +int tftp_get(const char * const filename, + const struct sockaddr_in * const server, + char * buf, + int len, + const int mode, + int * const error); + +int tftp_put(const char * const filename, + const struct sockaddr_in * const server, + const char * buffer, + int len, + const int mode, + int * const err); Index: net/common/current/include/tftp_support.h =================================================================== RCS file: /cvs/ecos/ecos-opt/net/net/common/current/include/tftp_support.h,v retrieving revision 1.3 diff -u -r1.3 tftp_support.h --- net/common/current/include/tftp_support.h 5 Oct 2004 08:04:05 -0000 1.3 +++ net/common/current/include/tftp_support.h 16 Sep 2005 14:42:42 -0000 @@ -77,12 +77,36 @@ */ /* IPv4 and IPv6 */ -__externC int tftp_client_get(char *, char *, int, char *, int, int, int *); -__externC int tftp_client_put(char *, char *, int, char *, int, int, int *); +__externC int tftp_client_get(const char * const filename, + const char * const server, + const int port, + char * buff, + int len, + const int mode, + int * const err); + +__externC int tftp_client_put(const char * const filename, + const char * const server, + const int port, + const char * buf, + int len, + const int mode, + int * const err); /* IPv4 only */ -__externC int tftp_get(char *, struct sockaddr_in *, char *, int, int, int *); -__externC int tftp_put(char *, struct sockaddr_in *, char *, int, int, int *); +__externC int tftp_get(const char * const filename, + const struct sockaddr_in * const server, + char * buf, + int len, + const int mode, + int * const error); + +__externC int tftp_put(const char * const filename, + const struct sockaddr_in * const server, + const char * buffer, + int len, + const int mode, + int * const err); #define TFTP_TIMEOUT_PERIOD 5 // Seconds between retries #define TFTP_TIMEOUT_MAX 50 // Max timeouts over all blocks Index: net/common/current/src/tftp_client.c =================================================================== RCS file: /cvs/ecos/ecos-opt/net/net/common/current/src/tftp_client.c,v retrieving revision 1.9 diff -u -r1.9 tftp_client.c --- net/common/current/src/tftp_client.c 30 Jul 2005 11:22:38 -0000 1.9 +++ net/common/current/src/tftp_client.c 16 Sep 2005 14:42:42 -0000 @@ -66,13 +66,13 @@ // On error, *err will hold the reason. // This version uses the server name. This can be a name for DNS lookup // or a dotty or colony number format for IPv4 or IPv6. -int tftp_client_get(char *filename, - char *server, - int port, +int tftp_client_get(const char * const filename, + const char * const server, + const int port, char *buf, int len, - int mode, - int *err) { + const int mode, + int * const err) { int result = 0; int s=-1; @@ -87,7 +87,8 @@ struct sockaddr local_addr, from_addr; char data[SEGSIZE+sizeof(struct tftphdr)]; struct tftphdr *hdr = (struct tftphdr *)data; - char *cp, *fp; + const char *fp; + char *cp, *bp; struct timeval timeout; unsigned short last_good_block = 0; fd_set fds; @@ -173,7 +174,7 @@ } // Read data - fp = buf; + bp = buf; while (true) { timeout.tv_sec = TFTP_TIMEOUT_PERIOD; timeout.tv_usec = 0; @@ -231,7 +232,7 @@ result += actual_len; while (data_len-- > 0) { if (len-- > 0) { - *fp++ = *cp++; + *bp++ = *cp++; } else { // Buffer overflow *err = TFTP_TOOLARGE; @@ -296,12 +297,12 @@ // // Depreciated. Use tftp_client_get instead. int -tftp_get(char *filename, - struct sockaddr_in *server, +tftp_get(const char * const filename, + const struct sockaddr_in * const server, char *buf, int len, - int mode, - int *err) + const int mode, + int * const err) { char server_name[20]; char *ret; @@ -322,12 +323,12 @@ // Send data to a file on a server via TFTP. // int -tftp_put(char *filename, - struct sockaddr_in *server, - char *buf, +tftp_put(const char * const filename, + const struct sockaddr_in * const server, + const char *buf, int len, - int mode, - int *err) + const int mode, + int * const err) { char server_name[20]; char *ret; @@ -350,13 +351,13 @@ // On error, *err will hold the reason. // This version uses the server name. This can be a name for DNS lookup // or a dotty or colony number format for IPv4 or IPv6. -int tftp_client_put(char *filename, - char *server, - int port, - char *buf, +int tftp_client_put(const char * const filename, + const char * const server, + const int port, + const char *buf, int len, - int mode, - int *err) { + const int mode, + int * const err) { int result = 0; int s = -1, actual_len, data_len; @@ -365,7 +366,8 @@ struct sockaddr local_addr, from_addr; char data[SEGSIZE+sizeof(struct tftphdr)]; struct tftphdr *hdr = (struct tftphdr *)data; - char *cp, *fp, *sfp; + const char *fp, *sfp; + char *cp; struct timeval timeout; unsigned short last_good_block = 0; fd_set fds; Index: net/common/current/tests/mbuf_test.c =================================================================== RCS file: /cvs/ecos/ecos-opt/net/net/common/current/tests/mbuf_test.c,v retrieving revision 1.1 diff -u -r1.1 mbuf_test.c --- net/common/current/tests/mbuf_test.c 20 May 2002 22:25:05 -0000 1.1 +++ net/common/current/tests/mbuf_test.c 16 Sep 2005 14:42:42 -0000 @@ -46,7 +46,7 @@ for (i = 0; i < 32; i++) { m[i] = m_get(M_DONTWAIT, MT_DATA); - diag_printf("allocate mbuf = %x\n", m[i]); + diag_printf("allocate mbuf = 0x%p\n", m[i]); } cyg_test_exit();