devfs.h (122524) | devfs.h (125855) |
---|---|
1/*- 2 * Copyright (c) 1992, 1993 3 * The Regents of the University of California. All rights reserved. 4 * Copyright (c) 2000 5 * Poul-Henning Kamp. All rights reserved. 6 * Copyright (c) 2002 7 * Dima Dorfman. All rights reserved. 8 * --- 19 unchanged lines hidden (view full) --- 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * @(#)kernfs.h 8.6 (Berkeley) 3/29/95 34 * From: FreeBSD: src/sys/miscfs/kernfs/kernfs.h 1.14 35 * | 1/*- 2 * Copyright (c) 1992, 1993 3 * The Regents of the University of California. All rights reserved. 4 * Copyright (c) 2000 5 * Poul-Henning Kamp. All rights reserved. 6 * Copyright (c) 2002 7 * Dima Dorfman. All rights reserved. 8 * --- 19 unchanged lines hidden (view full) --- 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * @(#)kernfs.h 8.6 (Berkeley) 3/29/95 34 * From: FreeBSD: src/sys/miscfs/kernfs/kernfs.h 1.14 35 * |
36 * $FreeBSD: head/sys/fs/devfs/devfs.h 122524 2003-11-12 03:14:31Z rwatson $ | 36 * $FreeBSD: head/sys/fs/devfs/devfs.h 125855 2004-02-15 21:43:08Z phk $ |
37 */ 38 39#ifndef _FS_DEVFS_DEVFS_H_ 40#define _FS_DEVFS_DEVFS_H_ 41 42#define DEVFS_MAGIC 0xdb0a087a 43 44/* --- 96 unchanged lines hidden (view full) --- 141 */ 142#define DEVFSINOMOUNT 0x2000000 143 144#ifdef MALLOC_DECLARE 145MALLOC_DECLARE(M_DEVFS); 146#endif 147 148struct devfs_dirent { | 37 */ 38 39#ifndef _FS_DEVFS_DEVFS_H_ 40#define _FS_DEVFS_DEVFS_H_ 41 42#define DEVFS_MAGIC 0xdb0a087a 43 44/* --- 96 unchanged lines hidden (view full) --- 141 */ 142#define DEVFSINOMOUNT 0x2000000 143 144#ifdef MALLOC_DECLARE 145MALLOC_DECLARE(M_DEVFS); 146#endif 147 148struct devfs_dirent { |
149 int de_inode; 150 int de_flags; | 149 int de_inode; 150 int de_flags; |
151#define DE_WHITEOUT 0x1 152#define DE_DOT 0x2 153#define DE_DOTDOT 0x4 | 151#define DE_WHITEOUT 0x1 152#define DE_DOT 0x2 153#define DE_DOTDOT 0x4 |
154 struct dirent *de_dirent; | 154 struct dirent *de_dirent; |
155 TAILQ_ENTRY(devfs_dirent) de_list; 156 TAILQ_HEAD(, devfs_dirent) de_dlist; | 155 TAILQ_ENTRY(devfs_dirent) de_list; 156 TAILQ_HEAD(, devfs_dirent) de_dlist; |
157 struct devfs_dirent *de_dir; 158 int de_links; 159 mode_t de_mode; 160 uid_t de_uid; 161 gid_t de_gid; 162 struct label *de_label; 163 struct timespec de_atime; 164 struct timespec de_mtime; 165 struct timespec de_ctime; 166 struct vnode *de_vnode; 167 char * de_symlink; | 157 struct devfs_dirent *de_dir; 158 int de_links; 159 mode_t de_mode; 160 uid_t de_uid; 161 gid_t de_gid; 162 struct label *de_label; 163 struct timespec de_atime; 164 struct timespec de_mtime; 165 struct timespec de_ctime; 166 struct vnode *de_vnode; 167 char *de_symlink; |
168}; 169 170struct devfs_mount { | 168}; 169 170struct devfs_mount { |
171 struct mount *dm_mount; 172 struct devfs_dirent *dm_rootdir; 173 struct devfs_dirent *dm_basedir; 174 unsigned dm_generation; 175 struct devfs_dirent **dm_dirent; 176 struct devfs_dirent **dm_overflow; 177 int dm_inode; 178 struct lock dm_lock; 179 devfs_rsnum dm_ruleset; | 171 struct mount *dm_mount; 172 struct devfs_dirent *dm_rootdir; 173 struct devfs_dirent *dm_basedir; 174 unsigned dm_generation; 175 struct devfs_dirent **dm_dirent; 176 struct devfs_dirent **dm_overflow; 177 int dm_inode; 178 struct lock dm_lock; 179 devfs_rsnum dm_ruleset; |
180}; 181 182/* 183 * This is what we fill in dm_dirent[N] for a deleted entry. 184 */ 185#define DE_DELETED ((struct devfs_dirent *)sizeof(struct devfs_dirent)) 186 187#define VFSTODEVFS(mp) ((struct devfs_mount *)((mp)->mnt_data)) 188 189void devfs_rules_apply(struct devfs_mount *dm, struct devfs_dirent *de); | 180}; 181 182/* 183 * This is what we fill in dm_dirent[N] for a deleted entry. 184 */ 185#define DE_DELETED ((struct devfs_dirent *)sizeof(struct devfs_dirent)) 186 187#define VFSTODEVFS(mp) ((struct devfs_mount *)((mp)->mnt_data)) 188 189void devfs_rules_apply(struct devfs_mount *dm, struct devfs_dirent *de); |
190void devfs_rules_init(void); | |
191int devfs_rules_ioctl(struct mount *mp, u_long cmd, caddr_t data, struct thread *td); 192void devfs_rules_newmount(struct devfs_mount *dm, struct thread *td); 193int devfs_allocv (struct devfs_dirent *de, struct mount *mp, struct vnode **vpp, struct thread *td); 194dev_t *devfs_itod (int inode); 195struct devfs_dirent **devfs_itode (struct devfs_mount *dm, int inode); 196int devfs_populate (struct devfs_mount *dm); 197struct devfs_dirent *devfs_newdirent (char *name, int namelen); 198void devfs_purge (struct devfs_dirent *dd); 199struct devfs_dirent *devfs_vmkdir (char *name, int namelen, struct devfs_dirent *dotdot); 200 201#endif /* _KERNEL */ 202 203#endif /* !_FS_DEVFS_DEVFS_H_ */ | 190int devfs_rules_ioctl(struct mount *mp, u_long cmd, caddr_t data, struct thread *td); 191void devfs_rules_newmount(struct devfs_mount *dm, struct thread *td); 192int devfs_allocv (struct devfs_dirent *de, struct mount *mp, struct vnode **vpp, struct thread *td); 193dev_t *devfs_itod (int inode); 194struct devfs_dirent **devfs_itode (struct devfs_mount *dm, int inode); 195int devfs_populate (struct devfs_mount *dm); 196struct devfs_dirent *devfs_newdirent (char *name, int namelen); 197void devfs_purge (struct devfs_dirent *dd); 198struct devfs_dirent *devfs_vmkdir (char *name, int namelen, struct devfs_dirent *dotdot); 199 200#endif /* _KERNEL */ 201 202#endif /* !_FS_DEVFS_DEVFS_H_ */ |