exp2l: Work around a NetBSD 10.0/i386 bug.
[gnulib.git] / lib / se-selinux.in.h
blob76d3762fd473644e25715bf84a056912598ba6d4
1 /* Replacement <selinux/selinux.h> for platforms that lack it.
2 Copyright (C) 2008-2024 Free Software Foundation, Inc.
4 This file is free software: you can redistribute it and/or modify
5 it under the terms of the GNU Lesser General Public License as
6 published by the Free Software Foundation; either version 2.1 of the
7 License, or (at your option) any later version.
9 This file 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.
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/>. */
17 #if __GNUC__ >= 3
18 @PRAGMA_SYSTEM_HEADER@
19 #endif
20 @PRAGMA_COLUMNS@
22 #if @HAVE_SELINUX_SELINUX_H@
24 #@INCLUDE_NEXT@ @NEXT_SELINUX_SELINUX_H@
26 #else
27 # if !defined _@GUARD_PREFIX@_SELINUX_SELINUX_H
28 # define _@GUARD_PREFIX@_SELINUX_SELINUX_H
30 /* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE,
31 _GL_ATTRIBUTE_MAYBE_UNUSED. */
32 # if !_GL_CONFIG_H_INCLUDED
33 # error "Please include config.h first."
34 # endif
36 # include <sys/types.h>
37 # include <errno.h>
39 _GL_INLINE_HEADER_BEGIN
40 # ifndef SE_SELINUX_INLINE
41 # define SE_SELINUX_INLINE _GL_INLINE
42 # endif
44 /* _GL_ATTRIBUTE_MAYBE_UNUSED declares that it is not a programming mistake if
45 the entity is not used. The compiler should not warn if the entity is not
46 used. */
47 # ifndef _GL_ATTRIBUTE_MAYBE_UNUSED
48 # if 0 /* no GCC or clang version supports this yet */
49 # define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]]
50 # elif defined __GNUC__ || defined __clang__
51 # define _GL_ATTRIBUTE_MAYBE_UNUSED __attribute__ ((__unused__))
52 # else
53 # define _GL_ATTRIBUTE_MAYBE_UNUSED
54 # endif
55 # endif
57 # if !GNULIB_defined_security_types
59 typedef unsigned short security_class_t;
60 struct selinux_opt;
61 # define is_selinux_enabled() 0
63 SE_SELINUX_INLINE int
64 getcon (_GL_ATTRIBUTE_MAYBE_UNUSED char **con)
65 { errno = ENOTSUP; return -1; }
66 SE_SELINUX_INLINE int
67 getcon_raw (_GL_ATTRIBUTE_MAYBE_UNUSED char **con)
68 { errno = ENOTSUP; return -1; }
69 SE_SELINUX_INLINE void
70 freecon (_GL_ATTRIBUTE_MAYBE_UNUSED char *con) {}
72 SE_SELINUX_INLINE int
73 getfscreatecon (_GL_ATTRIBUTE_MAYBE_UNUSED char **con)
74 { errno = ENOTSUP; return -1; }
75 SE_SELINUX_INLINE int
76 getfscreatecon_raw (_GL_ATTRIBUTE_MAYBE_UNUSED char **con)
77 { errno = ENOTSUP; return -1; }
78 SE_SELINUX_INLINE int
79 setfscreatecon (_GL_ATTRIBUTE_MAYBE_UNUSED char const *con)
80 { errno = ENOTSUP; return -1; }
81 SE_SELINUX_INLINE int
82 setfscreatecon_raw (_GL_ATTRIBUTE_MAYBE_UNUSED char const *con)
83 { errno = ENOTSUP; return -1; }
84 SE_SELINUX_INLINE int
85 matchpathcon (_GL_ATTRIBUTE_MAYBE_UNUSED char const *file,
86 _GL_ATTRIBUTE_MAYBE_UNUSED mode_t m,
87 _GL_ATTRIBUTE_MAYBE_UNUSED char **con)
88 { errno = ENOTSUP; return -1; }
89 SE_SELINUX_INLINE int
90 getfilecon (_GL_ATTRIBUTE_MAYBE_UNUSED char const *file,
91 _GL_ATTRIBUTE_MAYBE_UNUSED char **con)
92 { errno = ENOTSUP; return -1; }
93 SE_SELINUX_INLINE int
94 getfilecon_raw (_GL_ATTRIBUTE_MAYBE_UNUSED char const *file,
95 _GL_ATTRIBUTE_MAYBE_UNUSED char **con)
96 { errno = ENOTSUP; return -1; }
97 SE_SELINUX_INLINE int
98 lgetfilecon (_GL_ATTRIBUTE_MAYBE_UNUSED char const *file,
99 _GL_ATTRIBUTE_MAYBE_UNUSED char **con)
100 { errno = ENOTSUP; return -1; }
101 SE_SELINUX_INLINE int
102 lgetfilecon_raw (_GL_ATTRIBUTE_MAYBE_UNUSED char const *file,
103 _GL_ATTRIBUTE_MAYBE_UNUSED char **con)
104 { errno = ENOTSUP; return -1; }
105 SE_SELINUX_INLINE int
106 fgetfilecon (int fd,_GL_ATTRIBUTE_MAYBE_UNUSED char **con)
107 { errno = ENOTSUP; return -1; }
108 SE_SELINUX_INLINE int
109 fgetfilecon_raw (int fd,_GL_ATTRIBUTE_MAYBE_UNUSED char **con)
110 { errno = ENOTSUP; return -1; }
111 SE_SELINUX_INLINE int
112 setfilecon (_GL_ATTRIBUTE_MAYBE_UNUSED char const *file,
113 _GL_ATTRIBUTE_MAYBE_UNUSED char const *con)
114 { errno = ENOTSUP; return -1; }
115 SE_SELINUX_INLINE int
116 setfilecon_raw (_GL_ATTRIBUTE_MAYBE_UNUSED char const *file,
117 _GL_ATTRIBUTE_MAYBE_UNUSED char const *con)
118 { errno = ENOTSUP; return -1; }
119 SE_SELINUX_INLINE int
120 lsetfilecon (_GL_ATTRIBUTE_MAYBE_UNUSED char const *file,
121 _GL_ATTRIBUTE_MAYBE_UNUSED char const *con)
122 { errno = ENOTSUP; return -1; }
123 SE_SELINUX_INLINE int
124 lsetfilecon_raw (_GL_ATTRIBUTE_MAYBE_UNUSED char const *file,
125 _GL_ATTRIBUTE_MAYBE_UNUSED char const *con)
126 { errno = ENOTSUP; return -1; }
127 SE_SELINUX_INLINE int
128 fsetfilecon (_GL_ATTRIBUTE_MAYBE_UNUSED int fd,
129 _GL_ATTRIBUTE_MAYBE_UNUSED char const *con)
130 { errno = ENOTSUP; return -1; }
131 SE_SELINUX_INLINE int
132 fsetfilecon_raw (_GL_ATTRIBUTE_MAYBE_UNUSED int fd,
133 _GL_ATTRIBUTE_MAYBE_UNUSED char const *con)
134 { errno = ENOTSUP; return -1; }
136 SE_SELINUX_INLINE int
137 security_check_context (_GL_ATTRIBUTE_MAYBE_UNUSED char const *con)
138 { errno = ENOTSUP; return -1; }
139 SE_SELINUX_INLINE int
140 security_check_context_raw (_GL_ATTRIBUTE_MAYBE_UNUSED char const *con)
141 { errno = ENOTSUP; return -1; }
142 SE_SELINUX_INLINE int
143 setexeccon (_GL_ATTRIBUTE_MAYBE_UNUSED char const *con)
144 { errno = ENOTSUP; return -1; }
145 SE_SELINUX_INLINE int
146 setexeccon_raw (_GL_ATTRIBUTE_MAYBE_UNUSED char const *con)
147 { errno = ENOTSUP; return -1; }
148 SE_SELINUX_INLINE int
149 security_compute_create (_GL_ATTRIBUTE_MAYBE_UNUSED char const *scon,
150 _GL_ATTRIBUTE_MAYBE_UNUSED char const *tcon,
151 _GL_ATTRIBUTE_MAYBE_UNUSED security_class_t tclass,
152 _GL_ATTRIBUTE_MAYBE_UNUSED char **newcon)
153 { errno = ENOTSUP; return -1; }
154 SE_SELINUX_INLINE int
155 security_compute_create_raw (_GL_ATTRIBUTE_MAYBE_UNUSED char const *scon,
156 _GL_ATTRIBUTE_MAYBE_UNUSED char const *tcon,
157 _GL_ATTRIBUTE_MAYBE_UNUSED security_class_t tclass,
158 _GL_ATTRIBUTE_MAYBE_UNUSED char **newcon)
159 { errno = ENOTSUP; return -1; }
160 SE_SELINUX_INLINE security_class_t
161 string_to_security_class (char const *name)
162 { errno = ENOTSUP; return 0; }
163 SE_SELINUX_INLINE int
164 matchpathcon_init_prefix (_GL_ATTRIBUTE_MAYBE_UNUSED char const *path,
165 _GL_ATTRIBUTE_MAYBE_UNUSED char const *prefix)
166 { errno = ENOTSUP; return -1; }
168 # define GNULIB_defined_security_types 1
169 # endif
171 _GL_INLINE_HEADER_END
173 # endif /* _@GUARD_PREFIX@_SELINUX_SELINUX_H */
174 #endif