summaryrefslogtreecommitdiff
path: root/source4/libgpo/gpo.h
diff options
context:
space:
mode:
Diffstat (limited to 'source4/libgpo/gpo.h')
-rw-r--r--source4/libgpo/gpo.h29
1 files changed, 26 insertions, 3 deletions
diff --git a/source4/libgpo/gpo.h b/source4/libgpo/gpo.h
index 808718ea49..1e51e5250a 100644
--- a/source4/libgpo/gpo.h
+++ b/source4/libgpo/gpo.h
@@ -22,9 +22,13 @@
#define __GPO_H__
-/* GPO_OPTIONS */
-#define GPO_FLAG_DISABLE 0x00000001
-#define GPO_FLAG_FORCE 0x00000002
+#define GPLINK_OPT_DISABLE (1 << 0)
+#define GPLINK_OPT_ENFORCE (1 << 1)
+
+
+#define GPO_FLAG_USER_DISABLE (1 << 0)
+#define GPO_FLAG_MACHINE_DISABLE (1 << 1)
+
struct gp_context {
struct ldb_context *ldb_ctx;
@@ -43,6 +47,19 @@ struct gp_object {
struct security_descriptor *security_descriptor;
};
+struct gp_hierarchy_object {
+ enum {
+ GPO_INHERIT = 0,
+ GPO_BLOCK_INHERITANCE = 1,
+ } inheritance;
+ struct gp_link **gplinks;
+};
+
+struct gp_link {
+ uint32_t options;
+ const char *dn;
+};
+
NTSTATUS gp_fetch_gpo(TALLOC_CTX *mem_ctx, struct ldb_context *ldb);
NTSTATUS gp_apply_gpo(TALLOC_CTX *mem_ctx, struct ldb_context *ldb);
NTSTATUS gp_check_refresh_gpo(TALLOC_CTX *mem_ctx, struct ldb_context *ldb);
@@ -53,4 +70,10 @@ NTSTATUS gp_init(TALLOC_CTX *mem_ctx,
struct tevent_context *ev_ctx,
struct gp_context **gp_ctx);
NTSTATUS gp_list_all_gpos(struct gp_context *gp_ctx, struct gp_object ***ret);
+NTSTATUS gp_get_gpo_info(struct gp_context *gp_ctx, const char *name, struct gp_object **ret);
+NTSTATUS gp_get_gplinks(struct gp_context *gp_ctx, const char *req_dn, struct gp_link ***ret);
+
+NTSTATUS gp_get_gplink_options(TALLOC_CTX *mem_ctx, uint32_t flags, const char ***ret);
+NTSTATUS gp_get_gpo_flags(TALLOC_CTX *mem_ctx, uint32_t flags, const char ***ret);
+
#endif