OLD | NEW |
| (Empty) |
1 #ifndef _system_filesys_h | |
2 #define _system_filesys_h | |
3 /* | |
4 Unix SMB/CIFS implementation. | |
5 | |
6 filesystem system include wrappers | |
7 | |
8 Copyright (C) Andrew Tridgell 2004 | |
9 | |
10 ** NOTE! The following LGPL license applies to the replace | |
11 ** library. This does NOT imply that all of Samba is released | |
12 ** under the LGPL | |
13 | |
14 This library is free software; you can redistribute it and/or | |
15 modify it under the terms of the GNU Lesser General Public | |
16 License as published by the Free Software Foundation; either | |
17 version 3 of the License, or (at your option) any later version. | |
18 | |
19 This library is distributed in the hope that it will be useful, | |
20 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
21 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
22 Lesser General Public License for more details. | |
23 | |
24 You should have received a copy of the GNU Lesser General Public | |
25 License along with this library; if not, see <http://www.gnu.org/licenses/>. | |
26 | |
27 */ | |
28 | |
29 #include <unistd.h> | |
30 #include <sys/stat.h> | |
31 | |
32 #ifdef HAVE_SYS_PARAM_H | |
33 #include <sys/param.h> | |
34 #endif | |
35 | |
36 #ifdef HAVE_SYS_MOUNT_H | |
37 #include <sys/mount.h> | |
38 #endif | |
39 | |
40 #ifdef HAVE_MNTENT_H | |
41 #include <mntent.h> | |
42 #endif | |
43 | |
44 #ifdef HAVE_SYS_VFS_H | |
45 #include <sys/vfs.h> | |
46 #endif | |
47 | |
48 #ifdef HAVE_SYS_ACL_H | |
49 #include <sys/acl.h> | |
50 #endif | |
51 | |
52 #ifdef HAVE_ACL_LIBACL_H | |
53 #include <acl/libacl.h> | |
54 #endif | |
55 | |
56 #ifdef HAVE_SYS_FS_S5PARAM_H | |
57 #include <sys/fs/s5param.h> | |
58 #endif | |
59 | |
60 #if defined (HAVE_SYS_FILSYS_H) && !defined (_CRAY) | |
61 #include <sys/filsys.h> | |
62 #endif | |
63 | |
64 #ifdef HAVE_SYS_STATFS_H | |
65 # include <sys/statfs.h> | |
66 #endif | |
67 | |
68 #ifdef HAVE_DUSTAT_H | |
69 #include <sys/dustat.h> | |
70 #endif | |
71 | |
72 #ifdef HAVE_SYS_STATVFS_H | |
73 #include <sys/statvfs.h> | |
74 #endif | |
75 | |
76 #ifdef HAVE_SYS_FILIO_H | |
77 #include <sys/filio.h> | |
78 #endif | |
79 | |
80 #include <sys/file.h> | |
81 | |
82 #ifdef HAVE_FCNTL_H | |
83 #include <fcntl.h> | |
84 #else | |
85 #ifdef HAVE_SYS_FCNTL_H | |
86 #include <sys/fcntl.h> | |
87 #endif | |
88 #endif | |
89 | |
90 #ifdef HAVE_SYS_MODE_H | |
91 /* apparently AIX needs this for S_ISLNK */ | |
92 #ifndef S_ISLNK | |
93 #include <sys/mode.h> | |
94 #endif | |
95 #endif | |
96 | |
97 #ifdef HAVE_SYS_IOCTL_H | |
98 #include <sys/ioctl.h> | |
99 #endif | |
100 | |
101 /* | |
102 * Veritas File System. Often in addition to native. | |
103 * Quotas different. | |
104 */ | |
105 #if defined(HAVE_SYS_FS_VX_QUOTA_H) | |
106 #define VXFS_QUOTA | |
107 #endif | |
108 | |
109 #if HAVE_SYS_ATTRIBUTES_H | |
110 #include <sys/attributes.h> | |
111 #endif | |
112 | |
113 /* mutually exclusive (SuSE 8.2) */ | |
114 #if HAVE_ATTR_XATTR_H | |
115 #include <attr/xattr.h> | |
116 #elif HAVE_SYS_XATTR_H | |
117 #include <sys/xattr.h> | |
118 #endif | |
119 | |
120 | |
121 #ifdef HAVE_SYS_RESOURCE_H | |
122 #include <sys/resource.h> | |
123 #endif | |
124 | |
125 /* Some POSIX definitions for those without */ | |
126 | |
127 #ifndef S_IFDIR | |
128 #define S_IFDIR 0x4000 | |
129 #endif | |
130 #ifndef S_ISDIR | |
131 #define S_ISDIR(mode) ((mode & 0xF000) == S_IFDIR) | |
132 #endif | |
133 #ifndef S_IRWXU | |
134 #define S_IRWXU 00700 /* read, write, execute: owner */ | |
135 #endif | |
136 #ifndef S_IRUSR | |
137 #define S_IRUSR 00400 /* read permission: owner */ | |
138 #endif | |
139 #ifndef S_IWUSR | |
140 #define S_IWUSR 00200 /* write permission: owner */ | |
141 #endif | |
142 #ifndef S_IXUSR | |
143 #define S_IXUSR 00100 /* execute permission: owner */ | |
144 #endif | |
145 #ifndef S_IRWXG | |
146 #define S_IRWXG 00070 /* read, write, execute: group */ | |
147 #endif | |
148 #ifndef S_IRGRP | |
149 #define S_IRGRP 00040 /* read permission: group */ | |
150 #endif | |
151 #ifndef S_IWGRP | |
152 #define S_IWGRP 00020 /* write permission: group */ | |
153 #endif | |
154 #ifndef S_IXGRP | |
155 #define S_IXGRP 00010 /* execute permission: group */ | |
156 #endif | |
157 #ifndef S_IRWXO | |
158 #define S_IRWXO 00007 /* read, write, execute: other */ | |
159 #endif | |
160 #ifndef S_IROTH | |
161 #define S_IROTH 00004 /* read permission: other */ | |
162 #endif | |
163 #ifndef S_IWOTH | |
164 #define S_IWOTH 00002 /* write permission: other */ | |
165 #endif | |
166 #ifndef S_IXOTH | |
167 #define S_IXOTH 00001 /* execute permission: other */ | |
168 #endif | |
169 | |
170 #ifndef O_ACCMODE | |
171 #define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR) | |
172 #endif | |
173 | |
174 #ifndef MAXPATHLEN | |
175 #define MAXPATHLEN 256 | |
176 #endif | |
177 | |
178 #ifndef SEEK_SET | |
179 #define SEEK_SET 0 | |
180 #endif | |
181 | |
182 #ifdef _WIN32 | |
183 #define mkdir(d,m) _mkdir(d) | |
184 #endif | |
185 | |
186 #endif | |
OLD | NEW |