From f4e069bf2e2fcdca417ae7e384efb1fa0ad87343 Mon Sep 17 00:00:00 2001 From: Marin Hannache Date: Fri, 16 May 2014 16:43:08 +0200 Subject: [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 Signed-off-by: Michael Brown --- src/include/ipxe/errfile.h | 1 + src/include/ipxe/nfs_uri.h | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 src/include/ipxe/nfs_uri.h (limited to 'src/include') diff --git a/src/include/ipxe/errfile.h b/src/include/ipxe/errfile.h index bd12c7cbe..e3b6b87e4 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 000000000..d88bd6f65 --- /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 + +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 */ -- cgit v1.2.3-55-g7522