Updates to the Cache Manager to include NetBSD5 support
[openafs.git] / src / config / param.nbsd50.h
1 /* NetBSD shared section */
2
3 #ifndef AFS_PARAM_COMMON_H
4 #define AFS_PARAM_COMMON_H 1
5
6 #define AFS_64BIT_ENV  1
7 #define AFS_NAMEI_ENV  1        /* User space interface to file system */
8 #define AFS_64BIT_IOPS_ENV 1    /* Needed for NAMEI */
9 #define AFS_64BIT_CLIENT 1
10
11 #define AFS_MOUNT_AFS "afs"     /* The name of the filesystem type. */
12 #define AFS_SYSCALL 210
13
14
15 #ifdef AFS_KALLOC
16 #undef AFS_KALLOC
17 #endif
18 #define AFS_KALLOC(s) (osi_nbsd_Alloc((s), 1 /* cansleep */))
19
20 #ifdef AFS_KFREE
21 #undef AFS_KFREE
22 #endif
23 #define AFS_KFREE(p, s) (osi_nbsd_Free((p), (s)))
24
25 #if 0
26 /* including this file before sysincludes.h is canonical, but
27  * NBSD40's mount.h defines MOUNT_AFS */
28
29 #ifndef MOUNT_AFS
30 #define MOUNT_AFS AFS_MOUNT_AFS
31 #endif
32
33 #endif /* 0 */
34
35 #define AFS_XBSD_ENV 1          /* {Free,Open,Net}BSD */
36
37 #define AFS_NBSD_ENV 1
38 #define AFS_NBSD15_ENV 1
39 #define AFS_NBSD16_ENV 1
40 #define AFS_NBSD20_ENV 1
41 #define AFS_NBSD30_ENV 1
42 #define AFS_NBSD40_ENV 1
43 #define AFS_NBSD50_ENV 1
44 #undef  AFS_NONFSTRANS
45 #define AFS_NONFSTRANS 1
46
47 #define AFS_VFSINCL_ENV 1
48
49 #define AFS_HAVE_FFS            1       /* Use system's ffs. */
50
51 #if     !defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__) && !defined(IGNORE_STDS_H)
52 #define AFS_HAVE_STATVFS    1   /* System supports statvfs */
53 #endif
54
55 #ifndef UKERNEL
56
57 #if     !defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__) && !defined(IGNORE_STDS_H)
58 #include <sys/param.h>
59 #endif
60
61 #define FTRUNC O_TRUNC
62
63 #define IUPD 0x0010
64 #define IACC 0x0020
65 #define ICHG 0x0040
66 #define IMOD 0x0080
67
68 #define RXK_LISTENER_ENV  1
69
70 #include <afs/afs_sysnames.h>
71
72 #define AFS_VM_RDWR_ENV 1
73 #define AFS_VFS_ENV     1
74 #define AFS_GREEDY43_ENV        1
75
76 #define AFS_GCPAGS              0       /* if nonzero, garbage collect PAGs */
77 #define AFS_USE_GETTIMEOFDAY    1       /* use gettimeofday to implement rx clock */
78 #define AFS_GLOBAL_SUNLOCK      1
79
80 /* Extra kernel definitions (from kdefs file) */
81 #ifdef _KERNEL_DEPRECATED
82 #define AFS_VFS34       1       /* What is VFS34??? */
83 #define AFS_SHORTGID    1       /* are group id's short? */
84 #define afsio_iov       uio_iov
85 #define afsio_iovcnt    uio_iovcnt
86 #define afsio_offset    uio_offset
87 #define afsio_seg       uio_segflg
88 #define afsio_resid     uio_resid
89 #define AFS_UIOSYS      UIO_SYSSPACE
90 #define AFS_UIOUSER     UIO_USERSPACE
91 #define AFS_CLBYTES     CLBYTES
92 #define osi_GetTime(x)  microtime(x)
93 #define AFS_KALLOC(x)   kalloc(x)
94 #define AFS_KFREE(x,y)  kfree(x,y)
95 #define v_count         v_usecount
96 #define v_vfsp          v_mount
97 #define vfs_bsize       mnt_stat.f_bsize
98 #define vfs_fsid        mnt_stat.f_fsid
99 #define va_nodeid       va_fileid
100 #define vfs_vnodecovered mnt_vnodecovered
101 #define direct          dirent
102
103 #ifndef MUTEX_DEFAULT
104 #define MUTEX_DEFAULT   0
105 #endif /* MUTEX_DEFAULT */
106
107 #ifndef SSYS
108 #define SSYS            0x00002
109 #endif /* SSYS */
110
111 #define p_rcred         p_ucred
112
113 #define VN_RELE(vp)     vrele(((struct vnode *)(vp)))
114 #define VN_HOLD(vp)     VREF(((struct vnode *)(vp)))
115
116 #if     !defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__) && !defined(IGNORE_STDS_H)
117 enum vcexcl { NONEXCL, EXCL };
118
119 #ifdef KERNEL
120 #ifndef MIN
121 #define MIN(A,B) ((A) < (B) ? (A) : (B))
122 #endif
123 #ifndef MAX
124 #define MAX(A,B) ((A) > (B) ? (A) : (B))
125 #endif
126 #endif /* KERNEL */
127
128 #endif /* ! ASSEMBLER & ! __LANGUAGE_ASSEMBLY__ && !defined(IGNORE_STDS_H) */
129 #endif /* _KERNEL_DEPRECATED */
130
131 #else /* !defined(UKERNEL) */
132
133
134 /* This section for user space compiles only */
135
136 #define UKERNEL                 1       /* user space kernel */
137
138 #include <afs/afs_sysnames.h>
139
140 #define AFS_USERSPACE_IP_ADDR 1
141 #define RXK_LISTENER_ENV      1
142 #define AFS_GCPAGS            0 /* if nonzero, garbage collect PAGs */
143
144 #define afsio_iov       uio_iov
145 #define afsio_iovcnt    uio_iovcnt
146 #define afsio_offset    uio_offset
147 #define afsio_seg       uio_segflg
148 #define afsio_fmode     uio_fmode
149 #define afsio_resid     uio_resid
150 #define AFS_UIOSYS      UIO_SYSSPACE
151 #define AFS_UIOUSER     UIO_USERSPACE
152 #define AFS_CLBYTES     MCLBYTES
153 #define AFS_MINCHANGE   2
154 #define VATTR_NULL      usr_vattr_null
155
156 #define AFS_DIRENT
157 #ifndef CMSERVERPREF
158 #define CMSERVERPREF
159 #endif
160
161 #if     !defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__) && !defined(IGNORE_STDS_H) && !defined()
162 #include <limits.h>
163 #include <sys/param.h>
164 #include <sys/types.h>
165 #include <sys/mount.h>
166 #include <sys/fcntl.h>
167 #include <netinet/in.h>
168 #include <sys/uio.h>
169 #include <sys/socket.h>
170 #endif
171
172 #endif /* !defined(UKERNEL) */
173
174 #endif /* AFS_PARAM_COMMON_H */