summaryrefslogtreecommitdiff
path: root/libcli/security/privileges.h
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2010-08-27 09:35:55 +1000
committerAndrew Bartlett <abartlet@samba.org>2010-09-11 18:46:07 +1000
commitdbee98d30fc9c7db6693170215b8c1819b3e2f3d (patch)
tree416b01e118de9d0b409b878b09754fb226233d4c /libcli/security/privileges.h
parent0d25212cc161dee2f38c8ad60e50543596000f18 (diff)
downloadsamba-dbee98d30fc9c7db6693170215b8c1819b3e2f3d.tar.gz
samba-dbee98d30fc9c7db6693170215b8c1819b3e2f3d.tar.bz2
samba-dbee98d30fc9c7db6693170215b8c1819b3e2f3d.zip
libcli/security Move source4/ privileges code into the common libcli/security
Signed-off-by: Andrew Tridgell <tridge@samba.org>
Diffstat (limited to 'libcli/security/privileges.h')
-rw-r--r--libcli/security/privileges.h44
1 files changed, 41 insertions, 3 deletions
diff --git a/libcli/security/privileges.h b/libcli/security/privileges.h
index 905645906f..69c7dbcec3 100644
--- a/libcli/security/privileges.h
+++ b/libcli/security/privileges.h
@@ -1,4 +1,3 @@
-
/*
Unix SMB/CIFS implementation.
SMB parameters and setup
@@ -59,8 +58,8 @@ extern const uint64_t se_take_ownership;
typedef struct {
TALLOC_CTX *mem_ctx;
bool ext_ctx;
- uint32 count;
- uint32 control;
+ uint32_t count;
+ uint32_t control;
struct lsa_LUIDAttribute *set;
} PRIVILEGE_SET;
@@ -159,4 +158,43 @@ const char *luid_to_privilege_name(const struct lsa_LUID *set);
bool se_priv_to_privilege_set( PRIVILEGE_SET *set, uint64_t *privilege_mask );
bool privilege_set_to_se_priv( uint64_t *privilege_mask, struct lsa_PrivilegeSet *privset );
+/*
+ map a privilege id to the wire string constant
+*/
+const char *sec_privilege_name(enum sec_privilege privilege);
+
+/*
+ map a privilege id to a privilege display name. Return NULL if not found
+
+ TODO: this should use language mappings
+*/
+const char *sec_privilege_display_name(enum sec_privilege privilege, uint16_t *language);
+
+/*
+ map a privilege name to a privilege id. Return -1 if not found
+*/
+enum sec_privilege sec_privilege_id(const char *name);
+
+/*
+ map a privilege name to a privilege id. Return -1 if not found
+*/
+enum sec_privilege sec_privilege_from_mask(uint64_t mask);
+
+/*
+ map a privilege name to a privilege id. Return -1 if not found
+*/
+enum sec_privilege sec_privilege_from_index(int idx);
+
+/*
+ return true if a security_token has a particular privilege bit set
+*/
+bool security_token_has_privilege(const struct security_token *token, enum sec_privilege privilege);
+
+/*
+ set a bit in the privilege mask
+*/
+void security_token_set_privilege(struct security_token *token, enum sec_privilege privilege);
+
+void security_token_debug_privileges(int dbg_lev, const struct security_token *token);
+
#endif /* PRIVILEGES_H */