Set the svn:eol-style property on all text files to "native", so that
[obnox/wireshark/wip.git] / packet-dcerpc-lsa.h
1 /* packet-dcerpc-lsa.h
2  * Routines for SMB \PIPE\lsarpc packet disassembly
3  * Copyright 2001, Tim Potter <tpot@samba.org>
4  *
5  * $Id$
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_LSA_H
27 #define __PACKET_DCERPC_LSA_H
28
29 #define LSA_LSARCLOSE                           0x00
30 #define LSA_LSARDELETE                          0x01
31 #define LSA_LSARENUMERATEPRIVILEGES             0x02
32 #define LSA_LSARQUERYSECURITYOBJECT             0x03
33 #define LSA_LSARSETSECURITYOBJECT               0x04
34 #define LSA_LSARCHANGEPASSWORD                  0x05
35 #define LSA_LSAROPENPOLICY                      0x06
36 #define LSA_LSARQUERYINFORMATIONPOLICY          0x07
37 #define LSA_LSARSETINFORMATIONPOLICY            0x08
38 #define LSA_LSARCLEARAUDITLOG                   0x09
39 #define LSA_LSARCREATEACCOUNT                   0x0a
40 #define LSA_LSARENUMERATEACCOUNTS               0x0b
41 #define LSA_LSARCREATETRUSTEDDOMAIN             0x0c
42 #define LSA_LSARENUMERATETRUSTEDDOMAINS         0x0d
43 #define LSA_LSARLOOKUPNAMES                     0x0e
44 #define LSA_LSARLOOKUPSIDS                      0x0f
45 #define LSA_LSARCREATESECRET                    0x10
46 #define LSA_LSAROPENACCOUNT                     0x11
47 #define LSA_LSARENUMERATEPRIVILEGESACCOUNT      0x12
48 #define LSA_LSARADDPRIVILEGESTOACCOUNT          0x13
49 #define LSA_LSARREMOVEPRIVILEGESFROMACCOUNT     0x14
50 #define LSA_LSARGETQUOTASFORACCOUNT             0x15
51 #define LSA_LSARSETQUOTASFORACCOUNT             0x16
52 #define LSA_LSARGETSYSTEMACCESSACCOUNT          0x17
53 #define LSA_LSARSETSYSTEMACCESSACCOUNT          0x18
54 #define LSA_LSAROPENTRUSTEDDOMAIN               0x19
55 #define LSA_LSARQUERYINFOTRUSTEDDOMAIN          0x1a
56 #define LSA_LSARSETINFORMATIONTRUSTEDDOMAIN     0x1b
57 #define LSA_LSAROPENSECRET                      0x1c
58 #define LSA_LSARSETSECRET                       0x1d
59 #define LSA_LSARQUERYSECRET                     0x1e
60 #define LSA_LSARLOOKUPPRIVILEGEVALUE            0x1f
61 #define LSA_LSARLOOKUPPRIVILEGENAME             0x20
62 #define LSA_LSARLOOKUPPRIVILEGEDISPLAYNAME      0x21
63 #define LSA_LSARDELETEOBJECT                    0x22
64 #define LSA_LSARENUMERATEACCOUNTSWITHUSERRIGHT  0x23
65 #define LSA_LSARENUMERATEACCOUNTRIGHTS          0x24
66 #define LSA_LSARADDACCOUNTRIGHTS                0x25
67 #define LSA_LSARREMOVEACCOUNTRIGHTS             0x26
68 #define LSA_LSARQUERYTRUSTEDDOMAININFO          0x27
69 #define LSA_LSARSETTRUSTEDDOMAININFO            0x28
70 #define LSA_LSARDELETETRUSTEDDOMAIN             0x29
71 #define LSA_LSARSTOREPRIVATEDATA                0x2a
72 #define LSA_LSARRETRIEVEPRIVATEDATA             0x2b
73 #define LSA_LSAROPENPOLICY2                     0x2c
74 #define LSA_LSARGETUSERNAME                     0x2d
75 #define LSA_LSARQUERYINFORMATIONPOLICY2         0x2e
76 #define LSA_LSARSETINFORMATIONPOLICY2           0x2f
77 #define LSA_LSARQUERYTRUSTEDDOMAININFOBYNAME    0x30
78 #define LSA_LSARSETTRUSTEDDOMAININFOBYNAME      0x31
79 #define LSA_LSARENUMERATETRUSTEDDOMAINSEX       0x32
80 #define LSA_LSARCREATETRUSTEDDOMAINEX           0x33
81 #define LSA_LSARCLOSETRUSTEDDOMAINEX            0x34
82 #define LSA_LSARQUERYDOMAININFORMATIONPOLICY    0x35
83 #define LSA_LSARSETDOMAININFORMATIONPOLICY      0x36
84 #define LSA_LSAROPENTRUSTEDDOMAINBYNAME         0x37
85 #define LSA_LSARTESTCALL                        0x38
86 #define LSA_LSARLOOKUPSIDS2                     0x39
87 #define LSA_LSARLOOKUPNAMES2                    0x3a
88 #define LSA_LSARCREATETRUSTEDDOMAINEX2          0x3b
89 #define LSA_CREDRWRITE                          0x3c
90 #define LSA_CREDRREAD                           0x3d
91 #define LSA_CREDRENUMERATE                      0x3e
92 #define LSA_CREDRWRITEDOMAINCREDENTIALS         0x3f
93 #define LSA_CREDRREADDOMAINCREDENTIALS          0x40
94 #define LSA_CREDRDELETE                         0x41
95 #define LSA_CREDRGETTARGETINFO                  0x42
96 #define LSA_CREDRPROFILELOADED                  0x43
97 #define LSA_LSARLOOKUPNAMES3                    0x44
98 #define LSA_CREDRGETSESSIONTYPES                0x45
99 #define LSA_LSARREGISTERAUDITEVENT              0x46
100 #define LSA_LSARGENAUDITEVENT                   0x47
101 #define LSA_LSARUNREGISTERAUDITEVENT            0x48
102 #define LSA_LSARQUERYFORESTTRUSTINFORMATION     0x49
103 #define LSA_LSARSETFORESTTRUSTINFORMATION       0x4a
104 #define LSA_CREDRRENAME                         0x4b
105 #define LSA_LSARLOOKUPSIDS3                     0x4c
106 #define LSA_LSARLOOKUPNAMES4                    0x4d
107 #define LSA_LSAROPENPOLICYSCE                   0x4e
108 #define LSA_LSARADTREGISTERSECURITYEVENTSOURCE  0x4f
109 #define LSA_LSARADTUNREGISTERSECURITYEVENTSOURCE 0x50
110 #define LSA_LSARADTREPORTSECURITYEVENT          0x51
111
112 int
113 lsa_dissect_LSA_SECURITY_DESCRIPTOR(tvbuff_t *tvb, int offset,
114                              packet_info *pinfo, proto_tree *tree,
115                              guint8 *drep);
116 int
117 lsa_dissect_LSA_SECURITY_DESCRIPTOR_data(tvbuff_t *tvb, int offset,
118                              packet_info *pinfo, proto_tree *tree,
119                              guint8 *drep);
120 int
121 lsa_dissect_LSA_SECRET(tvbuff_t *tvb, int offset,
122                         packet_info *pinfo, proto_tree *parent_tree,
123                         guint8 *drep);
124
125 int
126 lsa_dissect_POLICY_DNS_DOMAIN_INFO(tvbuff_t *tvb, int offset,
127                         packet_info *pinfo, proto_tree *parent_tree,
128                         guint8 *drep);
129
130 /* Specific access rights */
131
132 #define POLICY_VIEW_LOCAL_INFORMATION    0x00000001
133 #define POLICY_VIEW_AUDIT_INFORMATION    0x00000002
134 #define POLICY_GET_PRIVATE_INFORMATION   0x00000004
135 #define POLICY_TRUST_ADMIN               0x00000008
136 #define POLICY_CREATE_ACCOUNT            0x00000010
137 #define POLICY_CREATE_SECRET             0x00000020
138 #define POLICY_CREATE_PRIVILEGE          0x00000040
139 #define POLICY_SET_DEFAULT_QUOTA_LIMITS  0x00000080
140 #define POLICY_SET_AUDIT_REQUIREMENTS    0x00000100
141 #define POLICY_AUDIT_LOG_ADMIN           0x00000200
142 #define POLICY_SERVER_ADMIN              0x00000400
143 #define POLICY_LOOKUP_NAMES              0x00000800
144
145 #endif /* packet-dcerpc-lsa.h */