summaryrefslogtreecommitdiffstats
path: root/src/net/udp/tftp.c
diff options
context:
space:
mode:
authorSimon Rettberg2024-04-12 14:52:06 +0200
committerSimon Rettberg2024-04-12 14:52:06 +0200
commit2ae76865d3d109712f9ee488cbc19bd107bbc9ab (patch)
tree36e7310eb089cf7fd3496e5c32c70981e447f235 /src/net/udp/tftp.c
parentMerge branch 'aqc1xx' into openslx (diff)
parent[netdevice] Add "linktype" setting (diff)
downloadipxe-openslx.tar.gz
ipxe-openslx.tar.xz
ipxe-openslx.zip
Merge branch 'master' into openslxopenslx
Diffstat (limited to 'src/net/udp/tftp.c')
-rw-r--r--src/net/udp/tftp.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/net/udp/tftp.c b/src/net/udp/tftp.c
index 3073e682..2ee01862 100644
--- a/src/net/udp/tftp.c
+++ b/src/net/udp/tftp.c
@@ -44,6 +44,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#include <ipxe/dhcp.h>
#include <ipxe/uri.h>
#include <ipxe/profile.h>
+#include <ipxe/errortab.h>
#include <ipxe/tftp.h>
/** @file
@@ -76,6 +77,9 @@ FEATURE ( FEATURE_PROTOCOL, "TFTP", DHCP_EB_FEATURE_TFTP, 1 );
#define EINVAL_MC_INVALID_PORT __einfo_error ( EINFO_EINVAL_MC_INVALID_PORT )
#define EINFO_EINVAL_MC_INVALID_PORT __einfo_uniqify \
( EINFO_EINVAL, 0x07, "Invalid multicast port" )
+#define ENOENT_NOT_FOUND __einfo_error ( EINFO_ENOENT_NOT_FOUND )
+#define EINFO_ENOENT_NOT_FOUND __einfo_uniqify \
+ ( EINFO_ENOENT, 0x01, "Not found" )
/**
* A TFTP request
@@ -167,6 +171,11 @@ static struct profiler tftp_client_profiler __profiler =
static struct profiler tftp_server_profiler __profiler =
{ .name = "tftp.server" };
+/** Human-readable error messages */
+struct errortab tftp_errors[] __errortab = {
+ __einfo_errortab ( EINFO_ENOENT_NOT_FOUND ),
+};
+
/**
* Free TFTP request
*
@@ -872,7 +881,7 @@ static int tftp_rx_data ( struct tftp_request *tftp,
*/
static int tftp_errcode_to_rc ( unsigned int errcode ) {
switch ( errcode ) {
- case TFTP_ERR_FILE_NOT_FOUND: return -ENOENT;
+ case TFTP_ERR_FILE_NOT_FOUND: return -ENOENT_NOT_FOUND;
case TFTP_ERR_ACCESS_DENIED: return -EACCES;
case TFTP_ERR_ILLEGAL_OP: return -ENOTTY;
default: return -ENOTSUP;