1 /* 2 * Copyright (c) 1982, 1986, 1989 Regents of the University of California. 3 * All rights reserved. 4 * 5 * %sccs.include.redist.c% 6 * 7 * @(#)ufsmount.h 7.13 (Berkeley) 01/09/92 8 */ 9 10 struct buf; 11 struct inode; 12 struct nameidata; 13 struct timeval; 14 struct ucred; 15 struct uio; 16 struct vnode; 17 18 /* This structure describes the UFS specific mount structure data. */ 19 struct ufsmount { 20 struct mount *um_mountp; /* filesystem vfs structure */ 21 dev_t um_dev; /* device mounted */ 22 struct vnode *um_devvp; /* block device mounted vnode */ 23 union { /* pointer to superblock */ 24 struct lfs *lfs; /* LFS */ 25 struct fs *fs; /* FFS */ 26 } ufsmount_u; 27 #define um_fs ufsmount_u.fs 28 #define um_lfs ufsmount_u.lfs 29 struct vnode *um_quotas[MAXQUOTAS]; /* pointer to quota files */ 30 struct ucred *um_cred[MAXQUOTAS]; /* quota file access cred */ 31 time_t um_btime[MAXQUOTAS]; /* block quota time limit */ 32 time_t um_itime[MAXQUOTAS]; /* inode quota time limit */ 33 char um_qflags[MAXQUOTAS]; /* quota specific flags */ 34 struct netaddrhash um_defexported; /* Default export */ 35 struct netaddrhash *um_netaddr[NETHASHSZ+1]; /* Net addr hash lists */ 36 }; 37 /* 38 * Flags describing the state of quotas. 39 */ 40 #define QTF_OPENING 0x01 /* Q_QUOTAON in progress */ 41 #define QTF_CLOSING 0x02 /* Q_QUOTAOFF in progress */ 42 43 /* Convert mount ptr to ufsmount ptr. */ 44 #define VFSTOUFS(mp) ((struct ufsmount *)((mp)->mnt_data)) 45