| 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 |