/*
* Copyright 2000, International Business Machines Corporation and others.
* All Rights Reserved.
- *
+ *
* This software has been released under the terms of the IBM Public
* License. For details, see the LICENSE file in the top-level source
* directory or online at http://www.openafs.org/dl/license10.html
#define AFSOP_SET_BACKUPTREE 37 /* enable backup tree support */
#define AFSOP_SET_RXPCK 38 /* set rx_extraPackets*/
#define AFSOP_BUCKETPCT 39 /* bucket percentage */
-#define AFSOP_SET_RXMAXMTU 40 /* set rx_MyMaxSendSize,rx_maxReceiveSizeUser,rx_maxReceiveSize */
+#define AFSOP_SET_RXMAXMTU 40 /* set rx_MyMaxSendSize,rx_maxReceiveSizeUser,rx_maxReceiveSize */
#define AFSOP_BKG_HANDLER 41 /* userspace-capable Bkg daemon */
+#define AFSOP_SET_RXMAXFRAGS 43 /* set rxi_nSendFrags, rxi_nRecvFrags */
+#define AFSOP_SET_RMTSYS_FLAG 44 /* set flag if rmtsys is enabled */
+#define AFSOP_SEED_ENTROPY 45 /* Give the kernel hcrypto entropy */
+#define AFSOP_SET_INUMCALC 46 /* set inode number calculation method */
/* The range 20-30 is reserved for AFS system offsets in the afs_syscall */
#define AFSCALL_PIOCTL 20
#define AFSCALL_INIT_KERNEL_CONFIG 47 /* set vnode glue ops. */
#endif
-#ifdef AFS_SGI53_ENV
-#define AFSOP_NFSSTATICADDR 32 /* to contents addr of nfs kernel addr */
-#define AFSOP_NFSSTATICADDRPTR 33 /* pass addr of variable containing
- * address into kernel. */
-#define AFSOP_NFSSTATICADDR2 34 /* pass address in as hyper. */
-#define AFSOP_SBLOCKSTATICADDR2 35 /* for sblock and sbunlock */
-#endif
#define AFSOP_GETMASK 42 /* stand-in for SIOCGIFNETMASK */
/* For SGI, this can't interfere with any of the 64 bit inode calls. */
#define AFSOP_RXLISTENER_DAEMON 48 /* starts kernel RX listener */
#define AFSOP_CACHEDIRS 51 /* number of files per dir */
#define AFSOP_CACHEFILES 52 /* number of files */
-#define AFSOP_SETINT 60 /* we should just set key/value pairs
+#define AFSOP_SETINT 60 /* we should just set key/value pairs
for things which are just ints */
/* these are for initialization flags */
afs_int32 dynamic_vcaches;
};
+/* Supported values for AFSOP_SET_INUMCALC. */
+enum {
+ AFS_INUMCALC_COMPAT = 0,
+ AFS_INUMCALC_MD5 = 1
+};
+
+
/*
* Note that the AFS_*ALLOCSIZ values should be multiples of sizeof(void*) to
* accomodate pointer alignment.
/* Used in rx.c as well as afs directory. */
#if defined(AFS_AIX32_ENV) || defined(AFS_HPUX_ENV)
/* XXX Because of rxkad_cprivate... XXX */
-#define AFS_MDALLOCSIZ (127*sizeof(void *)) /* "Medium" allocated size */
-#define AFS_MALLOC_LOW_WATER 50 /* Min free blocks before allocating more */
#define AFS_SMALLOCSIZ (38*sizeof(void *)) /* "Small" allocated size */
#else
#define AFS_SMALLOCSIZ (64*sizeof(void *)) /* "Small" allocated size */
#endif
+#define AFS_LRALLOCSIZ 4096 /* "Large" allocated size */
/* Cache configuration available through the client callback interface */
typedef struct cm_initparams_v1 {
/* Defines and structures for the AFS proc replacement layer for the original syscall (AFS_SYSCALL) strategy */
#ifdef AFS_LINUX20_ENV
-
+
#define PROC_FSDIRNAME "openafs"
#define PROC_SYSCALL_NAME "afs_ioctl"
#define PROC_SYSCALL_FNAME "/proc/fs/openafs/afs_ioctl"
#define PROC_RX_NAME "rx"
#define PROC_SERVICES_NAME "rx_services"
#define PROC_RXSTATS_NAME "rx_stats"
-#define VIOC_SYSCALL_TYPE 'C'
+#define VIOC_SYSCALL_TYPE 'C'
#define VIOC_SYSCALL _IOW(VIOC_SYSCALL_TYPE,1,void *)
#define VIOC_SYSCALL32 _IOW(VIOC_SYSCALL_TYPE,1,int)
-
+
struct afsprocdata {
long param4;
long param3;
unsigned int param1;
unsigned int syscall;
};
-
+
#endif
#ifdef AFS_DARWIN80_ENV
unsigned int syscall;
unsigned int retval;
};
-#define VIOC_SYSCALL_TYPE 'C'
+#define VIOC_SYSCALL_TYPE 'C'
#define VIOC_SYSCALL _IOWR(VIOC_SYSCALL_TYPE,1,struct afssysargs)
#define VIOC_SYSCALL64 _IOWR(VIOC_SYSCALL_TYPE,2,struct afssysargs64)
#define SYSCALL_DEV_FNAME "/dev/openafs_ioctl"
#endif
+#ifdef AFS_SUN511_ENV
+# define VIOC_SYSCALL_TYPE 'C'
+# define VIOC_SYSCALL _IOW(VIOC_SYSCALL_TYPE, 1, struct afssysargs)
+# define VIOC_SYSCALL32 _IOW(VIOC_SYSCALL_TYPE, 2, struct afssysargs32)
+# define SYSCALL_DEV_FNAME "/dev/afs"
+
+struct afssysargs {
+ afs_uint64 param6;
+ afs_uint64 param5;
+ afs_uint64 param4;
+ afs_uint64 param3;
+ afs_uint64 param2;
+ afs_uint64 param1;
+ afs_uint32 syscall;
+};
+
+struct afssysargs32 {
+ afs_uint32 param6;
+ afs_uint32 param5;
+ afs_uint32 param4;
+ afs_uint32 param3;
+ afs_uint32 param2;
+ afs_uint32 param1;
+ afs_uint32 syscall;
+};
+#endif /* AFS_SUN511_ENV */
+
#ifdef AFS_CACHE_VNODE_PATH
#define AFS_CACHE_CELLS_INODE -2
#define AFS_CACHE_ITEMS_INODE -3