diff options
Diffstat (limited to 'qemu/roms/ipxe/src/include/ipxe/nfs.h')
-rw-r--r-- | qemu/roms/ipxe/src/include/ipxe/nfs.h | 157 |
1 files changed, 0 insertions, 157 deletions
diff --git a/qemu/roms/ipxe/src/include/ipxe/nfs.h b/qemu/roms/ipxe/src/include/ipxe/nfs.h deleted file mode 100644 index 69b8b5381..000000000 --- a/qemu/roms/ipxe/src/include/ipxe/nfs.h +++ /dev/null @@ -1,157 +0,0 @@ -#ifndef _IPXE_NFS_H -#define _IPXE_NFS_H - -#include <stdint.h> -#include <ipxe/oncrpc.h> - -/** @file - * - * Network File System protocol. - * - */ - -FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); - -/** NFS protocol number */ -#define ONCRPC_NFS 100003 - -/** NFS protocol version */ -#define NFS_VERS 3 - -/** No error*/ -#define NFS3_OK 0 -/** Not owner */ -#define NFS3ERR_PERM 1 -/** No such file or directory */ -#define NFS3ERR_NOENT 2 -/** I/O error */ -#define NFS3ERR_IO 5 -/** No such device or address */ -#define NFS3ERR_NXIO 6 -/** Permission denied */ -#define NFS3ERR_ACCES 13 -/** The file specified already exists */ -#define NFS3ERR_EXIST 17 -/** Attempt to do a cross-device hard link */ -#define NFS3ERR_XDEV 18 -/** No such device */ -#define NFS3ERR_NODEV 19 -/** Not a directory */ -#define NFS3ERR_NOTDIR 20 - /**Is a directory */ -#define NFS3ERR_ISDIR 21 -/** Invalid argument */ -#define NFS3ERR_INVAL 22 -/** Filename too long */ -#define NFS3ERR_NAMETOOLONG 63 -/** Invalid file handle */ -#define NFS3ERR_STALE 70 -/** Too many levels of remote in path */ -#define NFS3ERR_REMOTE 71 -/** Illegal NFS file handle */ -#define NFS3ERR_BADHANDLE 10001 -/** READDIR or READDIRPLUS cookie is stale */ -#define NFS3ERR_BAD_COOKIE 10003 -/** Operation not supported */ -#define NFS3ERR_NOTSUPP 10004 -/** Buffer or request is too small */ -#define NFS3ERR_TOOSMALL 10005 -/** An error occurred on the server which does not map to any of the legal NFS - * version 3 protocol error values */ -#define NFS3ERR_SERVERFAULT 10006 -/** The server initiated the request, but was not able to complete it in a - * timely fashion */ -#define NFS3ERR_JUKEBOX 10008 - -enum nfs_attr_type { - NFS_ATTR_SYMLINK = 5, -}; - -/** - * A NFS file handle - * - */ -struct nfs_fh { - uint8_t fh[64]; - size_t size; -}; - -/** - * A NFS LOOKUP reply - * - */ -struct nfs_lookup_reply { - /** Reply status */ - uint32_t status; - /** Entity type */ - enum nfs_attr_type ent_type; - /** File handle */ - struct nfs_fh fh; -}; - -/** - * A NFS READLINK reply - * - */ -struct nfs_readlink_reply { - /** Reply status */ - uint32_t status; - /** File path length */ - uint32_t path_len; - /** File path */ - char *path; -}; - - -/** - * A NFS READ reply - * - */ -struct nfs_read_reply { - /** Reply status */ - uint32_t status; - /** File size */ - uint64_t filesize; - /** Bytes read */ - uint32_t count; - /** End-of-File indicator */ - uint32_t eof; - /** Data length */ - uint32_t data_len; - /** Data read */ - void *data; -}; - -size_t nfs_iob_get_fh ( struct io_buffer *io_buf, struct nfs_fh *fh ); -size_t nfs_iob_add_fh ( struct io_buffer *io_buf, const struct nfs_fh *fh ); - -/** - * Prepare an ONC RPC session to be used as a NFS session - * - * @v session ONC RPC session - * @v credential ONC RPC credential - * - * The credential parameter must not be NULL, use 'oncrpc_auth_none' if you - * don't want a particular scheme to be used. - */ -static inline void nfs_init_session ( struct oncrpc_session *session, - struct oncrpc_cred *credential ) { - oncrpc_init_session ( session, credential, &oncrpc_auth_none, - ONCRPC_NFS, NFS_VERS ); -} - -int nfs_lookup ( struct interface *intf, struct oncrpc_session *session, - const struct nfs_fh *fh, const char *filename ); -int nfs_readlink ( struct interface *intf, struct oncrpc_session *session, - const struct nfs_fh *fh ); -int nfs_read ( struct interface *intf, struct oncrpc_session *session, - const struct nfs_fh *fh, uint64_t offset, uint32_t count ); - -int nfs_get_lookup_reply ( struct nfs_lookup_reply *lookup_reply, - struct oncrpc_reply *reply ); -int nfs_get_readlink_reply ( struct nfs_readlink_reply *readlink_reply, - struct oncrpc_reply *reply ); -int nfs_get_read_reply ( struct nfs_read_reply *read_reply, - struct oncrpc_reply *reply ); - -#endif /* _IPXE_NFS_H */ |