KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > jcifs > dcerpc > msrpc > samr


1 package jcifs.dcerpc.msrpc;
2
3 import jcifs.dcerpc.*;
4 import jcifs.dcerpc.ndr.*;
5
6 public class samr {
7
8     public static String JavaDoc getSyntax() {
9         return "12345778-1234-abcd-ef00-0123456789ac:1.0";
10     }
11
12     public static class SamrCloseHandle extends DcerpcMessage {
13
14         public int getOpnum() { return 0x01; }
15
16         public int retval;
17         public rpc.policy_handle handle;
18
19         public SamrCloseHandle(rpc.policy_handle handle) {
20             this.handle = handle;
21         }
22
23         public void encode_in(NdrBuffer _dst) throws NdrException {
24             handle.encode(_dst);
25         }
26         public void decode_out(NdrBuffer _src) throws NdrException {
27             retval = (int)_src.dec_ndr_long();
28         }
29     }
30     public static class SamrConnect2 extends DcerpcMessage {
31
32         public int getOpnum() { return 0x39; }
33
34         public int retval;
35         public String JavaDoc system_name;
36         public int access_mask;
37         public rpc.policy_handle handle;
38
39         public SamrConnect2(String JavaDoc system_name, int access_mask, rpc.policy_handle handle) {
40             this.system_name = system_name;
41             this.access_mask = access_mask;
42             this.handle = handle;
43         }
44
45         public void encode_in(NdrBuffer _dst) throws NdrException {
46             _dst.enc_ndr_referent(system_name, 1);
47             if (system_name != null) {
48                 _dst.enc_ndr_string(system_name);
49
50             }
51             _dst.enc_ndr_long(access_mask);
52         }
53         public void decode_out(NdrBuffer _src) throws NdrException {
54             handle.decode(_src);
55             retval = (int)_src.dec_ndr_long();
56         }
57     }
58     public static class SamrConnect4 extends DcerpcMessage {
59
60         public int getOpnum() { return 0x3e; }
61
62         public int retval;
63         public String JavaDoc system_name;
64         public int unknown;
65         public int access_mask;
66         public rpc.policy_handle handle;
67
68         public SamrConnect4(String JavaDoc system_name,
69                     int unknown,
70                     int access_mask,
71                     rpc.policy_handle handle) {
72             this.system_name = system_name;
73             this.unknown = unknown;
74             this.access_mask = access_mask;
75             this.handle = handle;
76         }
77
78         public void encode_in(NdrBuffer _dst) throws NdrException {
79             _dst.enc_ndr_referent(system_name, 1);
80             if (system_name != null) {
81                 _dst.enc_ndr_string(system_name);
82
83             }
84             _dst.enc_ndr_long(unknown);
85             _dst.enc_ndr_long(access_mask);
86         }
87         public void decode_out(NdrBuffer _src) throws NdrException {
88             handle.decode(_src);
89             retval = (int)_src.dec_ndr_long();
90         }
91     }
92     public static class SamrOpenDomain extends DcerpcMessage {
93
94         public int getOpnum() { return 0x07; }
95
96         public int retval;
97         public rpc.policy_handle handle;
98         public int access_mask;
99         public rpc.sid_t sid;
100         public rpc.policy_handle domain_handle;
101
102         public SamrOpenDomain(rpc.policy_handle handle,
103                     int access_mask,
104                     rpc.sid_t sid,
105                     rpc.policy_handle domain_handle) {
106             this.handle = handle;
107             this.access_mask = access_mask;
108             this.sid = sid;
109             this.domain_handle = domain_handle;
110         }
111
112         public void encode_in(NdrBuffer _dst) throws NdrException {
113             handle.encode(_dst);
114             _dst.enc_ndr_long(access_mask);
115             sid.encode(_dst);
116         }
117         public void decode_out(NdrBuffer _src) throws NdrException {
118             domain_handle.decode(_src);
119             retval = (int)_src.dec_ndr_long();
120         }
121     }
122     public static class SamrSamEntry extends NdrObject {
123
124         public int idx;
125         public rpc.unicode_string name;
126
127         public void encode(NdrBuffer _dst) throws NdrException {
128             _dst.align(4);
129             _dst.enc_ndr_long(idx);
130             _dst.enc_ndr_short(name.length);
131             _dst.enc_ndr_short(name.maximum_length);
132             _dst.enc_ndr_referent(name.buffer, 1);
133
134             if (name.buffer != null) {
135                 _dst = _dst.deferred;
136                 int _name_bufferl = name.length / 2;
137                 int _name_buffers = name.maximum_length / 2;
138                 _dst.enc_ndr_long(_name_buffers);
139                 _dst.enc_ndr_long(0);
140                 _dst.enc_ndr_long(_name_bufferl);
141                 int _name_bufferi = _dst.index;
142                 _dst.advance(2 * _name_bufferl);
143
144                 _dst = _dst.derive(_name_bufferi);
145                 for (int _i = 0; _i < _name_bufferl; _i++) {
146                     _dst.enc_ndr_short(name.buffer[_i]);
147                 }
148             }
149         }
150         public void decode(NdrBuffer _src) throws NdrException {
151             _src.align(4);
152             idx = (int)_src.dec_ndr_long();
153             _src.align(4);
154             if (name == null) {
155                 name = new rpc.unicode_string();
156             }
157             name.length = (short)_src.dec_ndr_short();
158             name.maximum_length = (short)_src.dec_ndr_short();
159             int _name_bufferp = _src.dec_ndr_long();
160
161             if (_name_bufferp != 0) {
162                 _src = _src.deferred;
163                 int _name_buffers = _src.dec_ndr_long();
164                 _src.dec_ndr_long();
165                 int _name_bufferl = _src.dec_ndr_long();
166                 int _name_bufferi = _src.index;
167                 _src.advance(2 * _name_bufferl);
168
169                 if (name.buffer == null) {
170                     if (_name_buffers < 0 || _name_buffers > 0xFFFF) throw new NdrException( NdrException.INVALID_CONFORMANCE );
171                     name.buffer = new short[_name_buffers];
172                 }
173                 _src = _src.derive(_name_bufferi);
174                 for (int _i = 0; _i < _name_bufferl; _i++) {
175                     name.buffer[_i] = (short)_src.dec_ndr_short();
176                 }
177             }
178         }
179     }
180     public static class SamrSamArray extends NdrObject {
181
182         public int count;
183         public SamrSamEntry[] entries;
184
185         public void encode(NdrBuffer _dst) throws NdrException {
186             _dst.align(4);
187             _dst.enc_ndr_long(count);
188             _dst.enc_ndr_referent(entries, 1);
189
190             if (entries != null) {
191                 _dst = _dst.deferred;
192                 int _entriess = count;
193                 _dst.enc_ndr_long(_entriess);
194                 int _entriesi = _dst.index;
195                 _dst.advance(12 * _entriess);
196
197                 _dst = _dst.derive(_entriesi);
198                 for (int _i = 0; _i < _entriess; _i++) {
199                     entries[_i].encode(_dst);
200                 }
201             }
202         }
203         public void decode(NdrBuffer _src) throws NdrException {
204             _src.align(4);
205             count = (int)_src.dec_ndr_long();
206             int _entriesp = _src.dec_ndr_long();
207
208             if (_entriesp != 0) {
209                 _src = _src.deferred;
210                 int _entriess = _src.dec_ndr_long();
211                 int _entriesi = _src.index;
212                 _src.advance(12 * _entriess);
213
214                 if (entries == null) {
215                     if (_entriess < 0 || _entriess > 0xFFFF) throw new NdrException( NdrException.INVALID_CONFORMANCE );
216                     entries = new SamrSamEntry[_entriess];
217                 }
218                 _src = _src.derive(_entriesi);
219                 for (int _i = 0; _i < _entriess; _i++) {
220                     if (entries[_i] == null) {
221                         entries[_i] = new SamrSamEntry();
222                     }
223                     entries[_i].decode(_src);
224                 }
225             }
226         }
227     }
228     public static class SamrEnumerateAliasesInDomain extends DcerpcMessage {
229
230         public int getOpnum() { return 0x0f; }
231
232         public int retval;
233         public rpc.policy_handle domain_handle;
234         public int resume_handle;
235         public int acct_flags;
236         public SamrSamArray sam;
237         public int num_entries;
238
239         public SamrEnumerateAliasesInDomain(rpc.policy_handle domain_handle,
240                     int resume_handle,
241                     int acct_flags,
242                     SamrSamArray sam,
243                     int num_entries) {
244             this.domain_handle = domain_handle;
245             this.resume_handle = resume_handle;
246             this.acct_flags = acct_flags;
247             this.sam = sam;
248             this.num_entries = num_entries;
249         }
250
251         public void encode_in(NdrBuffer _dst) throws NdrException {
252             domain_handle.encode(_dst);
253             _dst.enc_ndr_long(resume_handle);
254             _dst.enc_ndr_long(acct_flags);
255         }
256         public void decode_out(NdrBuffer _src) throws NdrException {
257             resume_handle = (int)_src.dec_ndr_long();
258             int _samp = _src.dec_ndr_long();
259             if (_samp != 0) {
260                 if (sam == null) { /* YOYOYO */
261                     sam = new SamrSamArray();
262                 }
263                 sam.decode(_src);
264
265             }
266             num_entries = (int)_src.dec_ndr_long();
267             retval = (int)_src.dec_ndr_long();
268         }
269     }
270     public static class SamrOpenAlias extends DcerpcMessage {
271
272         public int getOpnum() { return 0x1b; }
273
274         public int retval;
275         public rpc.policy_handle domain_handle;
276         public int access_mask;
277         public int rid;
278         public rpc.policy_handle alias_handle;
279
280         public SamrOpenAlias(rpc.policy_handle domain_handle,
281                     int access_mask,
282                     int rid,
283                     rpc.policy_handle alias_handle) {
284             this.domain_handle = domain_handle;
285             this.access_mask = access_mask;
286             this.rid = rid;
287             this.alias_handle = alias_handle;
288         }
289
290         public void encode_in(NdrBuffer _dst) throws NdrException {
291             domain_handle.encode(_dst);
292             _dst.enc_ndr_long(access_mask);
293             _dst.enc_ndr_long(rid);
294         }
295         public void decode_out(NdrBuffer _src) throws NdrException {
296             alias_handle.decode(_src);
297             retval = (int)_src.dec_ndr_long();
298         }
299     }
300     public static class SamrGetMembersInAlias extends DcerpcMessage {
301
302         public int getOpnum() { return 0x21; }
303
304         public int retval;
305         public rpc.policy_handle alias_handle;
306         public lsarpc.LsarSidArray sids;
307
308         public SamrGetMembersInAlias(rpc.policy_handle alias_handle, lsarpc.LsarSidArray sids) {
309             this.alias_handle = alias_handle;
310             this.sids = sids;
311         }
312
313         public void encode_in(NdrBuffer _dst) throws NdrException {
314             alias_handle.encode(_dst);
315         }
316         public void decode_out(NdrBuffer _src) throws NdrException {
317             sids.decode(_src);
318             retval = (int)_src.dec_ndr_long();
319         }
320     }
321 }
322
Popular Tags