replace: Try to fix broken sys/capabilites.h on Linux.
[kai/samba.git] / lib / replace / system / capability.h
1 #ifndef _system_capability_h
2 #define _system_capability_h
3 /* 
4    Unix SMB/CIFS implementation.
5
6    capability 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 #ifdef HAVE_SYS_CAPABILITY_H
29
30 #if defined(BROKEN_REDHAT_7_SYSTEM_HEADERS) && !defined(_I386_STATFS_H) && !defined(_PPC_STATFS_H)
31 #define _I386_STATFS_H
32 #define _PPC_STATFS_H
33 #define BROKEN_REDHAT_7_STATFS_WORKAROUND
34 #endif
35
36 #if defined(BROKEN_RHEL5_SYS_CAP_HEADER) && !defined(_LINUX_TYPES_H)
37 #define BROKEN_RHEL5_SYS_CAP_HEADER_WORKAROUND
38 #endif
39
40 #ifdef HAVE_LINUX_TYPES_H
41 #include <linux/types.h>
42 #endif
43
44 #include <sys/capability.h>
45
46 #ifdef BROKEN_RHEL5_SYS_CAP_HEADER_WORKAROUND
47 #undef _LINUX_TYPES_H
48 #undef BROKEN_RHEL5_SYS_CAP_HEADER_WORKAROUND
49 #endif
50
51 #ifdef BROKEN_REDHAT_7_STATFS_WORKAROUND
52 #undef _PPC_STATFS_H
53 #undef _I386_STATFS_H
54 #undef BROKEN_REDHAT_7_STATFS_WORKAROUND
55 #endif
56
57 #endif
58
59 #endif