diff options
author | wdenk <wdenk> | 2004-02-24 02:00:03 +0000 |
---|---|---|
committer | wdenk <wdenk> | 2004-02-24 02:00:03 +0000 |
commit | cbd8a35c6dbaaca35494cbec319960887ad02dcf (patch) | |
tree | f3a5f6817a203a6e3a0a0ab7fb9df5b3697c07e3 /net/nfs.h | |
parent | 074cff0d2863bab21b065cf283eccd728f4fecaa (diff) | |
download | u-boot-imx-cbd8a35c6dbaaca35494cbec319960887ad02dcf.zip u-boot-imx-cbd8a35c6dbaaca35494cbec319960887ad02dcf.tar.gz u-boot-imx-cbd8a35c6dbaaca35494cbec319960887ad02dcf.tar.bz2 |
* Patch by Masami Komiy, 22 Feb 2004:
Add support for NFS for file download
* Minor code cleanup
Diffstat (limited to 'net/nfs.h')
-rw-r--r-- | net/nfs.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/net/nfs.h b/net/nfs.h new file mode 100644 index 0000000..ebd4266 --- /dev/null +++ b/net/nfs.h @@ -0,0 +1,74 @@ +/* + * (C) Masami Komiya <mkomiya@sonare.it> 2004 + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2, or (at + * your option) any later version. + */ + +#ifndef __NFS_H__ +#define __NFS_H__ + +#define SUNRPC_PORT 111 + +#define PROG_PORTMAP 100000 +#define PROG_NFS 100003 +#define PROG_MOUNT 100005 + +#define MSG_CALL 0 +#define MSG_REPLY 1 + +#define PORTMAP_GETPORT 3 + +#define MOUNT_ADDENTRY 1 +#define MOUNT_UMOUNTALL 4 + +#define NFS_LOOKUP 4 +#define NFS_READLINK 5 +#define NFS_READ 6 + +#define NFS_FHSIZE 32 + +#define NFSERR_PERM 1 +#define NFSERR_NOENT 2 +#define NFSERR_ACCES 13 +#define NFSERR_ISDIR 21 +#define NFSERR_INVAL 22 + +/* Block size used for NFS read accesses. A RPC reply packet (including all + * headers) must fit within a single Ethernet frame to avoid fragmentation. + * Chosen to be a power of two, as most NFS servers are optimized for this. */ +#define NFS_READ_SIZE 1024 + +#define NFS_MAXLINKDEPTH 16 + +struct rpc_t { + union { + uint8_t data[2048]; + struct { + uint32_t id; + uint32_t type; + uint32_t rpcvers; + uint32_t prog; + uint32_t vers; + uint32_t proc; + uint32_t data[1]; + } call; + struct { + uint32_t id; + uint32_t type; + uint32_t rstatus; + uint32_t verifier; + uint32_t v2; + uint32_t astatus; + uint32_t data[1]; + } reply; + } u; +}; +extern void NfsStart (void); /* Begin NFS */ + + +/**********************************************************************/ + +#endif /* __NFS_H__ */ |