2006-09-19 02:49:20 +04:00
# ifndef _system_filesys_h
# define _system_filesys_h
/*
Unix SMB / CIFS implementation .
filesystem system include wrappers
Copyright ( C ) Andrew Tridgell 2004
2007-06-02 13:10:08 +04:00
* * NOTE ! The following LGPL license applies to the replace
* * library . This does NOT imply that all of Samba is released
* * under the LGPL
2006-09-19 02:49:20 +04:00
2007-06-02 13:10:08 +04:00
This library is free software ; you can redistribute it and / or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation ; either
version 2 of the License , or ( at your option ) any later version .
This library is distributed in the hope that it will be useful ,
2006-09-19 02:49:20 +04:00
but WITHOUT ANY WARRANTY ; without even the implied warranty of
2007-06-02 13:10:08 +04:00
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the GNU
Lesser General Public License for more details .
You should have received a copy of the GNU Lesser General Public
License along with this library ; if not , write to the Free Software
Foundation , Inc . , 59 Temple Place , Suite 330 , Boston , MA 02111 - 1307 USA
2006-09-19 02:49:20 +04:00
*/
# include <unistd.h>
# include <sys/stat.h>
# ifdef HAVE_SYS_PARAM_H
# include <sys/param.h>
# endif
# ifdef HAVE_SYS_MOUNT_H
# include <sys/mount.h>
# endif
2007-06-02 13:10:08 +04:00
# ifdef HAVE_MNTENT_H
# include <mntent.h>
# endif
2006-09-19 02:49:20 +04:00
# ifdef HAVE_SYS_VFS_H
# include <sys/vfs.h>
# endif
# ifdef HAVE_SYS_ACL_H
# include <sys/acl.h>
# endif
2007-03-22 21:16:36 +03:00
# ifdef HAVE_ACL_LIBACL_H
2007-03-22 20:35:34 +03:00
# include <acl/libacl.h>
# endif
2006-09-19 02:49:20 +04:00
# ifdef HAVE_SYS_FS_S5PARAM_H
# include <sys/fs/s5param.h>
# endif
# if defined (HAVE_SYS_FILSYS_H) && !defined (_CRAY)
# include <sys/filsys.h>
# endif
# ifdef HAVE_SYS_STATFS_H
# include <sys / statfs.h>
# endif
# ifdef HAVE_DUSTAT_H
# include <sys/dustat.h>
# endif
# ifdef HAVE_SYS_STATVFS_H
# include <sys/statvfs.h>
# endif
# ifdef HAVE_SYS_FILIO_H
# include <sys/filio.h>
# endif
# include <sys/file.h>
# ifdef HAVE_FCNTL_H
# include <fcntl.h>
# else
# ifdef HAVE_SYS_FCNTL_H
# include <sys/fcntl.h>
# endif
# endif
# ifdef HAVE_SYS_MODE_H
/* apparently AIX needs this for S_ISLNK */
# ifndef S_ISLNK
# include <sys/mode.h>
# endif
# endif
# ifdef HAVE_SYS_IOCTL_H
# include <sys/ioctl.h>
# endif
/*
* Veritas File System . Often in addition to native .
* Quotas different .
*/
# if defined(HAVE_SYS_FS_VX_QUOTA_H)
# define VXFS_QUOTA
# endif
# if HAVE_SYS_ATTRIBUTES_H
# include <sys/attributes.h>
# endif
/* mutually exclusive (SuSE 8.2) */
# if HAVE_ATTR_XATTR_H
# include <attr/xattr.h>
# elif HAVE_SYS_XATTR_H
# include <sys/xattr.h>
# endif
# ifdef HAVE_SYS_RESOURCE_H
# include <sys/resource.h>
# endif
/* Some POSIX definitions for those without */
# ifndef S_IFDIR
# define S_IFDIR 0x4000
# endif
# ifndef S_ISDIR
# define S_ISDIR(mode) ((mode & 0xF000) == S_IFDIR)
# endif
# ifndef S_IRWXU
# define S_IRWXU 00700 /* read, write, execute: owner */
# endif
# ifndef S_IRUSR
# define S_IRUSR 00400 /* read permission: owner */
# endif
# ifndef S_IWUSR
# define S_IWUSR 00200 /* write permission: owner */
# endif
# ifndef S_IXUSR
# define S_IXUSR 00100 /* execute permission: owner */
# endif
# ifndef S_IRWXG
# define S_IRWXG 00070 /* read, write, execute: group */
# endif
# ifndef S_IRGRP
# define S_IRGRP 00040 /* read permission: group */
# endif
# ifndef S_IWGRP
# define S_IWGRP 00020 /* write permission: group */
# endif
# ifndef S_IXGRP
# define S_IXGRP 00010 /* execute permission: group */
# endif
# ifndef S_IRWXO
# define S_IRWXO 00007 /* read, write, execute: other */
# endif
# ifndef S_IROTH
# define S_IROTH 00004 /* read permission: other */
# endif
# ifndef S_IWOTH
# define S_IWOTH 00002 /* write permission: other */
# endif
# ifndef S_IXOTH
# define S_IXOTH 00001 /* execute permission: other */
# endif
# ifndef O_ACCMODE
# define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR)
# endif
# ifndef MAXPATHLEN
# define MAXPATHLEN 256
# endif
# ifndef SEEK_SET
# define SEEK_SET 0
# endif
# endif