]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/nfs/rpcv2.h
xnu-2422.90.20.tar.gz
[apple/xnu.git] / bsd / nfs / rpcv2.h
index 31a19919ad5d029790bd2f1736410005d0eabaff..3a288f2032b362101ea5cfdfa476d4f2bee9f279 100644 (file)
@@ -1,14 +1,19 @@
 /*
- * Copyright (c) 2000-2004 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2010 Apple Inc. All rights reserved.
  *
- * @APPLE_LICENSE_HEADER_START@
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  * 
  * This file contains Original Code and/or Modifications of Original Code
  * as defined in and that are subject to the Apple Public Source License
  * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
+ * compliance with the License. The rights granted to you under the License
+ * may not be used to create, or enable the creation or redistribution of,
+ * unlawful or unlicensed copies of an Apple operating system, or to
+ * circumvent, violate, or enable the circumvention or violation of, any
+ * terms of an Apple operating system software license agreement.
+ * 
+ * Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this file.
  * 
  * The Original Code and all software distributed under the License are
  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
@@ -18,7 +23,7 @@
  * Please see the License for the specific language governing rights and
  * limitations under the License.
  * 
- * @APPLE_LICENSE_HEADER_END@
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  */
 /* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */
 /*
 
 /* Authentication */
 #define        RPCAUTH_NULL    0
+#define        RPCAUTH_NONE    RPCAUTH_NULL
 #define        RPCAUTH_UNIX    1
+#define RPCAUTH_SYS    RPCAUTH_UNIX
 #define        RPCAUTH_SHORT   2
 #define RPCAUTH_KERB4  4
+#define RPCAUTH_KRB5   390003
+#define RPCAUTH_KRB5I  390004
+#define RPCAUTH_KRB5P  390005
+#define RPCAUTH_INVALID        ~0U
+#define RPCAUTH_UNKNOWN        RPCAUTH_INVALID
+
 #define        RPCAUTH_MAXSIZ  400
-#define        RPCVERF_MAXSIZ  12      /* For Kerb, can actually be 400 */
 #define        RPCAUTH_UNIXGIDS 16
 
 /*
 #define        RPC_REPLY       1
 #define        RPC_MSGACCEPTED 0
 #define        RPC_MSGDENIED   1
+#define        RPC_SUCCESS     0
 #define        RPC_PROGUNAVAIL 1
 #define        RPC_PROGMISMATCH        2
 #define        RPC_PROCUNAVAIL 3
 #define        RPC_AUTHERR     1
 
 /* Authentication failures */
-#define        AUTH_BADCRED    1
-#define        AUTH_REJECTCRED 2
-#define        AUTH_BADVERF    3
-#define        AUTH_REJECTVERF 4
-#define        AUTH_TOOWEAK    5               /* Give em wheaties */
+#define        AUTH_BADCRED            1
+#define        AUTH_REJECTCRED         2
+#define        AUTH_BADVERF            3
+#define        AUTH_REJECTVERF         4
+#define        AUTH_TOOWEAK            5       /* Give em wheaties */
+#define AUTH_INVALIDRESP       6
+#define AUTH_FAILED            7
+#define AUTH_KERB_GENERIC      8
+#define AUTH_TIMEEXPIRE                9
+#define AUTH_TKT_FILE          10
+#define AUTH_DECODE            11
+#define AUTH_NET_ADDR          12
+#define RPCSEC_GSS_CREDPROBLEM 13
+#define RPCSEC_GSS_CTXPROBLEM  14
 
 /* Sizes of rpc header parts */
 #define        RPC_SIZ         24
 #define        RPCMNT_PATHLEN  1024
 #define        RPCPROG_NFS     100003
 
-/*
- * Structures used for RPCAUTH_KERB4.
- */
-struct nfsrpc_fullverf {
-       u_long          t1;
-       u_long          t2;
-       u_long          w2;
-};
-
-struct nfsrpc_fullblock {
-       u_long          t1;
-       u_long          t2;
-       u_long          w1;
-       u_long          w2;
-};
-
-struct nfsrpc_nickverf {
-       u_long                  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
-
-#if 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]))))
+#define        RPCPROG_RQUOTA  100011
+#define        RPCRQUOTA_VER           1
+#define        RPCRQUOTA_EXT_VER       2
+#define        RPCRQUOTA_GET           1
+#define        RQUOTA_STAT_OK          1
+#define        RQUOTA_STAT_NOQUOTA     2
+#define        RQUOTA_STAT_EPERM       3
 
 #endif /* __APPLE_API_PRIVATE */
 #endif /* _NFS_RPCV2_H_ */