1 #ifndef AFS_PARAM_COMMON_H
2 #define AFS_PARAM_COMMON_H
4 #define AFSLITTLE_ENDIAN 1
5 #define AFS_HAVE_FFS 1 /* Use system's ffs. */
6 #define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
9 /* This section for kernel libafs compiles only */
12 #include <sys/param.h>
15 #define AFS_XBSD_ENV 1 /* {Free,Open,Net}BSD */
16 #define AFS_X86_XBSD_ENV 1
18 #define AFS_NAMEI_ENV 1 /* User space interface to file system */
19 #define AFS_64BIT_CLIENT 1
20 #define AFS_64BIT_IOPS_ENV 1 /* Needed for NAMEI */
21 #define AFS_FBSD_ENV 1
22 #define AFS_X86_FBSD_ENV 1
25 #define AFS_NONFSTRANS 1
26 #define FTRUNC O_TRUNC
33 #define IN_LOCK(ip) lockmgr(&ip->i_lock, LK_EXCLUSIVE, \
35 #define IN_UNLOCK(ip) lockmgr(&ip->i_lock, LK_RELEASE, \
38 #include <afs/afs_sysnames.h>
41 #define AFS_VFSINCL_ENV 1
42 #define AFS_GREEDY43_ENV 1
45 #define AFS_SYSCALL 339
46 #define AFS_MOUNT_AFS "afs"
49 #define MOUNT_UFS "ufs"
53 #define MOUNT_AFS AFS_MOUNT_AFS
56 #define RXK_LISTENER_ENV 1
57 #define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
58 #define AFS_USE_GETTIMEOFDAY 1 /* use gettimeofday to implement rx clock */
60 /* Extra kernel definitions (from kdefs file) */
62 #define AFS_GLOBAL_SUNLOCK 1
63 #define AFS_VFS34 1 /* What is VFS34??? */
64 #define afsio_iov uio_iov
65 #define afsio_iovcnt uio_iovcnt
66 #define afsio_offset uio_offset
67 #define afsio_seg uio_segflg
68 #define afsio_resid uio_resid
69 #define AFS_UIOSYS UIO_SYSSPACE
70 #define AFS_UIOUSER UIO_USERSPACE
71 #define AFS_CLBYTES CLBYTES
72 #define osi_GetTime(x) microtime(x)
73 #define AFS_KALLOC(x) osi_fbsd_alloc((x), 1)
74 #undef AFS_KALLOC_NOSLEEP
75 #define AFS_KALLOC_NOSLEEP(x) osi_fbsd_alloc((x), 0)
76 #define AFS_KFREE(x,y) osi_fbsd_free((x))
77 #define v_count v_usecount
78 #define v_vfsp v_mount
79 #define vfs_bsize mnt_stat.f_bsize
80 #define vfs_fsid mnt_stat.f_fsid
81 #define va_nodeid va_fileid
82 #define vfs_vnodecovered mnt_vnodecovered
84 #define vnode_t struct vnode
87 #define MUTEX_DEFAULT 0
88 #endif /* MUTEX_DEFAULT */
94 #define p_rcred p_ucred
96 # if !defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__)
97 enum vcexcl { NONEXCL, EXCL };
101 # define MIN(A,B) ((A) < (B) ? (A) : (B))
104 # define MAX(A,B) ((A) > (B) ? (A) : (B))
108 # endif /* ! ASSEMBLER & ! __LANGUAGE_ASSEMBLY__ */
112 * Consolidate version checks into configure-test-like definitions
115 /* r270870 moved if_data into ifnet to avoid namespace-stealing macros. */
116 #if __FreeBSD_version >= 1100030
117 #define FBSD_IF_METRIC_IN_STRUCT_IFNET
120 /* r271438 changed the ifa_ifwithnet KPI signature. */
121 #if __FreeBSD_version >= 1100032
122 #define FBSD_IFA_IFWITHNET_THREE_ARGS
125 /* r273707 added a flags argument to syscall_register() */
126 #if __FreeBSD_version >= 1100041
127 #define FBSD_SYSCALL_REGISTER_FOUR_ARGS
130 #else /* !defined(UKERNEL) */
132 /* This section for user space compiles only */
134 #define UKERNEL 1 /* user space kernel */
136 #define AFS_VFSINCL_ENV 1
137 #define AFS_USR_FBSD_ENV 1
138 #undef AFS_NONFSTRANS
139 #define AFS_NONFSTRANS 1
141 #define AFS_MOUNT_AFS "afs" /* The name of the filesystem type. */
142 #define AFS_SYSCALL 339
143 #define AFS_NAMEI_ENV 1 /* User space interface to file system */
144 #define AFS_64BIT_IOPS_ENV 1 /* Needed for NAMEI */
145 #define AFS_USERSPACE_IP_ADDR 1
146 #define RXK_LISTENER_ENV 1
147 #define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
148 #define AFS_HAVE_STATVFS 1 /* System supports statvfs */
150 #include <afs/afs_sysnames.h>
152 #define afsio_iov uio_iov
153 #define afsio_iovcnt uio_iovcnt
154 #define afsio_offset uio_offset
155 #define afsio_seg uio_segflg
156 #define afsio_fmode uio_fmode
157 #define afsio_resid uio_resid
159 #define AFS_UIOUSER UIO_USERSPACE
160 #define AFS_CLBYTES MCLBYTES
161 #define AFS_MINCHANGE 2
162 #define VATTR_NULL usr_vattr_null
169 #include <sys/param.h>
170 #include <sys/types.h>
171 #include <sys/mount.h>
172 #include <sys/fcntl.h>
174 #include <sys/socket.h>
175 #include <netinet/in.h>
178 #endif /* !defined(UKERNEL) */
180 #endif /* AFS_COMMON_PARAM_H */