version 1.51.8.3, 2006/04/18 15:57:54 |
version 1.51.8.4, 2006/05/03 16:00:34 |
|
|
#ifndef _UFS_FFS_FFS_EXTERN_H_ |
#ifndef _UFS_FFS_FFS_EXTERN_H_ |
#define _UFS_FFS_FFS_EXTERN_H_ |
#define _UFS_FFS_FFS_EXTERN_H_ |
|
|
#ifndef HAVE_NBTOOL_CONFIG_H |
#if defined(_KERNEL) |
#include <sys/kauth.h> |
#include <sys/kauth.h> |
#else |
#endif /* defined(_KERNEL) */ |
typedef void *kauth_cred_t; |
|
#endif /* !HAVE_NBTOOL_CONFIG_H */ |
|
|
|
/* |
/* |
* Sysctl values for the fast filesystem. |
* Sysctl values for the fast filesystem. |
Line 50 typedef void *kauth_cred_t; |
|
Line 48 typedef void *kauth_cred_t; |
|
#define FFS_LOG_CHANGEOPT 5 /* log optimalization strategy change */ |
#define FFS_LOG_CHANGEOPT 5 /* log optimalization strategy change */ |
#define FFS_MAXID 6 /* number of valid ffs ids */ |
#define FFS_MAXID 6 /* number of valid ffs ids */ |
|
|
#define FFS_NAMES { \ |
|
{ 0, 0 }, \ |
|
{ "doclusterread", CTLTYPE_INT }, \ |
|
{ "doclusterwrite", CTLTYPE_INT }, \ |
|
{ "doreallocblks", CTLTYPE_INT }, \ |
|
{ "doasyncfree", CTLTYPE_INT }, \ |
|
{ "log_changeopt", CTLTYPE_INT }, \ |
|
} |
|
|
|
#define FFS_ITIMES(ip, acc, mod, cre) \ |
|
while ((ip)->i_flag & (IN_ACCESS | IN_CHANGE | IN_UPDATE | IN_MODIFY)) \ |
|
ffs_itimes(ip, acc, mod, cre) |
|
|
|
struct buf; |
struct buf; |
struct fid; |
struct fid; |
struct fs; |
struct fs; |
|
|
struct mbuf; |
struct mbuf; |
struct cg; |
struct cg; |
|
|
|
#if defined(_KERNEL) |
|
|
|
#define FFS_ITIMES(ip, acc, mod, cre) \ |
|
while ((ip)->i_flag & (IN_ACCESS | IN_CHANGE | IN_UPDATE | IN_MODIFY)) \ |
|
ffs_itimes(ip, acc, mod, cre) |
|
|
extern struct pool ffs_inode_pool; /* memory pool for inodes */ |
extern struct pool ffs_inode_pool; /* memory pool for inodes */ |
extern struct pool ffs_dinode1_pool; /* memory pool for UFS1 dinodes */ |
extern struct pool ffs_dinode1_pool; /* memory pool for UFS1 dinodes */ |
extern struct pool ffs_dinode2_pool; /* memory pool for UFS2 dinodes */ |
extern struct pool ffs_dinode2_pool; /* memory pool for UFS2 dinodes */ |
|
|
|
#endif /* defined(_KERNEL) */ |
|
|
__BEGIN_DECLS |
__BEGIN_DECLS |
|
|
|
#if defined(_KERNEL) |
|
|
/* ffs_alloc.c */ |
/* ffs_alloc.c */ |
int ffs_alloc(struct inode *, daddr_t, daddr_t , int, kauth_cred_t, |
int ffs_alloc(struct inode *, daddr_t, daddr_t , int, kauth_cred_t, |
daddr_t *); |
daddr_t *); |
Line 108 int ffs_checkfreefile(struct fs *, struc |
|
Line 103 int ffs_checkfreefile(struct fs *, struc |
|
int ffs_balloc(struct vnode *, off_t, int, kauth_cred_t, int, |
int ffs_balloc(struct vnode *, off_t, int, kauth_cred_t, int, |
struct buf **); |
struct buf **); |
|
|
/* ffs_bswap.c */ |
|
void ffs_sb_swap(struct fs*, struct fs *); |
|
void ffs_dinode1_swap(struct ufs1_dinode *, struct ufs1_dinode *); |
|
void ffs_dinode2_swap(struct ufs2_dinode *, struct ufs2_dinode *); |
|
struct csum; |
|
void ffs_csum_swap(struct csum *, struct csum *, int); |
|
struct csum_total; |
|
void ffs_csumtotal_swap(struct csum_total *, struct csum_total *); |
|
void ffs_cg_swap(struct cg *, struct cg *, struct fs *); |
|
|
|
/* ffs_inode.c */ |
/* ffs_inode.c */ |
int ffs_update(struct vnode *, const struct timespec *, |
int ffs_update(struct vnode *, const struct timespec *, |
const struct timespec *, int); |
const struct timespec *, int); |
int ffs_truncate(struct vnode *, off_t, int, kauth_cred_t, struct lwp *); |
int ffs_truncate(struct vnode *, off_t, int, kauth_cred_t, struct lwp *); |
|
|
/* ffs_subr.c */ |
|
void ffs_load_inode(struct buf *, struct inode *, struct fs *, ino_t); |
|
int ffs_freefile(struct fs *, struct vnode *, ino_t, int); |
|
void ffs_fragacct(struct fs *, int, int32_t[], int, int); |
|
int ffs_isblock(struct fs *, u_char *, int32_t); |
|
int ffs_isfreeblock(struct fs *, u_char *, int32_t); |
|
void ffs_clrblock(struct fs *, u_char *, int32_t); |
|
void ffs_setblock(struct fs *, u_char *, int32_t); |
|
void ffs_itimes(struct inode *, const struct timespec *, |
|
const struct timespec *, const struct timespec *); |
|
|
|
/* ffs_vfsops.c */ |
/* ffs_vfsops.c */ |
void ffs_init(void); |
void ffs_init(void); |
void ffs_reinit(void); |
void ffs_reinit(void); |
Line 155 int ffs_extattrctl(struct mount *, int, |
|
Line 129 int ffs_extattrctl(struct mount *, int, |
|
int ffs_sbupdate(struct ufsmount *, int); |
int ffs_sbupdate(struct ufsmount *, int); |
int ffs_cgupdate(struct ufsmount *, int); |
int ffs_cgupdate(struct ufsmount *, int); |
|
|
/* ffs_appleufs.c */ |
|
struct appleufslabel; |
|
u_int16_t ffs_appleufs_cksum(const struct appleufslabel *); |
|
int ffs_appleufs_validate(const char*, const struct appleufslabel *, |
|
struct appleufslabel *); |
|
void ffs_appleufs_set(struct appleufslabel *, const char *, time_t, |
|
uint64_t); |
|
|
|
|
|
/* ffs_vnops.c */ |
/* ffs_vnops.c */ |
int ffs_read(void *); |
int ffs_read(void *); |
int ffs_write(void *); |
int ffs_write(void *); |
Line 182 int ffs_deleteextattr(void *); |
|
Line 147 int ffs_deleteextattr(void *); |
|
SYSCTL_SETUP_PROTO(sysctl_vfs_ffs_setup); |
SYSCTL_SETUP_PROTO(sysctl_vfs_ffs_setup); |
#endif /* SYSCTL_SETUP_PROTO */ |
#endif /* SYSCTL_SETUP_PROTO */ |
|
|
__END_DECLS |
|
|
|
|
|
/* |
/* |
* Snapshot function prototypes. |
* Snapshot function prototypes. |
*/ |
*/ |
Line 224 extern int (**ffs_vnodeop_p)(void *); |
|
Line 186 extern int (**ffs_vnodeop_p)(void *); |
|
extern int (**ffs_specop_p)(void *); |
extern int (**ffs_specop_p)(void *); |
extern int (**ffs_fifoop_p)(void *); |
extern int (**ffs_fifoop_p)(void *); |
|
|
|
#endif /* defined(_KERNEL) */ |
|
|
|
/* ffs_appleufs.c */ |
|
struct appleufslabel; |
|
u_int16_t ffs_appleufs_cksum(const struct appleufslabel *); |
|
int ffs_appleufs_validate(const char*, const struct appleufslabel *, |
|
struct appleufslabel *); |
|
void ffs_appleufs_set(struct appleufslabel *, const char *, time_t, |
|
uint64_t); |
|
|
|
/* ffs_bswap.c */ |
|
void ffs_sb_swap(struct fs*, struct fs *); |
|
void ffs_dinode1_swap(struct ufs1_dinode *, struct ufs1_dinode *); |
|
void ffs_dinode2_swap(struct ufs2_dinode *, struct ufs2_dinode *); |
|
struct csum; |
|
void ffs_csum_swap(struct csum *, struct csum *, int); |
|
struct csum_total; |
|
void ffs_csumtotal_swap(struct csum_total *, struct csum_total *); |
|
void ffs_cg_swap(struct cg *, struct cg *, struct fs *); |
|
|
|
/* ffs_subr.c */ |
|
void ffs_load_inode(struct buf *, struct inode *, struct fs *, ino_t); |
|
int ffs_freefile(struct fs *, struct vnode *, ino_t, int); |
|
void ffs_fragacct(struct fs *, int, int32_t[], int, int); |
|
int ffs_isblock(struct fs *, u_char *, int32_t); |
|
int ffs_isfreeblock(struct fs *, u_char *, int32_t); |
|
void ffs_clrblock(struct fs *, u_char *, int32_t); |
|
void ffs_setblock(struct fs *, u_char *, int32_t); |
|
void ffs_itimes(struct inode *, const struct timespec *, |
|
const struct timespec *, const struct timespec *); |
|
|
|
__END_DECLS |
|
|
#endif /* !_UFS_FFS_FFS_EXTERN_H_ */ |
#endif /* !_UFS_FFS_FFS_EXTERN_H_ */ |