1 /* packet-dcerpc-samr.h
2 * Routines for SMB \PIPE\samr packet disassembly
3 * Copyright 2001, Tim Potter <tpot@samba.org>
5 * $Id: packet-dcerpc-samr.h,v 1.9 2003/02/21 02:04:31 tpot Exp $
7 * Ethereal - Network traffic analyzer
8 * By Gerald Combs <gerald@ethereal.com>
9 * Copyright 1998 Gerald Combs
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.
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.
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.
26 #ifndef __PACKET_DCERPC_SAMR_H
27 #define __PACKET_DCERPC_SAMR_H
29 /* Functions available on the SAMR pipe. From Samba, include/rpc_samr.h */
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
95 /* Specific access rights */
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
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_LOOKUP_ALIAS 0x00000080
112 #define DOMAIN_ACCESS_ENUM_ACCOUNTS 0x00000100
113 #define DOMAIN_ACCESS_OPEN_ACCOUNT 0x00000200
114 #define DOMAIN_ACCESS_SET_INFO_3 0x00000400
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
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
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
140 #endif /* packet-dcerpc-samr.h */