changeset 2069:e400ce1dbe07

* src/tftp_client.c, include/tftp_support.h: const parameters where appropriate. * doc/tcpip.sgml: Update for the above.
author asl
date Fri, 16 Sep 2005 14:56:25 +0000
parents c051df3f1083
children f39bb84d8383
files packages/net/common/current/ChangeLog packages/net/common/current/doc/tcpip.sgml packages/net/common/current/include/tftp_support.h packages/net/common/current/src/tftp_client.c packages/net/common/current/tests/mbuf_test.c
diffstat 5 files changed, 86 insertions(+), 52 deletions(-) [+]
line wrap: on
line diff
--- a/packages/net/common/current/ChangeLog
+++ b/packages/net/common/current/ChangeLog
@@ -1,3 +1,10 @@
+2005-09-05  David Vrabel  <dvrabel@arcom.com>
+            Andrew Lunn   <andrew.lunn@ascom.ch>
+	
+	* src/tftp_client.c, include/tftp_support.h: const parameters
+	where appropriate.
+	* doc/tcpip.sgml: Update for the above.
+ 
 2005-08-02  Andrew Lunn  <andrew.lunn@ascom.ch>
 
 	* tests/ping_lo_test.c (ping_host): Use socklen_t to avoid
--- a/packages/net/common/current/doc/tcpip.sgml
+++ b/packages/net/common/current/doc/tcpip.sgml
@@ -425,21 +425,21 @@ IPv4 only.
 <PARA>
 The new API is as follows:
 </PARA>
-<PROGRAMLISTING>int tftp_client_get(char *filename,
-		    char *server,
-		    int port,
+<PROGRAMLISTING>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);
 </PROGRAMLISTING>
 <PARA>Currently <varname>server</varname> 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 specified port is used.
 </PARA>
 <PARA> 
 The deprecated API is:
-<PROGRAMLISTING>int tftp_client_get(char *filename,
-		    struct sockaddr_in *server,
-		    char *buf,
-		    int len,
-		    int mode,
-		    int *err);
+<PROGRAMLISTING>
+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_client_put(char *filename,
-		    struct sockaddr_in *server,
-		    char *buf,
-		    int len,
-		    int mode,
-		    int *err);
+int tftp_put(const char * const filename, 
+             const struct sockaddr_in * const server, 
+             const char * buffer, 
+             int len, 
+             const int mode, 
+             int * const err);
 </PROGRAMLISTING>
 </PARA>
 <PARA>
--- a/packages/net/common/current/include/tftp_support.h
+++ b/packages/net/common/current/include/tftp_support.h
@@ -77,12 +77,36 @@ struct tftpd_fileops {
  */
 
 /* 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
--- a/packages/net/common/current/src/tftp_client.c
+++ b/packages/net/common/current/src/tftp_client.c
@@ -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 @@ int tftp_client_get(char *filename,
     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 @@ int tftp_client_get(char *filename,
 	}
 
 	// Read data
-	fp = buf;
+	bp = buf;
 	while (true) {
 	  timeout.tv_sec = TFTP_TIMEOUT_PERIOD;
 	  timeout.tv_usec = 0;
@@ -231,7 +232,7 @@ int tftp_client_get(char *filename,
 		result += actual_len;
 		while (data_len-- > 0) {
 		  if (len-- > 0) {
-		    *fp++ = *cp++;
+		    *bp++ = *cp++;
 		  } else {
 		    // Buffer overflow
 		    *err = TFTP_TOOLARGE;
@@ -296,12 +297,12 @@ int tftp_client_get(char *filename,
 //
 // 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 @@ tftp_get(char *filename,
 // 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 @@ tftp_put(char *filename,
 // 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 @@ int tftp_client_put(char *filename,
     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;
--- a/packages/net/common/current/tests/mbuf_test.c
+++ b/packages/net/common/current/tests/mbuf_test.c
@@ -46,7 +46,7 @@ cyg_start(void)
 
     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();