File: [Development] / xfs-linux / xfs_utils.h (download)
Revision 1.9, Sun Jan 30 09:59:06 2000 UTC (17 years, 8 months ago) by kenmcd
Branch: MAIN
Changes since 1.8: +11 -16
lines
Encumbrance review done.
Add copyright and license words consistent with GPL.
Refer to http://fsg.melbourne.sgi.com/reviews/ for details.
There is a slight change in the license terms and conditions words
to go with the copyrights, so most of the files are not getting
new GPL's, just updated versions ... but there are 20-30 more files
here as well.
|
/*
* Copyright (C) 1999 Silicon Graphics, Inc. All Rights Reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
*/
#ifndef __XFS_UTILS_H__
#define __XFS_UTILS_H__
#define IRELE(ip) VN_RELE(XFS_ITOV(ip))
#define IHOLD(ip) VN_HOLD(XFS_ITOV(ip))
#define ITRACE(ip) vn_trace_ref(XFS_ITOV(ip), __FILE__, __LINE__, \
(inst_t *)__return_address)
#define DLF_IGET 0x01 /* get entry inode if name lookup succeeds */
#define DLF_NODNLC 0x02 /* don't use the dnlc */
#define DLF_LOCK_SHARED 0x04 /* directory locked shared */
struct bhv_desc;
struct cred;
struct ncfastdata;
struct pathname;
struct vnode;
struct xfs_inode;
struct xfs_mount;
struct xfs_trans;
extern int
xfs_rename(
struct bhv_desc *src_dir_bdp,
char *src_name,
struct vnode *target_dir_vp,
char *target_name,
struct pathname *target_pnp,
struct cred *credp);
extern int
xfs_link(
bhv_desc_t *target_dir_bdp,
struct vnode *src_vp,
char *target_name,
struct cred *credp);
#ifdef CELL_CAPABLE
extern int
cxfs_rename(
struct bhv_desc *src_dir_bdp,
char *src_name,
struct vnode *target_dir_vp,
char *target_name,
struct pathname *target_pnp,
struct cred *credp);
extern int
cxfs_link(
bhv_desc_t *target_dir_bdp,
struct vnode *src_vp,
char *target_name,
struct cred *credp);
#endif /* CELL_CAPABLE */
extern int
xfs_dir_lookup_int(
struct xfs_trans *tp,
struct bhv_desc *dir_bdp,
int flags,
char *name,
struct pathname *pnp,
xfs_ino_t *inum,
struct xfs_inode **ipp,
struct ncfastdata *fd,
uint *dir_unlocked);
extern int
xfs_truncate_file(
struct xfs_mount *mp,
struct xfs_inode *ip);
extern int
xfs_dir_ialloc(
struct xfs_trans **tpp,
struct xfs_inode *dp,
mode_t mode,
nlink_t nlink,
dev_t rdev,
struct cred *credp,
prid_t prid,
int okalloc,
struct xfs_inode **ipp,
int *committed);
extern int
xfs_stickytest(
struct xfs_inode *dp,
struct xfs_inode *ip,
struct cred *cr);
extern int
xfs_droplink(
struct xfs_trans *tp,
struct xfs_inode *ip);
extern int
xfs_bumplink(
struct xfs_trans *tp,
struct xfs_inode *ip);
extern void
xfs_bump_ino_vers2(
struct xfs_trans *tp,
struct xfs_inode *ip);
#if defined(DEBUG) || defined(INDUCE_IO_ERROR)
extern int
xfs_get_fsinfo(
int fd,
char **fsname,
int64_t *fsid);
#endif
extern int
xfs_mk_sharedro(
int fd);
extern int
xfs_clear_sharedro(
int fd);
extern int xfs_pre_rename(struct vnode *vp);
extern int xfs_pre_remove(struct vnode *vp);
extern int xfs_pre_rmdir(struct vnode *vp);
extern void xfs_post_rename(struct vnode *vp);
extern void xfs_post_remove(struct vnode * vp, int last_unlink);
extern void xfs_post_rmdir(struct vnode * vp, int last_unlink);
#ifdef DEBUG
extern int
xfs_isshutdown(
struct bhv_desc *bhv);
#endif
#endif /* XFS_UTILS_H */