Copyright (C) 2001 by Andreas Gruenbacher <a.gruenbacher@computer.org> Copyright (c) 2001-2002 Silicon Graphics, Inc. All Rights Reserved. Copyright (c) 2004 Red Hat, Inc., James Morris <jmorris@redhat.com>
*/ #ifndef _LINUX_XATTR_H #define _LINUX_XATTR_H
/* List of all open_how "versions". */ #define XATTR_ARGS_SIZE_VER0 16 /* sizeof first published struct */ #define XATTR_ARGS_SIZE_LATEST XATTR_ARGS_SIZE_VER0
/* * struct xattr_handler: When @name is set, match attributes with exactly that * name. When @prefix is set instead, match attributes with that prefix and * with a non-empty suffix.
*/ struct xattr_handler { constchar *name; constchar *prefix; int flags; /* fs private flags */ bool (*list)(struct dentry *dentry); int (*get)(conststruct xattr_handler *, struct dentry *dentry, struct inode *inode, constchar *name, void *buffer,
size_t size); int (*set)(conststruct xattr_handler *, struct mnt_idmap *idmap, struct dentry *dentry, struct inode *inode, constchar *name, constvoid *buffer,
size_t size, int flags);
};
/** * xattr_handler_can_list - check whether xattr can be listed * @handler: handler for this type of xattr * @dentry: dentry whose inode xattr to list * * Determine whether the xattr associated with @dentry can be listed given * @handler. * * Return: true if xattr can be listed, false if not.
*/ staticinlinebool xattr_handler_can_list(conststruct xattr_handler *handler, struct dentry *dentry)
{ return handler && (!handler->list || handler->list(dentry));
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.