2 File: fs/devpts/xattr.h
4 Derived from fs/ext3/xattr.h, changed in the following ways:
5 drop everything related to persistent storage of EAs
6 pass dentry rather than inode to internal methods
7 only presently define a handler for security modules
10 #include <linux/config.h>
11 #include <linux/xattr.h>
14 #define DEVPTS_XATTR_INDEX_MAX 10
15 #define DEVPTS_XATTR_INDEX_SECURITY 1
17 # ifdef CONFIG_DEVPTS_FS_XATTR
19 struct devpts_xattr_handler
{
21 size_t (*list
)(struct dentry
*dentry
, char *buffer
);
22 int (*get
)(struct dentry
*dentry
, const char *name
, void *buffer
,
24 int (*set
)(struct dentry
*dentry
, const char *name
, const void *buffer
,
25 size_t size
, int flags
);
28 extern int devpts_xattr_register(int, struct devpts_xattr_handler
*);
29 extern void devpts_xattr_unregister(int, struct devpts_xattr_handler
*);
31 extern int devpts_setxattr(struct dentry
*, const char *, const void *, size_t, int);
32 extern ssize_t
devpts_getxattr(struct dentry
*, const char *, void *, size_t);
33 extern ssize_t
devpts_listxattr(struct dentry
*, char *, size_t);
34 extern int devpts_removexattr(struct dentry
*, const char *);
36 extern int init_devpts_xattr(void);
37 extern void exit_devpts_xattr(void);
39 # else /* CONFIG_DEVPTS_FS_XATTR */
40 # define devpts_setxattr NULL
41 # define devpts_getxattr NULL
42 # define devpts_listxattr NULL
43 # define devpts_removexattr NULL
46 init_devpts_xattr(void)
52 exit_devpts_xattr(void)
56 # endif /* CONFIG_DEVPTS_FS_XATTR */
58 extern struct devpts_xattr_handler devpts_xattr_security_handler
;