summaryrefslogtreecommitdiff
path: root/src/label_internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/label_internal.h')
-rw-r--r--src/label_internal.h22
1 files changed, 18 insertions, 4 deletions
diff --git a/src/label_internal.h b/src/label_internal.h
index 00a9bbf..0c21e36 100644
--- a/src/label_internal.h
+++ b/src/label_internal.h
@@ -55,15 +55,23 @@ struct selabel_handle {
void (*func_close) (struct selabel_handle *h);
void (*func_stats) (struct selabel_handle *h);
bool (*func_partial_match) (struct selabel_handle *h, const char *key);
- struct selabel_lookup_rec *(*func_lookup_best_match) (struct selabel_handle *h,
- const char *key,
- const char **aliases,
- int type);
+ struct selabel_lookup_rec *(*func_lookup_best_match)
+ (struct selabel_handle *h,
+ const char *key,
+ const char **aliases,
+ int type);
/* supports backend-specific state information */
void *data;
+ /*
+ * The main spec file used. Note for file contexts the local and/or
+ * homedirs could also have been used to resolve a context.
+ */
+ char *spec_file;
+
/* substitution support */
+ struct selabel_sub *dist_subs;
struct selabel_sub *subs;
};
@@ -74,4 +82,10 @@ extern int
selabel_validate(struct selabel_handle *rec,
struct selabel_lookup_rec *contexts) hidden;
+/*
+ * The read_spec_entries function may be used to
+ * replace sscanf to read entries from spec files.
+ */
+extern int read_spec_entries(char *line_buf, int num_args, ...);
+
#endif /* _SELABEL_INTERNAL_H_ */