Merge from HEAD - make Samba compile with -Wwrite-strings without additional
[tprouty/samba.git] / source / include / mapping.h
1 /* 
2  *  Unix SMB/CIFS implementation.
3  *  RPC Pipe client / server routines
4  *  Copyright (C) Andrew Tridgell              1992-2000,
5  *  Copyright (C) Jean François Micouleau      1998-2001.
6  *  
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 2 of the License, or
10  *  (at your option) any later version.
11  *  
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.
16  *  
17  *  You should have received a copy of the GNU General Public License
18  *  along with this program; if not, write to the Free Software
19  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20  */
21
22 #define PRIV_ALL_INDEX          5
23
24 #define SE_PRIV_NONE            0x0000
25 #define SE_PRIV_ADD_MACHINES    0x0006
26 #define SE_PRIV_SEC_PRIV        0x0008
27 #define SE_PRIV_TAKE_OWNER      0x0009
28 #define SE_PRIV_ADD_USERS       0xff01
29 #define SE_PRIV_PRINT_OPERATOR  0xff03
30 #define SE_PRIV_ALL             0xffff
31
32 #define ENUM_ONLY_MAPPED True
33 #define ENUM_ALL_MAPPED False
34
35 #define MAPPING_WITH_PRIV True
36 #define MAPPING_WITHOUT_PRIV False
37
38 #define PR_NONE                0x0000
39 #define PR_LOG_ON_LOCALLY      0x0001
40 #define PR_ACCESS_FROM_NETWORK 0x0002
41 #define PR_LOG_ON_BATCH_JOB    0x0004
42 #define PR_LOG_ON_SERVICE      0x0010
43
44
45 typedef struct _GROUP_MAP {
46         struct pdb_methods *methods;
47         gid_t gid;
48         DOM_SID sid;
49         enum SID_NAME_USE sid_name_use;
50         fstring nt_name;
51         fstring comment;
52         uint32 systemaccount;
53         PRIVILEGE_SET priv_set;
54 } GROUP_MAP;
55
56 typedef struct _PRIVS {
57         uint32 se_priv;
58         const char *priv;
59         const char *description;
60 } PRIVS;
61