1 /* Replacement <selinux/selinux.h> for platforms that lack it.
2    Copyright (C) 2008-2019 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 Lesser General Public License as published by
6    the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
13 
14    You should have received a copy of the GNU Lesser General Public License
15    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
16 
17 #if __GNUC__ >= 3
18 @PRAGMA_SYSTEM_HEADER@
19 #endif
20 @PRAGMA_COLUMNS@
21 
22 #if HAVE_SELINUX_SELINUX_H
23 
24 #@INCLUDE_NEXT@ @NEXT_SELINUX_SELINUX_H@
25 
26 #else
27 # if !defined _@GUARD_PREFIX@_SELINUX_SELINUX_H
28 #  define _@GUARD_PREFIX@_SELINUX_SELINUX_H
29 
30 #  include <sys/types.h>
31 #  include <errno.h>
32 
33 #  ifndef _GL_INLINE_HEADER_BEGIN
34     #error "Please include config.h first."
35 #  endif
36 _GL_INLINE_HEADER_BEGIN
37 #  ifndef SE_SELINUX_INLINE
38 #   define SE_SELINUX_INLINE _GL_INLINE
39 #  endif
40 
41 /* The definition of _GL_UNUSED_PARAMETER is copied here.  */
42 
43 #  if !GNULIB_defined_security_types
44 
45 typedef unsigned short security_class_t;
46 typedef char *security_context_t;
47 #   define is_selinux_enabled() 0
48 
49 SE_SELINUX_INLINE int
50 getcon (security_context_t *con _GL_UNUSED_PARAMETER)
51   { errno = ENOTSUP; return -1; }
52 SE_SELINUX_INLINE void
53 freecon (security_context_t con _GL_UNUSED_PARAMETER) {}
54 
55 SE_SELINUX_INLINE int
56 getfscreatecon (security_context_t *con _GL_UNUSED_PARAMETER)
57   { errno = ENOTSUP; return -1; }
58 SE_SELINUX_INLINE int
59 setfscreatecon (security_context_t con _GL_UNUSED_PARAMETER)
60   { errno = ENOTSUP; return -1; }
61 SE_SELINUX_INLINE int
62 matchpathcon (char const *file _GL_UNUSED_PARAMETER,
63               mode_t m _GL_UNUSED_PARAMETER,
64   security_context_t *con _GL_UNUSED_PARAMETER)
65   { errno = ENOTSUP; return -1; }
66 SE_SELINUX_INLINE int
67 getfilecon (char const *file _GL_UNUSED_PARAMETER,
68             security_context_t *con _GL_UNUSED_PARAMETER)
69   { errno = ENOTSUP; return -1; }
70 SE_SELINUX_INLINE int
71 lgetfilecon (char const *file _GL_UNUSED_PARAMETER,
72              security_context_t *con _GL_UNUSED_PARAMETER)
73   { errno = ENOTSUP; return -1; }
74 SE_SELINUX_INLINE int
75 fgetfilecon (int fd, security_context_t *con _GL_UNUSED_PARAMETER)
76   { errno = ENOTSUP; return -1; }
77 SE_SELINUX_INLINE int
78 setfilecon (char const *file _GL_UNUSED_PARAMETER,
79             security_context_t con _GL_UNUSED_PARAMETER)
80   { errno = ENOTSUP; return -1; }
81 SE_SELINUX_INLINE int
82 lsetfilecon (char const *file _GL_UNUSED_PARAMETER,
83              security_context_t con _GL_UNUSED_PARAMETER)
84   { errno = ENOTSUP; return -1; }
85 SE_SELINUX_INLINE int
86 fsetfilecon (int fd _GL_UNUSED_PARAMETER,
87              security_context_t con _GL_UNUSED_PARAMETER)
88   { errno = ENOTSUP; return -1; }
89 
90 SE_SELINUX_INLINE int
91 security_check_context (security_context_t con _GL_UNUSED_PARAMETER)
92   { errno = ENOTSUP; return -1; }
93 SE_SELINUX_INLINE int
94 security_check_context_raw (security_context_t con _GL_UNUSED_PARAMETER)
95   { errno = ENOTSUP; return -1; }
96 SE_SELINUX_INLINE int
97 setexeccon (security_context_t con _GL_UNUSED_PARAMETER)
98   { errno = ENOTSUP; return -1; }
99 SE_SELINUX_INLINE int
100 security_compute_create (security_context_t scon _GL_UNUSED_PARAMETER,
101                          security_context_t tcon _GL_UNUSED_PARAMETER,
102                          security_class_t tclass _GL_UNUSED_PARAMETER,
103                          security_context_t *newcon _GL_UNUSED_PARAMETER)
104   { errno = ENOTSUP; return -1; }
105 SE_SELINUX_INLINE security_class_t
106 string_to_security_class (char const *name)
107   { errno = ENOTSUP; return 0; }
108 SE_SELINUX_INLINE int
109 matchpathcon_init_prefix (char const *path _GL_UNUSED_PARAMETER,
110                           char const *prefix _GL_UNUSED_PARAMETER)
111   { errno = ENOTSUP; return -1; }
112 
113 #   define GNULIB_defined_security_types 1
114 #  endif
115 
116 _GL_INLINE_HEADER_END
117 
118 # endif
119 #endif
120