X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=net%2Fnfs.h;h=45da246aa1e1bfa6ad8d7b267ab0a41fde8e231d;hb=75db0860b1cee8c3b2539878a227c37bfce00046;hp=ebd4266857fd07b4435f1200bfe52b99484ea4d6;hpb=cbd8a35c6dbaaca35494cbec319960887ad02dcf;p=u-boot diff --git a/net/nfs.h b/net/nfs.h index ebd4266857..45da246aa1 100644 --- a/net/nfs.h +++ b/net/nfs.h @@ -1,10 +1,7 @@ /* * (C) Masami Komiya 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. + * SPDX-License-Identifier: GPL-2.0+ */ #ifndef __NFS_H__ @@ -28,7 +25,10 @@ #define NFS_READLINK 5 #define NFS_READ 6 +#define NFS3PROC_LOOKUP 3 + #define NFS_FHSIZE 32 +#define NFS3_FHSIZE 64 #define NFSERR_PERM 1 #define NFSERR_NOENT 2 @@ -38,10 +38,24 @@ /* 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 + * However, if CONFIG_IP_DEFRAG is set, the config file may want to use a + * bigger value. In any case, most NFS servers are optimized for a power of 2. + */ +#ifdef CONFIG_NFS_READ_SIZE +#define NFS_READ_SIZE CONFIG_NFS_READ_SIZE +#else +#define NFS_READ_SIZE 1024 /* biggest power of two that fits Ether frame */ +#endif -#define NFS_MAXLINKDEPTH 16 +/* Values for Accept State flag on RPC answers (See: rfc1831) */ +enum rpc_accept_stat { + NFS_RPC_SUCCESS = 0, /* RPC executed successfully */ + NFS_RPC_PROG_UNAVAIL = 1, /* remote hasn't exported program */ + NFS_RPC_PROG_MISMATCH = 2, /* remote can't support version # */ + NFS_RPC_PROC_UNAVAIL = 3, /* program can't support procedure */ + NFS_RPC_GARBAGE_ARGS = 4, /* procedure can't decode params */ + NFS_RPC_SYSTEM_ERR = 5 /* errors like memory allocation failure */ +}; struct rpc_t { union { @@ -62,11 +76,11 @@ struct rpc_t { uint32_t verifier; uint32_t v2; uint32_t astatus; - uint32_t data[1]; + uint32_t data[NFS_READ_SIZE]; } reply; } u; }; -extern void NfsStart (void); /* Begin NFS */ +void nfs_start(void); /* Begin NFS */ /**********************************************************************/