initial-freebsd-port-work-20010414
[openafs.git] / src / config / param.i386_fbsd_42.h
1 #ifndef _PARAM_FBSD_42_H_
2 #define _PARAM_FBSD_42_H_
3
4 #include <sys/param.h>
5
6 #define AFS_XBSD_ENV 1             /* {Free,Open,Net}BSD */
7 #define AFS_X86_XBSD_ENV 1
8
9 #define AFS_FBSD_ENV 1
10 #define AFS_FBSD40_ENV 1
11 #define AFS_FBSD42_ENV 1
12 #define AFS_X86_FBSD_ENV 1
13 #define AFS_X86_FBSD40_ENV 1
14 #define AFS_X86_FBSD42_ENV 1
15 #define AFS_X86_ENV 1
16 #define AFS_NONFSTRANS 1
17 #define AFS_KERBEROS_ENV
18 #define O_SYNC O_FSYNC
19 #define FTRUNC O_TRUNC
20
21 #define IUPD 0x0010
22 #define IACC 0x0020
23 #define ICHG 0x0040
24 #define IMOD 0x0080
25
26 #define IN_LOCK(ip)     lockmgr(&ip->i_lock, LK_EXCLUSIVE, \
27                                 (struct simplelock *)0, curproc)
28 #define IN_UNLOCK(ip)   lockmgr(&ip->i_lock, LK_RELEASE, \
29                                 (struct simplelock *)0, curproc)
30
31 #include <afs/afs_sysnames.h>
32
33 #define AFS_VM_RDWR_ENV 1
34 #define AFS_VFS_ENV     1
35 #define AFS_VFSINCL_ENV 1
36 #define AFS_GREEDY43_ENV        1
37 #define AFS_ENV         1
38 #define AFS_MINPHYS_ENV 1
39 #define CMUSTD_ENV      1
40
41 #define AFS_SYSCALL     210
42 #define AFS_MOUNT_AFS   "afs"
43
44 #ifndef MOUNT_UFS
45 #define MOUNT_UFS 1
46 #endif
47
48 #ifndef MOUNT_AFS
49 #define MOUNT_AFS AFS_MOUNT_AFS
50 #endif
51 #define SYS_NAME        "i386_fbsd_42"
52 #define SYS_NAME_ID     SYS_NAME_ID_i386_fbsd_42
53
54 #define AFS_HAVE_FFS            1       /* Use system's ffs. */
55 #define AFS_HAVE_STATVFS        0       /* System doesn't supports statvfs */
56
57 #define AFS_GCPAGS              1       /* if nonzero, garbage collect PAGs */
58 #define AFS_3DISPARES   1       /* Utilize the 3 available disk inode spares */
59 #define AFS_USE_GETTIMEOFDAY 1  /* use gettimeofday to implement rx clock */
60
61 #if     !defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__)
62 #include <machine/endian.h>
63 #if     BYTE_ORDER == BIG_ENDIAN
64 #define AFSBIG_ENDIAN           1
65 #else
66 #if     BYTE_ORDER == LITTLE_ENDIAN
67 #define AFSLITTLE_ENDIAN        1
68 #else
69 #error  machine/endian.h must define BYTE_ORDER!
70 #endif
71 #endif
72 #endif  /* ! ASSEMBLER && ! __LANGUAGE_ASSEMBLY__ */
73
74 #define NEARINODE_HINT  1 /* hint to ufs module to scatter inodes on disk*/
75 #define nearInodeHash(volid, hval) {                          \
76                 unsigned char*  ts = (unsigned char*)&(volid);\
77                 for ((hval)=0; ts<(unsigned char*)&(volid)+sizeof(volid);ts++){\
78                     (hval) *= 173;                      \
79                     (hval) += *ts;                      \
80                 }                                       \
81                 }
82
83 /* Extra kernel definitions (from kdefs file) */
84 #ifdef _KERNEL
85 #define AFS_GLOBAL_SUNLOCK        1
86 #define AFS_VFS34       1       /* What is VFS34??? */
87 #define AFS_SHORTGID    1       /* are group id's short? */
88 #define afsio_iov       uio_iov
89 #define afsio_iovcnt    uio_iovcnt
90 #define afsio_offset    uio_offset
91 #define afsio_seg       uio_segflg
92 #define afsio_resid     uio_resid
93 #define AFS_UIOSYS      UIO_SYSSPACE
94 #define AFS_UIOUSER     UIO_USERSPACE
95 #define AFS_CLBYTES     CLBYTES
96 #define osi_GetTime(x)  microtime(x)
97 #define AFS_KALLOC(x)   kalloc(x)
98 #define AFS_KFREE(x,y)  kfree(x,y)
99 #define v_count         v_usecount
100 #define v_vfsp          v_mount
101 #define vfs_bsize       mnt_stat.f_bsize
102 #define vfs_fsid        mnt_stat.f_fsid
103 #define va_nodeid       va_fileid
104 #define vfs_vnodecovered mnt_vnodecovered
105 #define direct          dirent
106 #define vnode_t         struct vnode
107
108 #ifndef MUTEX_DEFAULT
109 #define MUTEX_DEFAULT   0
110 #endif /* MUTEX_DEFAULT */
111
112 #ifndef SSYS
113 #define SSYS            0x00002
114 #endif /* SSYS */
115
116 #define p_rcred         p_ucred
117
118 #define VN_RELE(vp)     vrele(((struct vnode *)(vp)))
119 #define VN_HOLD(vp)     VREF(((struct vnode *)(vp)))
120
121 #if     !defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__)
122 enum vcexcl {NONEXCL, EXCL};
123
124 #ifdef KERNEL
125 #ifndef MIN
126 #define MIN(A,B) ((A) < (B) ? (A) : (B))
127 #endif
128 #ifndef MAX
129 #define MAX(A,B) ((A) > (B) ? (A) : (B))
130 #endif
131 #endif /* KERNEL */
132
133 #endif  /* ! ASSEMBLER & ! __LANGUAGE_ASSEMBLY__ */
134 #endif /* _KERNEL */
135
136 #endif  /* _PARAM_FBSD_42_H_ */