78d7d141c1bb6322d80127dbda29d09859bba2bb
[gnulib.git] / lib / se-selinux.in.h
1 /* Replacement <selinux/selinux.h> for platforms that lack it.
2    Copyright (C) 2008-2012 Free Software Foundation, Inc.
3
4    This program is free software: you can redistribute it and/or modify
5    it under the terms of the GNU General Public License as published by
6    the Free Software Foundation; either version 3 of the License, or
7    (at your option) any later version.
8
9    This program is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12    GNU General Public License for more details.
13
14    You should have received a copy of the GNU General Public License
15    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
16
17 #ifndef _@GUARD_PREFIX@_SELINUX_SELINUX_H
18 # define _@GUARD_PREFIX@_SELINUX_SELINUX_H
19
20 # if __GNUC__ >= 3
21 @PRAGMA_SYSTEM_HEADER@
22 # endif
23 @PRAGMA_COLUMNS@
24
25 # if HAVE_SELINUX_SELINUX_H
26
27 #@INCLUDE_NEXT@ @NEXT_SELINUX_SELINUX_H@
28
29 # else
30
31 #  include <sys/types.h>
32 #  include <errno.h>
33
34 _GL_INLINE_HEADER_BEGIN
35 #  ifndef SE_SELINUX_INLINE
36 #   define SE_SELINUX_INLINE _GL_INLINE
37 #  endif
38
39 /* The definition of _GL_UNUSED_PARAMETER is copied here.  */
40
41 #  if !GNULIB_defined_security_types
42
43 typedef unsigned short security_class_t;
44 #   define security_context_t char*
45 #   define is_selinux_enabled() 0
46
47 SE_SELINUX_INLINE int
48 getcon (security_context_t *con _GL_UNUSED_PARAMETER)
49   { errno = ENOTSUP; return -1; }
50 SE_SELINUX_INLINE void
51 freecon (security_context_t con _GL_UNUSED_PARAMETER) {}
52
53 SE_SELINUX_INLINE int
54 getfscreatecon (security_context_t *con _GL_UNUSED_PARAMETER)
55   { errno = ENOTSUP; return -1; }
56 SE_SELINUX_INLINE int
57 setfscreatecon (security_context_t con _GL_UNUSED_PARAMETER)
58   { errno = ENOTSUP; return -1; }
59 SE_SELINUX_INLINE int
60 matchpathcon (char const *file _GL_UNUSED_PARAMETER,
61               mode_t m _GL_UNUSED_PARAMETER,
62   security_context_t *con _GL_UNUSED_PARAMETER)
63   { errno = ENOTSUP; return -1; }
64 SE_SELINUX_INLINE int
65 getfilecon (char const *file _GL_UNUSED_PARAMETER,
66             security_context_t *con _GL_UNUSED_PARAMETER)
67   { errno = ENOTSUP; return -1; }
68 SE_SELINUX_INLINE int
69 lgetfilecon (char const *file _GL_UNUSED_PARAMETER,
70              security_context_t *con _GL_UNUSED_PARAMETER)
71   { errno = ENOTSUP; return -1; }
72 SE_SELINUX_INLINE int
73 fgetfilecon (int fd, security_context_t *con _GL_UNUSED_PARAMETER)
74   { errno = ENOTSUP; return -1; }
75 SE_SELINUX_INLINE int
76 setfilecon (char const *file _GL_UNUSED_PARAMETER,
77             security_context_t con _GL_UNUSED_PARAMETER)
78   { errno = ENOTSUP; return -1; }
79 SE_SELINUX_INLINE int
80 lsetfilecon (char const *file _GL_UNUSED_PARAMETER,
81              security_context_t con _GL_UNUSED_PARAMETER)
82   { errno = ENOTSUP; return -1; }
83 SE_SELINUX_INLINE int
84 fsetfilecon (int fd _GL_UNUSED_PARAMETER,
85              security_context_t con _GL_UNUSED_PARAMETER)
86   { errno = ENOTSUP; return -1; }
87
88 SE_SELINUX_INLINE int
89 security_check_context (security_context_t con _GL_UNUSED_PARAMETER)
90   { errno = ENOTSUP; return -1; }
91 SE_SELINUX_INLINE int
92 security_check_context_raw (security_context_t con _GL_UNUSED_PARAMETER)
93   { errno = ENOTSUP; return -1; }
94 SE_SELINUX_INLINE int
95 setexeccon (security_context_t con _GL_UNUSED_PARAMETER)
96   { errno = ENOTSUP; return -1; }
97 SE_SELINUX_INLINE int
98 security_compute_create (security_context_t scon _GL_UNUSED_PARAMETER,
99                          security_context_t tcon _GL_UNUSED_PARAMETER,
100                          security_class_t tclass _GL_UNUSED_PARAMETER,
101                          security_context_t *newcon _GL_UNUSED_PARAMETER)
102   { errno = ENOTSUP; return -1; }
103 SE_SELINUX_INLINE int
104 matchpathcon_init_prefix (char const *path _GL_UNUSED_PARAMETER,
105                           char const *prefix _GL_UNUSED_PARAMETER)
106   { errno = ENOTSUP; return -1; }
107
108 #   define GNULIB_defined_security_types 1
109 #  endif
110
111 _GL_INLINE_HEADER_BEGIN
112
113 # endif
114 #endif /* _@GUARD_PREFIX@_SELINUX_SELINUX_H */