aboutsummaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorMarin Hannache <git@mareo.fr>2014-05-16 16:43:08 +0200
committerMichael Brown <mcb30@ipxe.org>2014-05-18 21:53:39 +0100
commitf4e069bf2e2fcdca417ae7e384efb1fa0ad87343 (patch)
tree357877d1ce7a5870f4be15e93a76172798f4b097 /src/include
parent2b4be69eee372e1010af2302e82c3d0cf1d875e9 (diff)
downloadipxe-f4e069bf2e2fcdca417ae7e384efb1fa0ad87343.zip
ipxe-f4e069bf2e2fcdca417ae7e384efb1fa0ad87343.tar.gz
ipxe-f4e069bf2e2fcdca417ae7e384efb1fa0ad87343.tar.bz2
[nfs] Rewrite NFS URI handling
Get the NFS URI manipulation code out of nfs_open.c. The resulting code is now much more readable. Signed-off-by: Marin Hannache <git@mareo.fr> Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include')
-rw-r--r--src/include/ipxe/errfile.h1
-rw-r--r--src/include/ipxe/nfs_uri.h29
2 files changed, 30 insertions, 0 deletions
diff --git a/src/include/ipxe/errfile.h b/src/include/ipxe/errfile.h
index bd12c7c..e3b6b87 100644
--- a/src/include/ipxe/errfile.h
+++ b/src/include/ipxe/errfile.h
@@ -223,6 +223,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
#define ERRFILE_icmp ( ERRFILE_NET | 0x00390000 )
#define ERRFILE_ping ( ERRFILE_NET | 0x003a0000 )
#define ERRFILE_dhcpv6 ( ERRFILE_NET | 0x003b0000 )
+#define ERRFILE_nfs_uri ( ERRFILE_NET | 0x003c0000 )
#define ERRFILE_image ( ERRFILE_IMAGE | 0x00000000 )
#define ERRFILE_elf ( ERRFILE_IMAGE | 0x00010000 )
diff --git a/src/include/ipxe/nfs_uri.h b/src/include/ipxe/nfs_uri.h
new file mode 100644
index 0000000..d88bd6f
--- /dev/null
+++ b/src/include/ipxe/nfs_uri.h
@@ -0,0 +1,29 @@
+#ifndef _IPXE_NFS_URI_H
+#define _IPXE_NFS_URI_H
+
+/** @file
+ *
+ * Network File System protocol URI handling functions
+ *
+ */
+
+FILE_LICENCE ( GPL2_OR_LATER );
+
+#include <ipxe/uri.h>
+
+struct nfs_uri {
+ char *mountpoint;
+ char *filename;
+ char *path;
+ char *lookup_pos;
+};
+
+int nfs_uri_init ( struct nfs_uri *nfs_uri, const struct uri *uri );
+int nfs_uri_next_mountpoint ( struct nfs_uri *uri );
+int nfs_uri_symlink ( struct nfs_uri *uri, const char *symlink_value );
+char *nfs_uri_mountpoint ( const struct nfs_uri *uri );
+char *nfs_uri_next_path_component ( struct nfs_uri *uri );
+void nfs_uri_free ( struct nfs_uri *uri );
+
+
+#endif /* _IPXE_NFS_URI_H */