root/lib/replace/system/filesys.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


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

/* [<][>][^][v][top][bottom][index][help] */