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