Add compat_macros.h to the tarball
[obnox/wireshark/wip.git] / packet-dcerpc-samr.h
1 /* packet-dcerpc-samr.h
2  * Routines for SMB \PIPE\samr packet disassembly
3  * Copyright 2001, Tim Potter <tpot@samba.org>
4  *
5  * $Id: packet-dcerpc-samr.h,v 1.8 2002/08/28 21:00:10 jmayer Exp $
6  *
7  * Ethereal - Network traffic analyzer
8  * By Gerald Combs <gerald@ethereal.com>
9  * Copyright 1998 Gerald Combs
10  *
11  * This program is free software; you can redistribute it and/or
12  * modify it under the terms of the GNU General Public License
13  * as published by the Free Software Foundation; either version 2
14  * of the License, or (at your option) any later version.
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  * GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License
22  * along with this program; if not, write to the Free Software
23  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
24  */
25
26 #ifndef __PACKET_DCERPC_SAMR_H
27 #define __PACKET_DCERPC_SAMR_H
28
29 /* Functions available on the SAMR pipe.  From Samba, include/rpc_samr.h */
30
31 #define SAMR_CONNECT                0x00
32 #define SAMR_CLOSE_HND              0x01
33 #define SAMR_SET_SEC_OBJECT         0x02
34 #define SAMR_QUERY_SEC_OBJECT       0x03
35 #define SAMR_SHUTDOWN_SAM_SERVER    0x04
36 #define SAMR_LOOKUP_DOMAIN          0x05
37 #define SAMR_ENUM_DOMAINS           0x06
38 #define SAMR_OPEN_DOMAIN            0x07
39 #define SAMR_QUERY_DOMAIN_INFO      0x08
40 #define SAMR_SET_DOMAIN_INFO        0x09
41 #define SAMR_CREATE_DOM_GROUP       0x0a
42 #define SAMR_ENUM_DOM_GROUPS   0x0b
43 #define SAMR_CREATE_USER_IN_DOMAIN 0x0c
44 #define SAMR_ENUM_DOM_USERS    0x0d
45 #define SAMR_CREATE_DOM_ALIAS  0x0e
46 #define SAMR_ENUM_DOM_ALIASES  0x0f
47 #define SAMR_GET_ALIAS_MEMBERSHIP 0x10
48 #define SAMR_LOOKUP_NAMES      0x11
49 #define SAMR_LOOKUP_RIDS       0x12
50 #define SAMR_OPEN_GROUP        0x13
51 #define SAMR_QUERY_GROUPINFO   0x14
52 #define SAMR_SET_GROUPINFO     0x15
53 #define SAMR_ADD_GROUPMEM      0x16
54 #define SAMR_DELETE_DOM_GROUP  0x17
55 #define SAMR_DEL_GROUPMEM      0x18
56 #define SAMR_QUERY_GROUPMEM    0x19
57 #define SAMR_SET_MEMBER_ATTRIBUTES_OF_GROUP        0x1a
58 #define SAMR_OPEN_ALIAS        0x1b
59 #define SAMR_QUERY_ALIASINFO   0x1c
60 #define SAMR_SET_ALIASINFO     0x1d
61 #define SAMR_DELETE_DOM_ALIAS  0x1e
62 #define SAMR_ADD_ALIASMEM      0x1f
63 #define SAMR_DEL_ALIASMEM      0x20
64 #define SAMR_GET_MEMBERS_IN_ALIAS   0x21
65 #define SAMR_OPEN_USER         0x22
66 #define SAMR_DELETE_DOM_USER   0x23
67 #define SAMR_QUERY_USERINFO    0x24
68 #define SAMR_SET_USERINFO2     0x25
69 #define SAMR_CHANGE_PASSWORD_USER  0x26
70 #define SAMR_GET_GROUPS_FOR_USER  0x27
71 #define SAMR_QUERY_DISPINFO    0x28
72 #define SAMR_GET_DISPLAY_ENUMERATION_INDEX        0x29
73 #define SAMR_TEST_PRIVATE_FUNCTIONS_DOMAIN        0x2a
74 #define SAMR_TEST_PRIVATE_FUNCTIONS_USER        0x2b
75 #define SAMR_GET_USRDOM_PWINFO 0x2c
76 #define SAMR_REMOVE_MEMBER_FROM_FOREIGN_DOMAIN     0x2d
77 #define SAMR_QUERY_INFORMATION_DOMAIN2    0x2e
78 #define SAMR_UNKNOWN_2f        0x2f
79 #define SAMR_QUERY_DISPINFO2   0x30
80 #define SAMR_GET_DISPLAY_ENUMERATION_INDEX2        0x31
81 #define SAMR_CREATE_USER2_IN_DOMAIN       0x32
82 #define SAMR_QUERY_DISPINFO3   0x33
83 #define SAMR_ADD_MULTIPLE_MEMBERS_TO_ALIAS 0x34
84 #define SAMR_REMOVE_MULTIPLE_MEMBERS_FROM_ALIAS     0x35
85 #define SAMR_OEM_CHANGE_PASSWORD_USER2        0x36
86 #define SAMR_UNICODE_CHANGE_PASSWORD_USER2    0x37
87 #define SAMR_GET_DOM_PWINFO    0x38
88 #define SAMR_CONNECT2          0x39
89 #define SAMR_SET_USERINFO      0x3A
90 #define SAMR_UNKNOWN_3B        0x3B
91 #define SAMR_UNKNOWN_3C        0x3C
92 #define SAMR_CONNECT3          0x3D
93 #define SAMR_CONNECT4          0x3E
94
95 /* Specific access rights */
96
97 #define SAMR_ACCESS_UNKNOWN_1        0x00000001
98 #define SAMR_ACCESS_SHUTDOWN_SERVER  0x00000002
99 #define SAMR_ACCESS_UNKNOWN_4        0x00000004
100 #define SAMR_ACCESS_UNKNOWN_8        0x00000008
101 #define SAMR_ACCESS_ENUM_DOMAINS     0x00000010
102 #define SAMR_ACCESS_OPEN_DOMAIN      0x00000020
103
104 #define DOMAIN_ACCESS_LOOKUP_INFO_1  0x00000001
105 #define DOMAIN_ACCESS_SET_INFO_1     0x00000002
106 #define DOMAIN_ACCESS_LOOKUP_INFO_2  0x00000004
107 #define DOMAIN_ACCESS_SET_INFO_2     0x00000008
108 #define DOMAIN_ACCESS_CREATE_USER    0x00000010
109 #define DOMAIN_ACCESS_CREATE_GROUP   0x00000020
110 #define DOMAIN_ACCESS_CREATE_ALIAS   0x00000040
111 #define DOMAIN_ACCESS_UNKNOWN_80     0x00000080
112 #define DOMAIN_ACCESS_ENUM_ACCOUNTS  0x00000100
113 #define DOMAIN_ACCESS_OPEN_ACCOUNT   0x00000200
114 #define DOMAIN_ACCESS_SET_INFO_3     0x00000400
115
116 #define USER_ACCESS_GET_NAME_ETC     0x00000001
117 #define USER_ACCESS_GET_LOCALE       0x00000002
118 #define USER_ACCESS_SET_LOC_COM      0x00000004
119 #define USER_ACCESS_GET_LOGONINFO    0x00000008
120 #define USER_ACCESS_UNKNOWN_10       0x00000010
121 #define USER_ACCESS_SET_ATTRIBUTES   0x00000020
122 #define USER_ACCESS_CHANGE_PASSWORD  0x00000040
123 #define USER_ACCESS_SET_PASSWORD     0x00000080
124 #define USER_ACCESS_GET_GROUPS       0x00000100
125 #define USER_ACCESS_UNKNOWN_200      0x00000200
126 #define USER_ACCESS_UNKNOWN_400      0x00000400
127
128 #define ALIAS_ACCESS_ADD_MEMBER      0x00000001
129 #define ALIAS_ACCESS_REMOVE_MEMBER   0x00000002
130 #define ALIAS_ACCESS_GET_MEMBERS     0x00000004
131 #define ALIAS_ACCESS_LOOKUP_INFO     0x00000008
132 #define ALIAS_ACCESS_SET_INFO        0x00000010
133
134 #define GROUP_ACCESS_LOOKUP_INFO     0x00000001
135 #define GROUP_ACCESS_SET_INFO        0x00000002
136 #define GROUP_ACCESS_ADD_MEMBER      0x00000004
137 #define GROUP_ACCESS_REMOVE_MEMBER   0x00000008
138 #define GROUP_ACCESS_GET_MEMBERS     0x00000010
139
140 #endif /* packet-dcerpc-samr.h */