Initial OpenBSD support. Most of user space builds. No kernel module yet.
[openafs.git] / src / config / param.i386_obsd29.h
1 /*
2  * Jim Rees, University of Michigan CITI
3  */
4
5 #ifndef AFS_PARAM_H
6 #define AFS_PARAM_H
7
8 #ifndef IGNORE_STDS_H
9 #include <sys/param.h>
10 #include <afs/afs_sysnames.h>
11 #endif
12
13 #define AFS_XBSD_ENV 1             /* {Free,Open,Net}BSD */
14 #define AFS_X86_XBSD_ENV 1
15
16 #define AFS_NAMEI_ENV     1   /* User space interface to file system */
17 #define AFS_64BIT_IOPS_ENV 1  /* Needed for NAMEI */
18 #define AFS_OBSD_ENV    1
19 #define AFS_NONFSTRANS 1
20 #define AFS_KERBEROS_ENV 1
21 #define FTRUNC O_TRUNC
22
23 #define IUPD 0x0010
24 #define IACC 0x0020
25 #define ICHG 0x0040
26 #define IMOD 0x0080
27
28 #define IN_LOCK(ip)     lockmgr(&ip->i_lock, LK_EXCLUSIVE, \
29                                 (struct simplelock *)0, curproc)
30 #define IN_UNLOCK(ip)   lockmgr(&ip->i_lock, LK_RELEASE, \
31                                 (struct simplelock *)0, curproc)
32
33 #define AFS_VM_RDWR_ENV 0
34 #define AFS_VFS_ENV     1
35 #define AFS_VFSINCL_ENV 1
36 #define AFS_GREEDY43_ENV        1
37 #define AFS_ENV         1
38
39 #define AFS_SYSCALL     210
40 #define AFS_MOUNT_AFS   "afs"
41
42 #if 0
43 #ifndef MOUNT_UFS
44 #define MOUNT_UFS "ufs"
45 #endif
46
47 #ifndef MOUNT_AFS
48 #define MOUNT_AFS AFS_MOUNT_AFS
49 #endif
50 #endif /* 0 */
51 #define SYS_NAME        "i386_obsd29"
52 #define SYS_NAME_ID     2002
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              0       /* if nonzero, garbage collect PAGs */
58 #define AFS_USE_GETTIMEOFDAY    1       /* use gettimeofday to implement rx clock */
59
60 #define AFSLITTLE_ENDIAN 1
61
62 /* Extra kernel definitions (from kdefs file) */
63 #ifdef _KERNEL
64 #define AFS_GLOBAL_SUNLOCK        1
65 #define AFS_VFS34       1       /* What is VFS34??? */
66 #define AFS_SHORTGID    0       /* are group id's short? */
67 #define afsio_iov       uio_iov
68 #define afsio_iovcnt    uio_iovcnt
69 #define afsio_offset    uio_offset
70 #define afsio_seg       uio_segflg
71 #define afsio_resid     uio_resid
72 #define AFS_UIOSYS      UIO_SYSSPACE
73 #define AFS_UIOUSER     UIO_USERSPACE
74 #define AFS_CLBYTES     MB_CLBYTES
75 #define osi_GetTime(x)  microtime(x)
76 #define AFS_KALLOC(x)   kalloc(x)
77 #define AFS_KFREE(x,y)  kfree(x,y)
78 #define v_count         v_usecount
79 #define v_vfsp          v_mount
80 #define vfs_bsize       mnt_stat.f_bsize
81 #define vfs_fsid        mnt_stat.f_fsid
82 #define va_nodeid       va_fileid
83 #define vfs_vnodecovered mnt_vnodecovered
84 #define direct          dirent
85 #define vnode_t         struct vnode
86
87 #ifndef MUTEX_DEFAULT
88 #define MUTEX_DEFAULT   0
89 #endif /* MUTEX_DEFAULT */
90
91 #ifndef SSYS
92 #define SSYS            0x00002
93 #endif /* SSYS */
94
95 #define p_rcred         p_ucred
96
97 #define VN_RELE(vp)     vrele(((struct vnode *)(vp)))
98 #define VN_HOLD(vp)     VREF(((struct vnode *)(vp)))
99
100 #if     !defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__)
101 enum vcexcl {NONEXCL, EXCL};
102
103 #ifdef KERNEL
104 #ifndef MIN
105 #define MIN(A,B) ((A) < (B) ? (A) : (B))
106 #endif
107 #ifndef MAX
108 #define MAX(A,B) ((A) > (B) ? (A) : (B))
109 #endif
110 #endif /* KERNEL */
111
112 #endif  /* ! ASSEMBLER & ! __LANGUAGE_ASSEMBLY__ */
113 #endif /* _KERNEL */
114
115 #endif  /* AFS_PARAM_H */