[BACK]Return to xfs_attr.h CVS log [TXT][DIR] Up to [Development] / xfs-linux

File: [Development] / xfs-linux / xfs_attr.h (download)

Revision 1.6, Tue Oct 17 08:19:59 1995 UTC (22 years ago) by ack
Branch: MAIN
Changes since 1.5: +8 -1 lines

auto-merge of changes from /hosts/clyde/proj/banyan/isms/irix/kern/fs/xfs/RCS/xfs_attr.h,v
> ----------------------------
> revision 1.6
> date: 1995/10/13 16:11:16;  author: ajs;  state: Exp;  lines: +8 -1
> Put XFS tracing under ifdefs separate from DEBUG
> =============================================================================

#ifndef _FS_XFS_ATTR_H
#define	_FS_XFS_ATTR_H

#ident	"$Revision$"

/*
 * xfs_attr.h
 *
 * Large attribute lists are structured around Btrees where all the data
 * elements are in the leaf nodes.  Attribute names are hashed into an int,
 * then that int is used as the index into the Btree.  Since the hashval
 * of an attribute name may not be unique, we may have duplicate keys.
 * The internal links in the Btree are logical block offsets into the file.
 *
 * Small attribute lists use a different format and are packed as tightly
 * as possible so as to fit into the literal area of the inode.
 */

#ifdef XFS_ALL_TRACE
#define	XFS_ATTR_TRACE
#endif

#if !defined(DEBUG) || defined(SIM)
#undef XFS_ATTR_TRACE
#endif

/*========================================================================
 * Function prototypes for the kernel.
 *========================================================================*/

struct cred;
struct vnode;
struct xfs_inode;
struct attrlist_cursor_kern;

/*
 * Overall external interface routines.
 */
int xfs_attr_get(struct vnode *, char *, char *, int *, int, struct cred *);
int xfs_attr_set(struct vnode *, char *, char *, int, int, struct cred *);
int xfs_attr_remove(struct vnode *, char *, int, struct cred *);
int xfs_attr_list(struct vnode *, char *, int, int,
			 struct attrlist_cursor_kern *, struct cred *);
int xfs_attr_inactive(struct xfs_inode *dp);
#endif	/* !_FS_XFS_ATTR_H */