summaryrefslogtreecommitdiff
path: root/usr/src/lib/libscf/inc
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libscf/inc')
-rw-r--r--usr/src/lib/libscf/inc/libscf.h27
-rw-r--r--usr/src/lib/libscf/inc/libscf_priv.h7
2 files changed, 33 insertions, 1 deletions
diff --git a/usr/src/lib/libscf/inc/libscf.h b/usr/src/lib/libscf/inc/libscf.h
index 1940308f92..72005e668e 100644
--- a/usr/src/lib/libscf/inc/libscf.h
+++ b/usr/src/lib/libscf/inc/libscf.h
@@ -29,9 +29,13 @@
#include <stddef.h>
-#include <sys/types.h>
#include <libnvpair.h>
+#ifndef NATIVE_BUILD
+#include <sys/secflags.h>
+#endif /* NATIVE_BUILD */
+#include <sys/types.h>
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -198,6 +202,26 @@ typedef enum scf_tmpl_error_type {
typedef struct scf_tmpl_error scf_tmpl_error_t;
/*
+ * This unfortunately needs to be public, because consumers of librestart must
+ * deal with it
+ */
+typedef struct {
+#ifndef NATIVE_BUILD
+ secflagdelta_t ss_default;
+ secflagdelta_t ss_lower;
+ secflagdelta_t ss_upper;
+#else
+ /*
+ * This is never used, but is necessary for bootstrapping.
+ * Not even the size matters.
+ */
+ void *ss_default;
+ void *ss_lower;
+ void *ss_upper;
+#endif /* NATIVE_BUILD */
+} scf_secflags_t;
+
+/*
* scf_tmpl_strerror() human readable flag
*/
#define SCF_TMPL_STRERROR_HUMAN 0x1
@@ -329,6 +353,7 @@ typedef struct scf_tmpl_error scf_tmpl_error_t;
#define SCF_PROPERTY_RESTART_INTERVAL ((const char *)"restart_interval")
#define SCF_PROPERTY_RESTART_ON ((const char *)"restart_on")
#define SCF_PROPERTY_RESTORE ((const char *)"restore")
+#define SCF_PROPERTY_SECFLAGS ((const char *)"security_flags")
#define SCF_PROPERTY_SINGLE_INSTANCE ((const char *)"single_instance")
#define SCF_PROPERTY_START_METHOD_TIMESTAMP \
((const char *)"start_method_timestamp")
diff --git a/usr/src/lib/libscf/inc/libscf_priv.h b/usr/src/lib/libscf/inc/libscf_priv.h
index 3e05042e0c..3ad2564322 100644
--- a/usr/src/lib/libscf/inc/libscf_priv.h
+++ b/usr/src/lib/libscf/inc/libscf_priv.h
@@ -29,6 +29,9 @@
#include <libscf.h>
#include <unistd.h>
+#if !defined(NATIVE_BUILD)
+#include <sys/secflags.h>
+#endif
#ifdef __cplusplus
extern "C" {
@@ -592,6 +595,10 @@ int _scf_get_svc_notify_params(const char *, nvlist_t *, int32_t, int, int);
*/
int _scf_notify_get_params(scf_propertygroup_t *, nvlist_t *);
+#if !defined(NATIVE_BUILD)
+int scf_default_secflags(scf_handle_t *, scf_secflags_t *);
+#endif
+
#define SCF_NOTIFY_PARAMS_SOURCE_NAME ((const char *)"preference_source")
#ifdef __cplusplus