]>
Commit | Line | Data |
---|---|---|
1efb473f BB |
1 | /* |
2 | * CDDL HEADER START | |
3 | * | |
4 | * The contents of this file are subject to the terms of the | |
5 | * Common Development and Distribution License (the "License"). | |
6 | * You may not use this file except in compliance with the License. | |
7 | * | |
8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE | |
9 | * or http://www.opensolaris.org/os/licensing. | |
10 | * See the License for the specific language governing permissions | |
11 | * and limitations under the License. | |
12 | * | |
13 | * When distributing Covered Code, include this CDDL HEADER in each | |
14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. | |
15 | * If applicable, add the following below this CDDL HEADER, with the | |
16 | * fields enclosed by brackets "[]" replaced with your own identifying | |
17 | * information: Portions Copyright [yyyy] [name of copyright owner] | |
18 | * | |
19 | * CDDL HEADER END | |
20 | */ | |
21 | /* | |
22 | * Copyright (c) 2011, Lawrence Livermore National Security, LLC. | |
23 | */ | |
24 | ||
25 | #ifndef _SYS_ZPL_H | |
26 | #define _SYS_ZPL_H | |
27 | ||
28 | #include <sys/vfs.h> | |
7268e1be | 29 | #include <linux/vfs_compat.h> |
777d4af8 | 30 | #include <linux/xattr_compat.h> |
1efb473f BB |
31 | |
32 | /* zpl_inode.c */ | |
33 | extern const struct inode_operations zpl_inode_operations; | |
34 | extern const struct inode_operations zpl_dir_inode_operations; | |
35 | extern const struct inode_operations zpl_symlink_inode_operations; | |
36 | extern const struct inode_operations zpl_special_inode_operations; | |
37 | ||
38 | /* zpl_file.c */ | |
39 | extern ssize_t zpl_read_common(struct inode *ip, const char *buf, | |
40 | size_t len, loff_t pos, uio_seg_t segment, int flags, cred_t *cr); | |
41 | extern ssize_t zpl_write_common(struct inode *ip, const char *buf, | |
42 | size_t len, loff_t pos, uio_seg_t segment, int flags, cred_t *cr); | |
43 | ||
44 | extern const struct address_space_operations zpl_address_space_operations; | |
45 | extern const struct file_operations zpl_file_operations; | |
46 | extern const struct file_operations zpl_dir_file_operations; | |
47 | ||
48 | /* zpl_super.c */ | |
49 | typedef struct zpl_mount_data { | |
50 | const char *z_osname; /* Dataset name */ | |
51 | void *z_data; /* Mount options string */ | |
52 | struct vfsmount *z_vfs; /* VFS mount point */ | |
53 | } zpl_mount_data_t; | |
54 | ||
55 | extern const struct super_operations zpl_super_operations; | |
56 | /* extern const struct export_operations zpl_export_operations; */ | |
57 | extern struct file_system_type zpl_fs_type; | |
58 | ||
59 | /* zpl_xattr.c */ | |
60 | extern ssize_t zpl_xattr_list(struct dentry *dentry, char *buf, size_t size); | |
61 | extern int zpl_xattr_security_init(struct inode *ip, struct inode *dip); | |
62 | ||
777d4af8 | 63 | extern xattr_handler_t *zpl_xattr_handlers[]; |
1efb473f BB |
64 | |
65 | #endif /* _SYS_ZPL_H */ |