+2026-01-16 Bruno Haible <bruno@clisp.org>
+
+ selinux-h: Fix compilation errors and link errors in C++ mode.
+ * lib/se-selinux.in.h: Mark the functions as 'extern "C"'.
+ * lib/se-label.in.h: Mark the functions as 'extern "C"'. Avoid implicit
+ casts from 'void *' to other pointer types.
+ * lib/se-context.in.h: Likewise.
+ (context_t): Don't use 'struct context_t'.
+
2026-01-16 Paul Eggert <eggert@cs.ucla.edu>
manywarnings: omit new C warning for GCC < 15
# endif
#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+
-typedef struct context_t *context_t;
+typedef struct selinux_context_t *context_t;
SE_CONTEXT_INLINE context_t
context_new (char const *_GL_UNNAMED (s))
- { errno = ENOTSUP; return (void *) 0; }
+ { errno = ENOTSUP; return (context_t) 0; }
SE_CONTEXT_INLINE char *
context_str (context_t _GL_UNNAMED (con))
- { errno = ENOTSUP; return (void *) 0; }
+ { errno = ENOTSUP; return (char *) 0; }
SE_CONTEXT_INLINE void context_free (context_t _GL_UNNAMED (c)) {}
SE_CONTEXT_INLINE int
{ errno = ENOTSUP; return -1; }
SE_CONTEXT_INLINE char *
context_type_get (context_t _GL_UNNAMED (sc))
- { errno = ENOTSUP; return (void *) 0; }
+ { errno = ENOTSUP; return (char *) 0; }
SE_CONTEXT_INLINE char *
context_range_get (context_t _GL_UNNAMED (sc))
- { errno = ENOTSUP; return (void *) 0; }
+ { errno = ENOTSUP; return (char *) 0; }
SE_CONTEXT_INLINE char *
context_role_get (context_t _GL_UNNAMED (sc))
- { errno = ENOTSUP; return (void *) 0; }
+ { errno = ENOTSUP; return (char *) 0; }
SE_CONTEXT_INLINE char *
context_user_get (context_t _GL_UNNAMED (sc))
- { errno = ENOTSUP; return (void *) 0; }
+ { errno = ENOTSUP; return (char *) 0; }
+
+
+#ifdef __cplusplus
+}
+#endif
_GL_INLINE_HEADER_END
# endif
#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
#define SELABEL_CTX_FILE 0
struct selabel_handle;
selabel_open (int _GL_UNNAMED (backend),
struct selinux_opt *_GL_UNNAMED (options),
unsigned _GL_UNNAMED (nopt))
-{ errno = ENOTSUP; return (void *) 0; }
+{ errno = ENOTSUP; return (struct selabel_handle *) 0; }
SE_LABEL_INLINE void
selabel_close (struct selabel_handle *_GL_UNNAMED (hnd))
{ errno = ENOTSUP; }
+
+#ifdef __cplusplus
+}
+#endif
+
_GL_INLINE_HEADER_END
#endif
# endif
# endif
+# ifdef __cplusplus
+extern "C" {
+# endif
+
+
# if !GNULIB_defined_security_types
typedef unsigned short security_class_t;
# define GNULIB_defined_security_types 1
# endif
+
+# ifdef __cplusplus
+}
+# endif
+
_GL_INLINE_HEADER_END
# endif /* _@GUARD_PREFIX@_SELINUX_SELINUX_H */