Print this page
Update from fsd_sep3 webrev to fsd_sep9
*** 26,52 ****
#endif
typedef id_t fsh_handle_t;
typedef id_t fsh_callback_handle_t;
- struct fsh_int;
- typedef struct fsh_int fsh_int_t;
-
typedef struct fsh {
void *arg;
void (*remove_cb)(void *, fsh_handle_t);
/* vnode */
! int (*read)(fsh_int_t *, void *, vnode_t *, uio_t *, int, cred_t *,
caller_context_t *);
! int (*write)(fsh_int_t *, void *, vnode_t *, uio_t *, int, cred_t *,
! caller_context_t *);
/* vfs */
! int (*mount)(fsh_int_t *, void *, vfs_t *, vnode_t *, struct mounta *,
! cred_t *);
! int (*unmount)(fsh_int_t *, void *, vfs_t *, int, cred_t *);
} fsh_t;
typedef struct fsh_callback {
void *fshc_arg;
void (*fshc_free)(vfs_t *, void *);
--- 26,56 ----
#endif
typedef id_t fsh_handle_t;
typedef id_t fsh_callback_handle_t;
typedef struct fsh {
void *arg;
void (*remove_cb)(void *, fsh_handle_t);
/* vnode */
! void (*pre_read)(void *, void **, vnode_t **, uio_t **, int *,
! cred_t **, caller_context_t **);
! int (*post_read)(int, void *, void *, vnode_t *, uio_t *, int, cred_t *,
caller_context_t *);
! void (*pre_write)(void *, void **, vnode_t **, uio_t **, int *,
! cred_t **, caller_context_t **);
! int (*post_write)(int, void *, void *, vnode_t *, uio_t *, int,
! cred_t *, caller_context_t *);
/* vfs */
! void (*pre_mount)(void *, void **, vfs_t **, vnode_t **,
! struct mounta **, cred_t **);
! int (*post_mount)(int, void *, void *, vfs_t *, vnode_t *,
! struct mounta *, cred_t *);
! void (*pre_unmount)(void *, void **, vfs_t **, int *, cred_t **);
! int (*post_unmount)(int, void *, void *, vfs_t *, int, cred_t *);
} fsh_t;
typedef struct fsh_callback {
void *fshc_arg;
void (*fshc_free)(vfs_t *, void *);
*** 61,80 ****
extern int fsh_callback_remove(fsh_callback_handle_t);
extern void fsh_fs_enable(vfs_t *);
extern void fsh_fs_disable(vfs_t *);
- /* fsh control passing */
- extern int fsh_next_read(fsh_int_t *, vnode_t *, uio_t *, int, cred_t *,
- caller_context_t *);
- extern int fsh_next_write(fsh_int_t *, vnode_t *, uio_t *, int, cred_t *,
- caller_context_t *);
-
- extern int fsh_next_mount(fsh_int_t *, vfs_t *, vnode_t *, struct mounta *uap,
- cred_t *);
- extern int fsh_next_unmount(fsh_int_t *, vfs_t *, int, cred_t *);
-
#ifdef __cplusplus
}
#endif
#endif /* _FSH_H */
--- 65,74 ----