summaryrefslogtreecommitdiff
path: root/nuttx/netutils/tftpc/tftpc_packets.c
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2008-09-06 15:44:41 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2008-09-06 15:44:41 +0000
commit77598342d00348e0b97f05b2c6735bdf8dde8e33 (patch)
treea6d10071812c10e0221dc7a8d15d603f9e4b1ad8 /nuttx/netutils/tftpc/tftpc_packets.c
parentbf15faf28c3826541af41632784beaefdb9a2254 (diff)
downloadpx4-nuttx-77598342d00348e0b97f05b2c6735bdf8dde8e33.tar.gz
px4-nuttx-77598342d00348e0b97f05b2c6735bdf8dde8e33.tar.bz2
px4-nuttx-77598342d00348e0b97f05b2c6735bdf8dde8e33.zip
TFTP Get integration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@885 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/netutils/tftpc/tftpc_packets.c')
-rw-r--r--nuttx/netutils/tftpc/tftpc_packets.c54
1 files changed, 22 insertions, 32 deletions
diff --git a/nuttx/netutils/tftpc/tftpc_packets.c b/nuttx/netutils/tftpc/tftpc_packets.c
index d3da57544..e48b61481 100644
--- a/nuttx/netutils/tftpc/tftpc_packets.c
+++ b/nuttx/netutils/tftpc/tftpc_packets.c
@@ -60,7 +60,7 @@
#include "tftpc_internal.h"
-#if defined(CONFIG_NET) && defined(CONFIG_NET_UDP)
+#if defined(CONFIG_NET) && defined(CONFIG_NET_UDP) && CONFIG_NFILE_DESCRIPTORS > 0
/****************************************************************************
* Definitions
@@ -70,15 +70,6 @@
* Public Data
****************************************************************************/
-#if defined(CONFIG_DEBUG) && defined(CONFIG_DEBUG_NET)
-const char g_tftpcallfailed[] = "%s failed: %d\n";
-const char g_tftpcalltimedout[] = "%s timed out\n";
-const char g_tftpnomemory[] = "%s memory allocation failure\n";
-const char g_tftptoomanyretries[] = "Retry limit exceeded\n";
-const char g_tftpaddress[] = "%s invalid address\n";
-const char g_tftpport[] = "%s invalid port\n";
-#endif
-
/****************************************************************************
* Private Functions
****************************************************************************/
@@ -114,29 +105,28 @@ int tftp_sockinit(struct sockaddr_in *server, in_addr_t addr)
/* Create the UDP socket */
sd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
- if (sd >= 0)
+ if (sd < 0)
{
- ndbg(g_tftpcallfailed, "socket", errno);
+ ndbg("socket failed: %d\n", errno);
+ return ERROR;
}
- else
- {
- /* Set the recvfrom timeout */
-
- timeo.tv_sec = CONFIG_NETUTILS_TFTP_TIMEOUT / 10;
- timeo.tv_usec = (CONFIG_NETUTILS_TFTP_TIMEOUT % 10) * 100000;
- ret = setsockopt(sd, SOL_SOCKET, SO_RCVTIMEO, &timeo, sizeof(struct timeval));
- if (ret < 0)
- {
- ndbg(g_tftpcallfailed, "setsockopt", errno);
- }
- /* Initialize the server address structure */
+ /* Set the recvfrom timeout */
- memset(server, 0, sizeof(struct sockaddr_in));
- server->sin_family = AF_INET;
- server->sin_addr.s_addr = addr;
- server->sin_port = HTONS(CONFIG_NETUTILS_TFTP_PORT);
+ timeo.tv_sec = CONFIG_NETUTILS_TFTP_TIMEOUT / 10;
+ timeo.tv_usec = (CONFIG_NETUTILS_TFTP_TIMEOUT % 10) * 100000;
+ ret = setsockopt(sd, SOL_SOCKET, SO_RCVTIMEO, &timeo, sizeof(struct timeval));
+ if (ret < 0)
+ {
+ ndbg("setsockopt failed: %d\n", errno);
}
+
+ /* Initialize the server address structure */
+
+ memset(server, 0, sizeof(struct sockaddr_in));
+ server->sin_family = AF_INET;
+ server->sin_addr.s_addr = addr;
+ server->sin_port = HTONS(CONFIG_NETUTILS_TFTP_PORT);
return sd;
}
@@ -265,7 +255,7 @@ ssize_t tftp_recvfrom(int sd, void *buf, size_t len, struct sockaddr_in *from)
if (errno == EAGAIN)
{
- ndbg(g_tftpcalltimedout, "recvfrom");
+ ndbg("recvfrom timed out\n");
return ERROR;
}
@@ -273,7 +263,7 @@ ssize_t tftp_recvfrom(int sd, void *buf, size_t len, struct sockaddr_in *from)
else if (errno != EINTR)
{
- ndbg(g_tftpcallfailed, "recvfrom", errno);
+ ndbg("recvfrom failed: %d\n", errno);
return ERROR;
}
}
@@ -317,7 +307,7 @@ ssize_t tftp_sendto(int sd, const void *buf, size_t len, struct sockaddr_in *to)
if (errno != EINTR)
{
- ndbg(g_tftpcallfailed, "sendto", errno);
+ ndbg("sendto failed: %d\n", errno);
return ERROR;
}
}
@@ -331,4 +321,4 @@ ssize_t tftp_sendto(int sd, const void *buf, size_t len, struct sockaddr_in *to)
}
}
-#endif /* CONFIG_NET && CONFIG_NET_UDP */
+#endif /* CONFIG_NET && CONFIG_NET_UDP && CONFIG_NFILE_DESCRIPTORS */