Changeset View
Changeset View
Standalone View
Standalone View
head/sys/sys/mount.h
Show First 20 Lines • Show All 493 Lines • ▼ Show 20 Lines | struct oexport_args { | ||||
struct sockaddr *ex_addr; /* net address to which exported */ | struct sockaddr *ex_addr; /* net address to which exported */ | ||||
u_char ex_addrlen; /* and the net address length */ | u_char ex_addrlen; /* and the net address length */ | ||||
struct sockaddr *ex_mask; /* mask of valid bits in saddr */ | struct sockaddr *ex_mask; /* mask of valid bits in saddr */ | ||||
u_char ex_masklen; /* and the smask length */ | u_char ex_masklen; /* and the smask length */ | ||||
char *ex_indexfile; /* index file for WebNFS URLs */ | char *ex_indexfile; /* index file for WebNFS URLs */ | ||||
}; | }; | ||||
/* | /* | ||||
* Export arguments for local filesystem mount calls. | * Not quite so old export arguments with 32bit ex_flags and xucred ex_anon. | ||||
*/ | */ | ||||
#define MAXSECFLAVORS 5 | #define MAXSECFLAVORS 5 | ||||
struct export_args { | struct o2export_args { | ||||
int ex_flags; /* export related flags */ | int ex_flags; /* export related flags */ | ||||
uid_t ex_root; /* mapping for root uid */ | uid_t ex_root; /* mapping for root uid */ | ||||
struct xucred ex_anon; /* mapping for anonymous user */ | struct xucred ex_anon; /* mapping for anonymous user */ | ||||
struct sockaddr *ex_addr; /* net address to which exported */ | struct sockaddr *ex_addr; /* net address to which exported */ | ||||
u_char ex_addrlen; /* and the net address length */ | u_char ex_addrlen; /* and the net address length */ | ||||
struct sockaddr *ex_mask; /* mask of valid bits in saddr */ | struct sockaddr *ex_mask; /* mask of valid bits in saddr */ | ||||
u_char ex_masklen; /* and the smask length */ | u_char ex_masklen; /* and the smask length */ | ||||
char *ex_indexfile; /* index file for WebNFS URLs */ | char *ex_indexfile; /* index file for WebNFS URLs */ | ||||
int ex_numsecflavors; /* security flavor count */ | int ex_numsecflavors; /* security flavor count */ | ||||
int ex_secflavors[MAXSECFLAVORS]; /* list of security flavors */ | int ex_secflavors[MAXSECFLAVORS]; /* list of security flavors */ | ||||
}; | }; | ||||
/* | /* | ||||
* Export arguments for local filesystem mount calls. | |||||
*/ | |||||
#define MAXSECFLAVORS 5 | |||||
struct export_args { | |||||
uint64_t ex_flags; /* export related flags */ | |||||
uid_t ex_root; /* mapping for root uid */ | |||||
uid_t ex_uid; /* mapping for anonymous user */ | |||||
int ex_ngroups; | |||||
gid_t *ex_groups; | |||||
struct sockaddr *ex_addr; /* net address to which exported */ | |||||
u_char ex_addrlen; /* and the net address length */ | |||||
struct sockaddr *ex_mask; /* mask of valid bits in saddr */ | |||||
u_char ex_masklen; /* and the smask length */ | |||||
char *ex_indexfile; /* index file for WebNFS URLs */ | |||||
int ex_numsecflavors; /* security flavor count */ | |||||
int ex_secflavors[MAXSECFLAVORS]; /* list of security flavors */ | |||||
}; | |||||
/* | |||||
* Structure holding information for a publicly exported filesystem | * Structure holding information for a publicly exported filesystem | ||||
* (WebNFS). Currently the specs allow just for one such filesystem. | * (WebNFS). Currently the specs allow just for one such filesystem. | ||||
*/ | */ | ||||
struct nfs_public { | struct nfs_public { | ||||
int np_valid; /* Do we hold valid information */ | int np_valid; /* Do we hold valid information */ | ||||
fhandle_t np_handle; /* Filehandle for pub fs (internal) */ | fhandle_t np_handle; /* Filehandle for pub fs (internal) */ | ||||
struct mount *np_mount; /* Mountpoint of exported fs */ | struct mount *np_mount; /* Mountpoint of exported fs */ | ||||
char *np_index; /* Index file */ | char *np_index; /* Index file */ | ||||
▲ Show 20 Lines • Show All 162 Lines • ▼ Show 20 Lines | |||||
typedef int vfs_quotactl_t(struct mount *mp, int cmds, uid_t uid, void *arg); | typedef int vfs_quotactl_t(struct mount *mp, int cmds, uid_t uid, void *arg); | ||||
typedef int vfs_statfs_t(struct mount *mp, struct statfs *sbp); | typedef int vfs_statfs_t(struct mount *mp, struct statfs *sbp); | ||||
typedef int vfs_sync_t(struct mount *mp, int waitfor); | typedef int vfs_sync_t(struct mount *mp, int waitfor); | ||||
typedef int vfs_vget_t(struct mount *mp, ino_t ino, int flags, | typedef int vfs_vget_t(struct mount *mp, ino_t ino, int flags, | ||||
struct vnode **vpp); | struct vnode **vpp); | ||||
typedef int vfs_fhtovp_t(struct mount *mp, struct fid *fhp, | typedef int vfs_fhtovp_t(struct mount *mp, struct fid *fhp, | ||||
int flags, struct vnode **vpp); | int flags, struct vnode **vpp); | ||||
typedef int vfs_checkexp_t(struct mount *mp, struct sockaddr *nam, | typedef int vfs_checkexp_t(struct mount *mp, struct sockaddr *nam, | ||||
int *extflagsp, struct ucred **credanonp, | uint64_t *extflagsp, struct ucred **credanonp, | ||||
int *numsecflavors, int **secflavors); | int *numsecflavors, int *secflavors); | ||||
typedef int vfs_init_t(struct vfsconf *); | typedef int vfs_init_t(struct vfsconf *); | ||||
typedef int vfs_uninit_t(struct vfsconf *); | typedef int vfs_uninit_t(struct vfsconf *); | ||||
typedef int vfs_extattrctl_t(struct mount *mp, int cmd, | typedef int vfs_extattrctl_t(struct mount *mp, int cmd, | ||||
struct vnode *filename_vp, int attrnamespace, | struct vnode *filename_vp, int attrnamespace, | ||||
const char *attrname); | const char *attrname); | ||||
typedef int vfs_mount_t(struct mount *mp); | typedef int vfs_mount_t(struct mount *mp); | ||||
typedef int vfs_sysctl_t(struct mount *mp, fsctlop_t op, | typedef int vfs_sysctl_t(struct mount *mp, fsctlop_t op, | ||||
struct sysctl_req *req); | struct sysctl_req *req); | ||||
▲ Show 20 Lines • Show All 216 Lines • ▼ Show 20 Lines | |||||
struct cdev *vfs_getrootfsid(struct mount *); | struct cdev *vfs_getrootfsid(struct mount *); | ||||
struct mount *vfs_getvfs(fsid_t *); /* return vfs given fsid */ | struct mount *vfs_getvfs(fsid_t *); /* return vfs given fsid */ | ||||
struct mount *vfs_busyfs(fsid_t *); | struct mount *vfs_busyfs(fsid_t *); | ||||
int vfs_modevent(module_t, int, void *); | int vfs_modevent(module_t, int, void *); | ||||
void vfs_mount_error(struct mount *, const char *, ...); | void vfs_mount_error(struct mount *, const char *, ...); | ||||
void vfs_mountroot(void); /* mount our root filesystem */ | void vfs_mountroot(void); /* mount our root filesystem */ | ||||
void vfs_mountedfrom(struct mount *, const char *from); | void vfs_mountedfrom(struct mount *, const char *from); | ||||
void vfs_notify_upper(struct vnode *, int); | void vfs_notify_upper(struct vnode *, int); | ||||
void vfs_oexport_conv(const struct oexport_args *oexp, | |||||
struct export_args *exp); | |||||
void vfs_ref(struct mount *); | void vfs_ref(struct mount *); | ||||
void vfs_rel(struct mount *); | void vfs_rel(struct mount *); | ||||
struct mount *vfs_mount_alloc(struct vnode *, struct vfsconf *, const char *, | struct mount *vfs_mount_alloc(struct vnode *, struct vfsconf *, const char *, | ||||
struct ucred *); | struct ucred *); | ||||
int vfs_suser(struct mount *, struct thread *); | int vfs_suser(struct mount *, struct thread *); | ||||
void vfs_unbusy(struct mount *); | void vfs_unbusy(struct mount *); | ||||
void vfs_unmountall(void); | void vfs_unmountall(void); | ||||
extern TAILQ_HEAD(mntlist, mount) mountlist; /* mounted filesystem list */ | extern TAILQ_HEAD(mntlist, mount) mountlist; /* mounted filesystem list */ | ||||
▲ Show 20 Lines • Show All 129 Lines • Show Last 20 Lines |