s3-proto: move remaining srvsvc protos to own header file.
[Samba.git] / libcli / security / secace.h
blob132217757ca427759e3e9df6f5307e044636cf38
1 /*
2 Unix SMB/CIFS implementation.
3 Samba utility functions
5 Copyright (C) 2009 Jelmer Vernooij <jelmer@samba.org>
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>.
21 #ifndef _ACE_H_
22 #define _ACE_H_
24 #include "librpc/gen_ndr/security.h"
26 bool sec_ace_object(uint8_t type);
27 void sec_ace_copy(struct security_ace *ace_dest, const struct security_ace *ace_src);
28 void init_sec_ace(struct security_ace *t, const struct dom_sid *sid, enum security_ace_type type,
29 uint32_t mask, uint8_t flag);
30 NTSTATUS sec_ace_add_sid(TALLOC_CTX *ctx, struct security_ace **pp_new, struct security_ace *old, unsigned *num, const struct dom_sid *sid, uint32_t mask);
31 NTSTATUS sec_ace_mod_sid(struct security_ace *ace, size_t num, const struct dom_sid *sid, uint32_t mask);
32 NTSTATUS sec_ace_del_sid(TALLOC_CTX *ctx, struct security_ace **pp_new, struct security_ace *old, uint32_t *num, const struct dom_sid *sid);
33 bool sec_ace_equal(const struct security_ace *s1, const struct security_ace *s2);
34 int nt_ace_inherit_comp( const struct security_ace *a1, const struct security_ace *a2);
35 int nt_ace_canon_comp( const struct security_ace *a1, const struct security_ace *a2);
36 void dacl_sort_into_canonical_order(struct security_ace *srclist, unsigned int num_aces);
38 #endif /*_ACE_H_*/