Improve shared library building support
[openafs.git] / src / config / param.i386_fbsd_46.h
1 #ifndef UKERNEL
2 /* This section for kernel libafs compiles only */
3
4 #ifndef AFS_PARAM_H
5 #define AFS_PARAM_H
6
7 #ifndef IGNORE_STDS_H
8 #include <sys/param.h>
9 #endif
10
11 #define AFS_XBSD_ENV 1          /* {Free,Open,Net}BSD */
12 #define AFS_X86_XBSD_ENV 1
13
14 #define AFS_NAMEI_ENV     1     /* User space interface to file system */
15 #define AFS_64BIT_ENV 1
16 #define AFS_64BIT_IOPS_ENV 1    /* Needed for NAMEI */
17 #define AFS_FBSD_ENV 1
18 #define AFS_FBSD40_ENV 1
19 #define AFS_FBSD42_ENV 1
20 #define AFS_FBSD43_ENV 1
21 #define AFS_FBSD44_ENV 1
22 #define AFS_FBSD45_ENV 1
23 #define AFS_FBSD46_ENV 1
24 #define AFS_X86_FBSD_ENV 1
25 #define AFS_X86_FBSD40_ENV 1
26 #define AFS_X86_FBSD42_ENV 1
27 #define AFS_X86_FBSD43_ENV 1
28 #define AFS_X86_FBSD46_ENV 1
29 #define AFS_X86_ENV 1
30 #undef  AFS_NONFSTRANS
31 #define AFS_NONFSTRANS 1
32 #define O_SYNC O_FSYNC
33 #define FTRUNC O_TRUNC
34
35 #define IUPD 0x0010
36 #define IACC 0x0020
37 #define ICHG 0x0040
38 #define IMOD 0x0080
39
40 #define IN_LOCK(ip)     lockmgr(&ip->i_lock, LK_EXCLUSIVE, \
41                                 NULL, curproc)
42 #define IN_UNLOCK(ip)   lockmgr(&ip->i_lock, LK_RELEASE, \
43                                 NULL, curproc)
44
45 #include <afs/afs_sysnames.h>
46
47 #define AFS_VM_RDWR_ENV 1
48 #define AFS_VFS_ENV     1
49 #define AFS_VFSINCL_ENV 1
50 #define AFS_GREEDY43_ENV        1
51 #define AFS_ENV         1
52
53 #define AFS_SYSCALL     210
54 #define AFS_MOUNT_AFS   "afs"
55
56 #ifndef MOUNT_UFS
57 #define MOUNT_UFS "ufs"
58 #endif
59
60 #ifndef MOUNT_AFS
61 #define MOUNT_AFS AFS_MOUNT_AFS
62 #endif
63 #define SYS_NAME        "i386_fbsd_46"
64 #define SYS_NAME_ID     SYS_NAME_ID_i386_fbsd_46
65
66 #define AFS_HAVE_FFS            1       /* Use system's ffs. */
67 #define AFS_HAVE_STATVFS        0       /* System doesn't supports statvfs */
68
69 #define RXK_LISTENER_ENV 1
70 #define AFS_GCPAGS              0       /* if nonzero, garbage collect PAGs */
71 #define AFS_USE_GETTIMEOFDAY    1       /* use gettimeofday to implement rx clock */
72
73 #define AFSLITTLE_ENDIAN 1
74
75 /* Extra kernel definitions (from kdefs file) */
76 #ifdef _KERNEL
77 #define AFS_GLOBAL_SUNLOCK        1
78 #define AFS_VFS34       1       /* What is VFS34??? */
79 #define AFS_SHORTGID    1       /* are group id's short? */
80 #define afsio_iov       uio_iov
81 #define afsio_iovcnt    uio_iovcnt
82 #define afsio_offset    uio_offset
83 #define afsio_seg       uio_segflg
84 #define afsio_resid     uio_resid
85 #define AFS_UIOSYS      UIO_SYSSPACE
86 #define AFS_UIOUSER     UIO_USERSPACE
87 #define AFS_CLBYTES     CLBYTES
88 #define osi_GetTime(x)  microtime(x)
89 #define AFS_KALLOC(x)   osi_fbsd_alloc((x), 1)
90 #undef  AFS_KALLOC_NOSLEEP
91 #define AFS_KALLOC_NOSLEEP(x) osi_fbsd_alloc((x), 0)
92 #define AFS_KFREE(x,y)  osi_fbsd_free((x))
93 #define v_count         v_usecount
94 #define v_vfsp          v_mount
95 #define vfs_bsize       mnt_stat.f_bsize
96 #define vfs_fsid        mnt_stat.f_fsid
97 #define va_nodeid       va_fileid
98 #define vfs_vnodecovered mnt_vnodecovered
99 #define direct          dirent
100 #define vnode_t         struct vnode
101
102 #ifndef MUTEX_DEFAULT
103 #define MUTEX_DEFAULT   0
104 #endif /* MUTEX_DEFAULT */
105
106 #ifndef SSYS
107 #define SSYS            0x00002
108 #endif /* SSYS */
109
110 #define p_rcred         p_ucred
111
112 #if     !defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__)
113 enum vcexcl { NONEXCL, EXCL };
114
115 #ifdef KERNEL
116 #ifndef MIN
117 #define MIN(A,B) ((A) < (B) ? (A) : (B))
118 #endif
119 #ifndef MAX
120 #define MAX(A,B) ((A) > (B) ? (A) : (B))
121 #endif
122 #endif /* KERNEL */
123
124 #endif /* ! ASSEMBLER & ! __LANGUAGE_ASSEMBLY__ */
125 #endif /* _KERNEL */
126
127 #endif /* AFS_PARAM_H */
128
129 #else /* !defined(UKERNEL) */
130
131 /* This section for user space compiles only */
132
133 #ifndef AFS_PARAM_H
134 #define AFS_PARAM_H
135
136
137 #define UKERNEL                 1       /* user space kernel */
138 #define AFS_ENV                 1
139 #define AFS_VFSINCL_ENV         1
140 #define AFS_USR_FBSD40_ENV      1
141 #define AFS_USR_FBSD42_ENV      1
142 #define AFS_USR_FBSD43_ENV      1
143 #define AFS_USR_FBSD44_ENV      1
144 #define AFS_USR_FBSD45_ENV      1
145 #define AFS_USR_FBSD46_ENV      1
146 #define AFS_USR_FBSD_ENV        1
147 #undef  AFS_NONFSTRANS
148 #define AFS_NONFSTRANS 1
149
150 #define O_SYNC O_FSYNC
151
152 #define AFS_MOUNT_AFS "afs"     /* The name of the filesystem type. */
153 #define AFS_SYSCALL 210
154 #define AFS_NAMEI_ENV         1 /* User space interface to file system */
155 #define AFS_64BIT_ENV 1
156 #define AFS_64BIT_IOPS_ENV    1 /* Needed for NAMEI */
157 #include <afs/afs_sysnames.h>
158
159 #define AFS_USERSPACE_IP_ADDR 1
160 #define RXK_LISTENER_ENV      1
161 #define AFS_GCPAGS            0 /* if nonzero, garbage collect PAGs */
162
163 /* Machine / Operating system information */
164 #define SYS_NAME        "i386_fbsd_46"
165 #define SYS_NAME_ID     SYS_NAME_ID_i386_fbsd_46
166 #define AFSLITTLE_ENDIAN    1
167 #define AFS_HAVE_FFS        1   /* Use system's ffs. */
168 #define AFS_HAVE_STATVFS    0   /* System doesn't support statvfs */
169 #define AFS_VM_RDWR_ENV     1   /* read/write implemented via VM */
170
171 #define afsio_iov       uio_iov
172 #define afsio_iovcnt    uio_iovcnt
173 #define afsio_offset    uio_offset
174 #define afsio_seg       uio_segflg
175 #define afsio_fmode     uio_fmode
176 #define afsio_resid     uio_resid
177 #define AFS_UIOSYS      1
178 #define AFS_UIOUSER     UIO_USERSPACE
179 #define AFS_CLBYTES     MCLBYTES
180 #define AFS_MINCHANGE   2
181 #define VATTR_NULL      usr_vattr_null
182
183 #define AFS_DIRENT
184 #ifndef CMSERVERPREF
185 #define CMSERVERPREF
186 #endif
187
188 #include <limits.h>
189 #include <sys/param.h>
190 #include <sys/types.h>
191 #include <sys/mount.h>
192 #include <sys/fcntl.h>
193 #include <netinet/in.h>
194 #include <sys/uio.h>
195 #include <sys/socket.h>
196
197 #endif /* AFS_PARAM_H */
198
199 #endif /* !defined(UKERNEL) */