diff options
Diffstat (limited to 'sys/nfs/rpcv2.h')
-rw-r--r-- | sys/nfs/rpcv2.h | 64 |
1 files changed, 59 insertions, 5 deletions
diff --git a/sys/nfs/rpcv2.h b/sys/nfs/rpcv2.h index 2137fbfe1d8..6c8c237eff3 100644 --- a/sys/nfs/rpcv2.h +++ b/sys/nfs/rpcv2.h @@ -1,4 +1,4 @@ -/* $NetBSD: rpcv2.h,v 1.7 1995/12/19 23:08:26 cgd Exp $ */ +/* $NetBSD: rpcv2.h,v 1.8 1996/02/18 11:54:11 fvdl Exp $ */ /* * Copyright (c) 1989, 1993 @@ -35,9 +35,13 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * @(#)rpcv2.h 8.1 (Berkeley) 6/10/93 + * @(#)rpcv2.h 8.2 (Berkeley) 3/30/95 */ + +#ifndef _NFS_RPCV2_H_ +#define _NFS_RPCV2_H_ + /* * Definitions for Sun RPC Version 2, from * "RPC: Remote Procedure Call Protocol Specification" RFC1057 @@ -50,10 +54,18 @@ #define RPCAUTH_NULL 0 #define RPCAUTH_UNIX 1 #define RPCAUTH_SHORT 2 +#define RPCAUTH_KERB4 4 #define RPCAUTH_NQNFS 300000 #define RPCAUTH_MAXSIZ 400 +#define RPCVERF_MAXSIZ 12 /* For Kerb, can actually be 400 */ #define RPCAUTH_UNIXGIDS 16 +/* + * Constants associated with authentication flavours. + */ +#define RPCAKN_FULLNAME 0 +#define RPCAKN_NICKNAME 1 + /* Rpc Constants */ #define RPC_CALL 0 #define RPC_REPLY 1 @@ -80,6 +92,7 @@ /* RPC Prog definitions */ #define RPCPROG_MNT 100005 #define RPCMNT_VER1 1 +#define RPCMNT_VER3 3 #define RPCMNT_MOUNT 1 #define RPCMNT_DUMP 2 #define RPCMNT_UMOUNT 3 @@ -88,9 +101,50 @@ #define RPCMNT_NAMELEN 255 #define RPCMNT_PATHLEN 1024 #define RPCPROG_NFS 100003 - + /* Structs for common parts of the rpc's */ struct rpcv2_time { - u_int32_t rpc_sec; - u_int32_t rpc_usec; + u_int32_t rpc_sec; + u_int32_t rpc_usec; +}; + +/* + * Structures used for RPCAUTH_KERB4. + */ +struct nfsrpc_fullverf { + u_int32_t t1; + u_int32_t t2; + u_int32_t w2; +}; + +struct nfsrpc_fullblock { + u_int32_t t1; + u_int32_t t2; + u_int32_t w1; + u_int32_t w2; +}; + +struct nfsrpc_nickverf { + u_int32_t kind; + struct nfsrpc_fullverf verf; }; + +/* + * and their sizes in bytes.. If sizeof (struct nfsrpc_xx) != these + * constants, well then things will break in mount_nfs and nfsd. + */ +#define RPCX_FULLVERF 12 +#define RPCX_FULLBLOCK 16 +#define RPCX_NICKVERF 16 + +#ifdef NFSKERB +XXX +#else +typedef u_char NFSKERBKEY_T[2]; +typedef u_char NFSKERBKEYSCHED_T[2]; +#endif +#define NFS_KERBSRV "rcmd" /* Kerberos Service for NFS */ +#define NFS_KERBTTL (30 * 60) /* Credential ttl (sec) */ +#define NFS_KERBCLOCKSKEW (5 * 60) /* Clock skew (sec) */ +#define NFS_KERBW1(t) (*((u_long *)(&((t).dat[((t).length + 3) & ~0x3])))) +#endif |