summaryrefslogtreecommitdiffstats
path: root/lib/se-selinux.in.h
blob: baf2154caddf2c7b2d9c892100e1ec42fb90360b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
/* Replacement <selinux/selinux.h> for platforms that lack it.
   Copyright (C) 2008-2023 Free Software Foundation, Inc.

   This file 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.1 of the
   License, or (at your option) any later version.

   This file is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   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 program.  If not, see <https://www.gnu.org/licenses/>.  */

#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
@PRAGMA_COLUMNS@

#if @HAVE_SELINUX_SELINUX_H@

#@INCLUDE_NEXT@ @NEXT_SELINUX_SELINUX_H@

#else
# if !defined _@GUARD_PREFIX@_SELINUX_SELINUX_H
#  define _@GUARD_PREFIX@_SELINUX_SELINUX_H

/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE,
   _GL_ATTRIBUTE_MAYBE_UNUSED.  */
#  if !_GL_CONFIG_H_INCLUDED
#   error "Please include config.h first."
#  endif

#  include <sys/types.h>
#  include <errno.h>

_GL_INLINE_HEADER_BEGIN
#  ifndef SE_SELINUX_INLINE
#   define SE_SELINUX_INLINE _GL_INLINE
#  endif

/* _GL_ATTRIBUTE_MAYBE_UNUSED declares that it is not a programming mistake if
   the entity is not used.  The compiler should not warn if the entity is not
   used.  */
#  ifndef _GL_ATTRIBUTE_MAYBE_UNUSED
#   if 0 /* no GCC or clang version supports this yet */
#    define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]]
#   elif defined __GNUC__ || defined __clang__
#    define _GL_ATTRIBUTE_MAYBE_UNUSED __attribute__ ((__unused__))
#   else
#    define _GL_ATTRIBUTE_MAYBE_UNUSED
#   endif
#  endif

#  if !GNULIB_defined_security_types

typedef unsigned short security_class_t;
struct selinux_opt;
#   define is_selinux_enabled() 0

SE_SELINUX_INLINE int
getcon (_GL_ATTRIBUTE_MAYBE_UNUSED char **con)
  { errno = ENOTSUP; return -1; }
SE_SELINUX_INLINE void
freecon (_GL_ATTRIBUTE_MAYBE_UNUSED char *con) {}

SE_SELINUX_INLINE int
getfscreatecon (_GL_ATTRIBUTE_MAYBE_UNUSED char **con)
  { errno = ENOTSUP; return -1; }
SE_SELINUX_INLINE int
setfscreatecon (_GL_ATTRIBUTE_MAYBE_UNUSED char const *con)
  { errno = ENOTSUP; return -1; }
SE_SELINUX_INLINE int
matchpathcon (_GL_ATTRIBUTE_MAYBE_UNUSED char const *file,
              _GL_ATTRIBUTE_MAYBE_UNUSED mode_t m,
              _GL_ATTRIBUTE_MAYBE_UNUSED char **con)
  { errno = ENOTSUP; return -1; }
SE_SELINUX_INLINE int
getfilecon (_GL_ATTRIBUTE_MAYBE_UNUSED char const *file,
            _GL_ATTRIBUTE_MAYBE_UNUSED char **con)
  { errno = ENOTSUP; return -1; }
SE_SELINUX_INLINE int
lgetfilecon (_GL_ATTRIBUTE_MAYBE_UNUSED char const *file,
             _GL_ATTRIBUTE_MAYBE_UNUSED char **con)
  { errno = ENOTSUP; return -1; }
SE_SELINUX_INLINE int
fgetfilecon (int fd,_GL_ATTRIBUTE_MAYBE_UNUSED char **con)
  { errno = ENOTSUP; return -1; }
SE_SELINUX_INLINE int
setfilecon (_GL_ATTRIBUTE_MAYBE_UNUSED char const *file,
            _GL_ATTRIBUTE_MAYBE_UNUSED char const *con)
  { errno = ENOTSUP; return -1; }
SE_SELINUX_INLINE int
lsetfilecon (_GL_ATTRIBUTE_MAYBE_UNUSED char const *file,
             _GL_ATTRIBUTE_MAYBE_UNUSED char const *con)
  { errno = ENOTSUP; return -1; }
SE_SELINUX_INLINE int
fsetfilecon (_GL_ATTRIBUTE_MAYBE_UNUSED int fd,
             _GL_ATTRIBUTE_MAYBE_UNUSED char const *con)
  { errno = ENOTSUP; return -1; }

SE_SELINUX_INLINE int
security_check_context (_GL_ATTRIBUTE_MAYBE_UNUSED char const *con)
  { errno = ENOTSUP; return -1; }
SE_SELINUX_INLINE int
security_check_context_raw (_GL_ATTRIBUTE_MAYBE_UNUSED char const *con)
  { errno = ENOTSUP; return -1; }
SE_SELINUX_INLINE int
setexeccon (_GL_ATTRIBUTE_MAYBE_UNUSED char const *con)
  { errno = ENOTSUP; return -1; }
SE_SELINUX_INLINE int
security_compute_create (_GL_ATTRIBUTE_MAYBE_UNUSED char const *scon,
                         _GL_ATTRIBUTE_MAYBE_UNUSED char const *tcon,
                         _GL_ATTRIBUTE_MAYBE_UNUSED security_class_t tclass,
                         _GL_ATTRIBUTE_MAYBE_UNUSED char **newcon)
  { errno = ENOTSUP; return -1; }
SE_SELINUX_INLINE security_class_t
string_to_security_class (char const *name)
  { errno = ENOTSUP; return 0; }
SE_SELINUX_INLINE int
matchpathcon_init_prefix (_GL_ATTRIBUTE_MAYBE_UNUSED char const *path,
                          _GL_ATTRIBUTE_MAYBE_UNUSED char const *prefix)
  { errno = ENOTSUP; return -1; }

#   define GNULIB_defined_security_types 1
#  endif

_GL_INLINE_HEADER_END

# endif /* _@GUARD_PREFIX@_SELINUX_SELINUX_H */
#endif