roles: Add ROLE_AUTO to indicate that the server role is calculated
[sfrench/samba-autobuild/.git] / libds / common / roles.h
1 /*
2    Unix SMB/CIFS implementation.
3
4    domain roles
5
6    Copyright (C) Andrew Tridgell 2011
7
8    This program is free software; you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation; either version 3 of the License, or
11    (at your option) any later version.
12
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17
18    You should have received a copy of the GNU General Public License
19    along with this program.  If not, see <http://www.gnu.org/licenses/>.
20 */
21
22 #ifndef _LIBDS_ROLES_H_
23 #define _LIBDS_ROLES_H_
24
25 /* server roles. If you add new roles, please keep ensure that the
26  * existing role values match samr_Role from samr.idl
27  */
28 enum server_role {
29         ROLE_STANDALONE    = 0,
30         ROLE_DOMAIN_MEMBER = 1,
31         ROLE_DOMAIN_BDC    = 2,
32         ROLE_DOMAIN_PDC    = 3,
33
34         /* To determine the role automatically, this is not a valid role */
35         ROLE_AUTO          = 100
36 };
37
38 /* keep compatibility with the s4 'ROLE_DOMAIN_CONTROLLER' by mapping
39  * it to ROLE_DOMAIN_BDC. The PDC/BDC split is really historical from
40  * NT4 domains which were not multi-master, but even in AD there is
41  * only one machine that has the PDC FSMO role in a domain.
42 */
43 #define ROLE_DOMAIN_CONTROLLER ROLE_DOMAIN_BDC
44
45 /* security levels for 'security =' option */
46 enum security_types {SEC_SHARE,SEC_USER,SEC_SERVER,SEC_DOMAIN,SEC_ADS};
47
48 #endif /* _LIBDS_ROLES_H_ */