lib/param move source4 param code to the top level
[sfrench/samba-autobuild/.git] / libcli / security / privileges_private.h
1 /*
2    Unix SMB/CIFS implementation.
3    SMB parameters and setup
4    Copyright (C) Andrew Bartlett 2010
5
6    This program is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 3 of the License, or
9    (at your option) any later version.
10
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15
16    You should have received a copy of the GNU General Public License
17    along with this program.  If not, see <http://www.gnu.org/licenses/>.
18 */
19
20 /*********************************************************************
21  Lookup the privilege mask for a privilege name
22 *********************************************************************/
23 bool se_priv_from_name( const char *name, uint64_t *privilege_mask );
24
25 /***************************************************************************
26   return a privilege mask given a privilege id
27 ****************************************************************************/
28 uint64_t sec_privilege_mask(enum sec_privilege privilege);
29
30 /***************************************************************************
31  put all privileges into a mask
32 ****************************************************************************/
33
34 void se_priv_put_all_privileges(uint64_t *privilege_mask);
35
36 /****************************************************************************
37  Convert PRIVILEGE_SET to a privilege bitmap and back again
38 ****************************************************************************/
39
40 bool se_priv_to_privilege_set( PRIVILEGE_SET *set, uint64_t privilege_mask );
41 bool privilege_set_to_se_priv( uint64_t *privilege_mask, struct lsa_PrivilegeSet *privset );