Fix symlink calls in all vfs modules.
[Samba.git] / librpc / gen_ndr / cli_netlogon.c
blobeb726f0ed68b70b3dd0eaff1536ed63b12315a28
1 /*
2 * Unix SMB/CIFS implementation.
3 * client auto-generated by pidl. DO NOT MODIFY!
4 */
6 #include "includes.h"
7 #include "../librpc/gen_ndr/cli_netlogon.h"
9 NTSTATUS rpccli_netr_LogonUasLogon(struct rpc_pipe_client *cli,
10 TALLOC_CTX *mem_ctx,
11 const char *server_name /* [in] [unique,charset(UTF16)] */,
12 const char *account_name /* [in] [charset(UTF16)] */,
13 const char *workstation /* [in] [charset(UTF16)] */,
14 struct netr_UasInfo **info /* [out] [ref] */,
15 WERROR *werror)
17 struct netr_LogonUasLogon r;
18 NTSTATUS status;
20 /* In parameters */
21 r.in.server_name = server_name;
22 r.in.account_name = account_name;
23 r.in.workstation = workstation;
25 if (DEBUGLEVEL >= 10) {
26 NDR_PRINT_IN_DEBUG(netr_LogonUasLogon, &r);
29 status = cli->dispatch(cli,
30 mem_ctx,
31 &ndr_table_netlogon,
32 NDR_NETR_LOGONUASLOGON,
33 &r);
35 if (!NT_STATUS_IS_OK(status)) {
36 return status;
39 if (DEBUGLEVEL >= 10) {
40 NDR_PRINT_OUT_DEBUG(netr_LogonUasLogon, &r);
43 if (NT_STATUS_IS_ERR(status)) {
44 return status;
47 /* Return variables */
48 *info = *r.out.info;
50 /* Return result */
51 if (werror) {
52 *werror = r.out.result;
55 return werror_to_ntstatus(r.out.result);
58 NTSTATUS rpccli_netr_LogonUasLogoff(struct rpc_pipe_client *cli,
59 TALLOC_CTX *mem_ctx,
60 const char *server_name /* [in] [unique,charset(UTF16)] */,
61 const char *account_name /* [in] [charset(UTF16)] */,
62 const char *workstation /* [in] [charset(UTF16)] */,
63 struct netr_UasLogoffInfo *info /* [out] [ref] */,
64 WERROR *werror)
66 struct netr_LogonUasLogoff r;
67 NTSTATUS status;
69 /* In parameters */
70 r.in.server_name = server_name;
71 r.in.account_name = account_name;
72 r.in.workstation = workstation;
74 if (DEBUGLEVEL >= 10) {
75 NDR_PRINT_IN_DEBUG(netr_LogonUasLogoff, &r);
78 status = cli->dispatch(cli,
79 mem_ctx,
80 &ndr_table_netlogon,
81 NDR_NETR_LOGONUASLOGOFF,
82 &r);
84 if (!NT_STATUS_IS_OK(status)) {
85 return status;
88 if (DEBUGLEVEL >= 10) {
89 NDR_PRINT_OUT_DEBUG(netr_LogonUasLogoff, &r);
92 if (NT_STATUS_IS_ERR(status)) {
93 return status;
96 /* Return variables */
97 *info = *r.out.info;
99 /* Return result */
100 if (werror) {
101 *werror = r.out.result;
104 return werror_to_ntstatus(r.out.result);
107 NTSTATUS rpccli_netr_LogonSamLogon(struct rpc_pipe_client *cli,
108 TALLOC_CTX *mem_ctx,
109 const char *server_name /* [in] [unique,charset(UTF16)] */,
110 const char *computer_name /* [in] [unique,charset(UTF16)] */,
111 struct netr_Authenticator *credential /* [in] [unique] */,
112 struct netr_Authenticator *return_authenticator /* [in,out] [unique] */,
113 enum netr_LogonInfoClass logon_level /* [in] */,
114 union netr_LogonLevel *logon /* [in] [ref,switch_is(logon_level)] */,
115 uint16_t validation_level /* [in] */,
116 union netr_Validation *validation /* [out] [ref,switch_is(validation_level)] */,
117 uint8_t *authoritative /* [out] [ref] */)
119 struct netr_LogonSamLogon r;
120 NTSTATUS status;
122 /* In parameters */
123 r.in.server_name = server_name;
124 r.in.computer_name = computer_name;
125 r.in.credential = credential;
126 r.in.return_authenticator = return_authenticator;
127 r.in.logon_level = logon_level;
128 r.in.logon = logon;
129 r.in.validation_level = validation_level;
131 if (DEBUGLEVEL >= 10) {
132 NDR_PRINT_IN_DEBUG(netr_LogonSamLogon, &r);
135 status = cli->dispatch(cli,
136 mem_ctx,
137 &ndr_table_netlogon,
138 NDR_NETR_LOGONSAMLOGON,
139 &r);
141 if (!NT_STATUS_IS_OK(status)) {
142 return status;
145 if (DEBUGLEVEL >= 10) {
146 NDR_PRINT_OUT_DEBUG(netr_LogonSamLogon, &r);
149 if (NT_STATUS_IS_ERR(status)) {
150 return status;
153 /* Return variables */
154 if (return_authenticator && r.out.return_authenticator) {
155 *return_authenticator = *r.out.return_authenticator;
157 *validation = *r.out.validation;
158 *authoritative = *r.out.authoritative;
160 /* Return result */
161 return r.out.result;
164 NTSTATUS rpccli_netr_LogonSamLogoff(struct rpc_pipe_client *cli,
165 TALLOC_CTX *mem_ctx,
166 const char *server_name /* [in] [unique,charset(UTF16)] */,
167 const char *computer_name /* [in] [unique,charset(UTF16)] */,
168 struct netr_Authenticator *credential /* [in] [unique] */,
169 struct netr_Authenticator *return_authenticator /* [in,out] [unique] */,
170 enum netr_LogonInfoClass logon_level /* [in] */,
171 union netr_LogonLevel logon /* [in] [switch_is(logon_level)] */)
173 struct netr_LogonSamLogoff r;
174 NTSTATUS status;
176 /* In parameters */
177 r.in.server_name = server_name;
178 r.in.computer_name = computer_name;
179 r.in.credential = credential;
180 r.in.return_authenticator = return_authenticator;
181 r.in.logon_level = logon_level;
182 r.in.logon = logon;
184 if (DEBUGLEVEL >= 10) {
185 NDR_PRINT_IN_DEBUG(netr_LogonSamLogoff, &r);
188 status = cli->dispatch(cli,
189 mem_ctx,
190 &ndr_table_netlogon,
191 NDR_NETR_LOGONSAMLOGOFF,
192 &r);
194 if (!NT_STATUS_IS_OK(status)) {
195 return status;
198 if (DEBUGLEVEL >= 10) {
199 NDR_PRINT_OUT_DEBUG(netr_LogonSamLogoff, &r);
202 if (NT_STATUS_IS_ERR(status)) {
203 return status;
206 /* Return variables */
207 if (return_authenticator && r.out.return_authenticator) {
208 *return_authenticator = *r.out.return_authenticator;
211 /* Return result */
212 return r.out.result;
215 NTSTATUS rpccli_netr_ServerReqChallenge(struct rpc_pipe_client *cli,
216 TALLOC_CTX *mem_ctx,
217 const char *server_name /* [in] [unique,charset(UTF16)] */,
218 const char *computer_name /* [in] [charset(UTF16)] */,
219 struct netr_Credential *credentials /* [in] [ref] */,
220 struct netr_Credential *return_credentials /* [out] [ref] */)
222 struct netr_ServerReqChallenge r;
223 NTSTATUS status;
225 /* In parameters */
226 r.in.server_name = server_name;
227 r.in.computer_name = computer_name;
228 r.in.credentials = credentials;
230 if (DEBUGLEVEL >= 10) {
231 NDR_PRINT_IN_DEBUG(netr_ServerReqChallenge, &r);
234 status = cli->dispatch(cli,
235 mem_ctx,
236 &ndr_table_netlogon,
237 NDR_NETR_SERVERREQCHALLENGE,
238 &r);
240 if (!NT_STATUS_IS_OK(status)) {
241 return status;
244 if (DEBUGLEVEL >= 10) {
245 NDR_PRINT_OUT_DEBUG(netr_ServerReqChallenge, &r);
248 if (NT_STATUS_IS_ERR(status)) {
249 return status;
252 /* Return variables */
253 *return_credentials = *r.out.return_credentials;
255 /* Return result */
256 return r.out.result;
259 NTSTATUS rpccli_netr_ServerAuthenticate(struct rpc_pipe_client *cli,
260 TALLOC_CTX *mem_ctx,
261 const char *server_name /* [in] [unique,charset(UTF16)] */,
262 const char *account_name /* [in] [charset(UTF16)] */,
263 enum netr_SchannelType secure_channel_type /* [in] */,
264 const char *computer_name /* [in] [charset(UTF16)] */,
265 struct netr_Credential *credentials /* [in] [ref] */,
266 struct netr_Credential *return_credentials /* [out] [ref] */)
268 struct netr_ServerAuthenticate r;
269 NTSTATUS status;
271 /* In parameters */
272 r.in.server_name = server_name;
273 r.in.account_name = account_name;
274 r.in.secure_channel_type = secure_channel_type;
275 r.in.computer_name = computer_name;
276 r.in.credentials = credentials;
278 if (DEBUGLEVEL >= 10) {
279 NDR_PRINT_IN_DEBUG(netr_ServerAuthenticate, &r);
282 status = cli->dispatch(cli,
283 mem_ctx,
284 &ndr_table_netlogon,
285 NDR_NETR_SERVERAUTHENTICATE,
286 &r);
288 if (!NT_STATUS_IS_OK(status)) {
289 return status;
292 if (DEBUGLEVEL >= 10) {
293 NDR_PRINT_OUT_DEBUG(netr_ServerAuthenticate, &r);
296 if (NT_STATUS_IS_ERR(status)) {
297 return status;
300 /* Return variables */
301 *return_credentials = *r.out.return_credentials;
303 /* Return result */
304 return r.out.result;
307 NTSTATUS rpccli_netr_ServerPasswordSet(struct rpc_pipe_client *cli,
308 TALLOC_CTX *mem_ctx,
309 const char *server_name /* [in] [unique,charset(UTF16)] */,
310 const char *account_name /* [in] [charset(UTF16)] */,
311 enum netr_SchannelType secure_channel_type /* [in] */,
312 const char *computer_name /* [in] [charset(UTF16)] */,
313 struct netr_Authenticator *credential /* [in] [ref] */,
314 struct netr_Authenticator *return_authenticator /* [out] [ref] */,
315 struct samr_Password *new_password /* [in] [ref] */)
317 struct netr_ServerPasswordSet r;
318 NTSTATUS status;
320 /* In parameters */
321 r.in.server_name = server_name;
322 r.in.account_name = account_name;
323 r.in.secure_channel_type = secure_channel_type;
324 r.in.computer_name = computer_name;
325 r.in.credential = credential;
326 r.in.new_password = new_password;
328 if (DEBUGLEVEL >= 10) {
329 NDR_PRINT_IN_DEBUG(netr_ServerPasswordSet, &r);
332 status = cli->dispatch(cli,
333 mem_ctx,
334 &ndr_table_netlogon,
335 NDR_NETR_SERVERPASSWORDSET,
336 &r);
338 if (!NT_STATUS_IS_OK(status)) {
339 return status;
342 if (DEBUGLEVEL >= 10) {
343 NDR_PRINT_OUT_DEBUG(netr_ServerPasswordSet, &r);
346 if (NT_STATUS_IS_ERR(status)) {
347 return status;
350 /* Return variables */
351 *return_authenticator = *r.out.return_authenticator;
353 /* Return result */
354 return r.out.result;
357 NTSTATUS rpccli_netr_DatabaseDeltas(struct rpc_pipe_client *cli,
358 TALLOC_CTX *mem_ctx,
359 const char *logon_server /* [in] [charset(UTF16)] */,
360 const char *computername /* [in] [charset(UTF16)] */,
361 struct netr_Authenticator *credential /* [in] [ref] */,
362 struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
363 enum netr_SamDatabaseID database_id /* [in] */,
364 uint64_t *sequence_num /* [in,out] [ref] */,
365 struct netr_DELTA_ENUM_ARRAY **delta_enum_array /* [out] [ref] */,
366 uint32_t preferredmaximumlength /* [in] */)
368 struct netr_DatabaseDeltas r;
369 NTSTATUS status;
371 /* In parameters */
372 r.in.logon_server = logon_server;
373 r.in.computername = computername;
374 r.in.credential = credential;
375 r.in.return_authenticator = return_authenticator;
376 r.in.database_id = database_id;
377 r.in.sequence_num = sequence_num;
378 r.in.preferredmaximumlength = preferredmaximumlength;
380 if (DEBUGLEVEL >= 10) {
381 NDR_PRINT_IN_DEBUG(netr_DatabaseDeltas, &r);
384 status = cli->dispatch(cli,
385 mem_ctx,
386 &ndr_table_netlogon,
387 NDR_NETR_DATABASEDELTAS,
388 &r);
390 if (!NT_STATUS_IS_OK(status)) {
391 return status;
394 if (DEBUGLEVEL >= 10) {
395 NDR_PRINT_OUT_DEBUG(netr_DatabaseDeltas, &r);
398 if (NT_STATUS_IS_ERR(status)) {
399 return status;
402 /* Return variables */
403 *return_authenticator = *r.out.return_authenticator;
404 *sequence_num = *r.out.sequence_num;
405 *delta_enum_array = *r.out.delta_enum_array;
407 /* Return result */
408 return r.out.result;
411 NTSTATUS rpccli_netr_DatabaseSync(struct rpc_pipe_client *cli,
412 TALLOC_CTX *mem_ctx,
413 const char *logon_server /* [in] [charset(UTF16)] */,
414 const char *computername /* [in] [charset(UTF16)] */,
415 struct netr_Authenticator *credential /* [in] [ref] */,
416 struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
417 enum netr_SamDatabaseID database_id /* [in] */,
418 uint32_t *sync_context /* [in,out] [ref] */,
419 struct netr_DELTA_ENUM_ARRAY **delta_enum_array /* [out] [ref] */,
420 uint32_t preferredmaximumlength /* [in] */)
422 struct netr_DatabaseSync r;
423 NTSTATUS status;
425 /* In parameters */
426 r.in.logon_server = logon_server;
427 r.in.computername = computername;
428 r.in.credential = credential;
429 r.in.return_authenticator = return_authenticator;
430 r.in.database_id = database_id;
431 r.in.sync_context = sync_context;
432 r.in.preferredmaximumlength = preferredmaximumlength;
434 if (DEBUGLEVEL >= 10) {
435 NDR_PRINT_IN_DEBUG(netr_DatabaseSync, &r);
438 status = cli->dispatch(cli,
439 mem_ctx,
440 &ndr_table_netlogon,
441 NDR_NETR_DATABASESYNC,
442 &r);
444 if (!NT_STATUS_IS_OK(status)) {
445 return status;
448 if (DEBUGLEVEL >= 10) {
449 NDR_PRINT_OUT_DEBUG(netr_DatabaseSync, &r);
452 if (NT_STATUS_IS_ERR(status)) {
453 return status;
456 /* Return variables */
457 *return_authenticator = *r.out.return_authenticator;
458 *sync_context = *r.out.sync_context;
459 *delta_enum_array = *r.out.delta_enum_array;
461 /* Return result */
462 return r.out.result;
465 NTSTATUS rpccli_netr_AccountDeltas(struct rpc_pipe_client *cli,
466 TALLOC_CTX *mem_ctx,
467 const char *logon_server /* [in] [unique,charset(UTF16)] */,
468 const char *computername /* [in] [charset(UTF16)] */,
469 struct netr_Authenticator credential /* [in] */,
470 struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
471 struct netr_UAS_INFO_0 uas /* [in] */,
472 uint32_t count /* [in] */,
473 uint32_t level /* [in] */,
474 uint32_t buffersize /* [in] */,
475 struct netr_AccountBuffer *buffer /* [out] [ref,subcontext(4)] */,
476 uint32_t *count_returned /* [out] [ref] */,
477 uint32_t *total_entries /* [out] [ref] */,
478 struct netr_UAS_INFO_0 *recordid /* [out] [ref] */)
480 struct netr_AccountDeltas r;
481 NTSTATUS status;
483 /* In parameters */
484 r.in.logon_server = logon_server;
485 r.in.computername = computername;
486 r.in.credential = credential;
487 r.in.return_authenticator = return_authenticator;
488 r.in.uas = uas;
489 r.in.count = count;
490 r.in.level = level;
491 r.in.buffersize = buffersize;
493 if (DEBUGLEVEL >= 10) {
494 NDR_PRINT_IN_DEBUG(netr_AccountDeltas, &r);
497 status = cli->dispatch(cli,
498 mem_ctx,
499 &ndr_table_netlogon,
500 NDR_NETR_ACCOUNTDELTAS,
501 &r);
503 if (!NT_STATUS_IS_OK(status)) {
504 return status;
507 if (DEBUGLEVEL >= 10) {
508 NDR_PRINT_OUT_DEBUG(netr_AccountDeltas, &r);
511 if (NT_STATUS_IS_ERR(status)) {
512 return status;
515 /* Return variables */
516 *return_authenticator = *r.out.return_authenticator;
517 *buffer = *r.out.buffer;
518 *count_returned = *r.out.count_returned;
519 *total_entries = *r.out.total_entries;
520 *recordid = *r.out.recordid;
522 /* Return result */
523 return r.out.result;
526 NTSTATUS rpccli_netr_AccountSync(struct rpc_pipe_client *cli,
527 TALLOC_CTX *mem_ctx,
528 const char *logon_server /* [in] [unique,charset(UTF16)] */,
529 const char *computername /* [in] [charset(UTF16)] */,
530 struct netr_Authenticator credential /* [in] */,
531 struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
532 uint32_t reference /* [in] */,
533 uint32_t level /* [in] */,
534 uint32_t buffersize /* [in] */,
535 struct netr_AccountBuffer *buffer /* [out] [ref,subcontext(4)] */,
536 uint32_t *count_returned /* [out] [ref] */,
537 uint32_t *total_entries /* [out] [ref] */,
538 uint32_t *next_reference /* [out] [ref] */,
539 struct netr_UAS_INFO_0 *recordid /* [in,out] [ref] */)
541 struct netr_AccountSync r;
542 NTSTATUS status;
544 /* In parameters */
545 r.in.logon_server = logon_server;
546 r.in.computername = computername;
547 r.in.credential = credential;
548 r.in.return_authenticator = return_authenticator;
549 r.in.reference = reference;
550 r.in.level = level;
551 r.in.buffersize = buffersize;
552 r.in.recordid = recordid;
554 if (DEBUGLEVEL >= 10) {
555 NDR_PRINT_IN_DEBUG(netr_AccountSync, &r);
558 status = cli->dispatch(cli,
559 mem_ctx,
560 &ndr_table_netlogon,
561 NDR_NETR_ACCOUNTSYNC,
562 &r);
564 if (!NT_STATUS_IS_OK(status)) {
565 return status;
568 if (DEBUGLEVEL >= 10) {
569 NDR_PRINT_OUT_DEBUG(netr_AccountSync, &r);
572 if (NT_STATUS_IS_ERR(status)) {
573 return status;
576 /* Return variables */
577 *return_authenticator = *r.out.return_authenticator;
578 *buffer = *r.out.buffer;
579 *count_returned = *r.out.count_returned;
580 *total_entries = *r.out.total_entries;
581 *next_reference = *r.out.next_reference;
582 *recordid = *r.out.recordid;
584 /* Return result */
585 return r.out.result;
588 NTSTATUS rpccli_netr_GetDcName(struct rpc_pipe_client *cli,
589 TALLOC_CTX *mem_ctx,
590 const char *logon_server /* [in] [charset(UTF16)] */,
591 const char *domainname /* [in] [unique,charset(UTF16)] */,
592 const char **dcname /* [out] [ref,charset(UTF16)] */,
593 WERROR *werror)
595 struct netr_GetDcName r;
596 NTSTATUS status;
598 /* In parameters */
599 r.in.logon_server = logon_server;
600 r.in.domainname = domainname;
602 if (DEBUGLEVEL >= 10) {
603 NDR_PRINT_IN_DEBUG(netr_GetDcName, &r);
606 status = cli->dispatch(cli,
607 mem_ctx,
608 &ndr_table_netlogon,
609 NDR_NETR_GETDCNAME,
610 &r);
612 if (!NT_STATUS_IS_OK(status)) {
613 return status;
616 if (DEBUGLEVEL >= 10) {
617 NDR_PRINT_OUT_DEBUG(netr_GetDcName, &r);
620 if (NT_STATUS_IS_ERR(status)) {
621 return status;
624 /* Return variables */
625 *dcname = *r.out.dcname;
627 /* Return result */
628 if (werror) {
629 *werror = r.out.result;
632 return werror_to_ntstatus(r.out.result);
635 NTSTATUS rpccli_netr_LogonControl(struct rpc_pipe_client *cli,
636 TALLOC_CTX *mem_ctx,
637 const char *logon_server /* [in] [unique,charset(UTF16)] */,
638 enum netr_LogonControlCode function_code /* [in] */,
639 uint32_t level /* [in] */,
640 union netr_CONTROL_QUERY_INFORMATION *info /* [out] [ref,switch_is(level)] */,
641 WERROR *werror)
643 struct netr_LogonControl r;
644 NTSTATUS status;
646 /* In parameters */
647 r.in.logon_server = logon_server;
648 r.in.function_code = function_code;
649 r.in.level = level;
651 if (DEBUGLEVEL >= 10) {
652 NDR_PRINT_IN_DEBUG(netr_LogonControl, &r);
655 status = cli->dispatch(cli,
656 mem_ctx,
657 &ndr_table_netlogon,
658 NDR_NETR_LOGONCONTROL,
659 &r);
661 if (!NT_STATUS_IS_OK(status)) {
662 return status;
665 if (DEBUGLEVEL >= 10) {
666 NDR_PRINT_OUT_DEBUG(netr_LogonControl, &r);
669 if (NT_STATUS_IS_ERR(status)) {
670 return status;
673 /* Return variables */
674 *info = *r.out.info;
676 /* Return result */
677 if (werror) {
678 *werror = r.out.result;
681 return werror_to_ntstatus(r.out.result);
684 NTSTATUS rpccli_netr_GetAnyDCName(struct rpc_pipe_client *cli,
685 TALLOC_CTX *mem_ctx,
686 const char *logon_server /* [in] [unique,charset(UTF16)] */,
687 const char *domainname /* [in] [unique,charset(UTF16)] */,
688 const char **dcname /* [out] [ref,charset(UTF16)] */,
689 WERROR *werror)
691 struct netr_GetAnyDCName r;
692 NTSTATUS status;
694 /* In parameters */
695 r.in.logon_server = logon_server;
696 r.in.domainname = domainname;
698 if (DEBUGLEVEL >= 10) {
699 NDR_PRINT_IN_DEBUG(netr_GetAnyDCName, &r);
702 status = cli->dispatch(cli,
703 mem_ctx,
704 &ndr_table_netlogon,
705 NDR_NETR_GETANYDCNAME,
706 &r);
708 if (!NT_STATUS_IS_OK(status)) {
709 return status;
712 if (DEBUGLEVEL >= 10) {
713 NDR_PRINT_OUT_DEBUG(netr_GetAnyDCName, &r);
716 if (NT_STATUS_IS_ERR(status)) {
717 return status;
720 /* Return variables */
721 *dcname = *r.out.dcname;
723 /* Return result */
724 if (werror) {
725 *werror = r.out.result;
728 return werror_to_ntstatus(r.out.result);
731 NTSTATUS rpccli_netr_LogonControl2(struct rpc_pipe_client *cli,
732 TALLOC_CTX *mem_ctx,
733 const char *logon_server /* [in] [unique,charset(UTF16)] */,
734 enum netr_LogonControlCode function_code /* [in] */,
735 uint32_t level /* [in] */,
736 union netr_CONTROL_DATA_INFORMATION *data /* [in] [ref,switch_is(function_code)] */,
737 union netr_CONTROL_QUERY_INFORMATION *query /* [out] [ref,switch_is(level)] */,
738 WERROR *werror)
740 struct netr_LogonControl2 r;
741 NTSTATUS status;
743 /* In parameters */
744 r.in.logon_server = logon_server;
745 r.in.function_code = function_code;
746 r.in.level = level;
747 r.in.data = data;
749 if (DEBUGLEVEL >= 10) {
750 NDR_PRINT_IN_DEBUG(netr_LogonControl2, &r);
753 status = cli->dispatch(cli,
754 mem_ctx,
755 &ndr_table_netlogon,
756 NDR_NETR_LOGONCONTROL2,
757 &r);
759 if (!NT_STATUS_IS_OK(status)) {
760 return status;
763 if (DEBUGLEVEL >= 10) {
764 NDR_PRINT_OUT_DEBUG(netr_LogonControl2, &r);
767 if (NT_STATUS_IS_ERR(status)) {
768 return status;
771 /* Return variables */
772 *query = *r.out.query;
774 /* Return result */
775 if (werror) {
776 *werror = r.out.result;
779 return werror_to_ntstatus(r.out.result);
782 NTSTATUS rpccli_netr_ServerAuthenticate2(struct rpc_pipe_client *cli,
783 TALLOC_CTX *mem_ctx,
784 const char *server_name /* [in] [unique,charset(UTF16)] */,
785 const char *account_name /* [in] [charset(UTF16)] */,
786 enum netr_SchannelType secure_channel_type /* [in] */,
787 const char *computer_name /* [in] [charset(UTF16)] */,
788 struct netr_Credential *credentials /* [in] [ref] */,
789 struct netr_Credential *return_credentials /* [out] [ref] */,
790 uint32_t *negotiate_flags /* [in,out] [ref] */)
792 struct netr_ServerAuthenticate2 r;
793 NTSTATUS status;
795 /* In parameters */
796 r.in.server_name = server_name;
797 r.in.account_name = account_name;
798 r.in.secure_channel_type = secure_channel_type;
799 r.in.computer_name = computer_name;
800 r.in.credentials = credentials;
801 r.in.negotiate_flags = negotiate_flags;
803 if (DEBUGLEVEL >= 10) {
804 NDR_PRINT_IN_DEBUG(netr_ServerAuthenticate2, &r);
807 status = cli->dispatch(cli,
808 mem_ctx,
809 &ndr_table_netlogon,
810 NDR_NETR_SERVERAUTHENTICATE2,
811 &r);
813 if (!NT_STATUS_IS_OK(status)) {
814 return status;
817 if (DEBUGLEVEL >= 10) {
818 NDR_PRINT_OUT_DEBUG(netr_ServerAuthenticate2, &r);
821 if (NT_STATUS_IS_ERR(status)) {
822 return status;
825 /* Return variables */
826 *return_credentials = *r.out.return_credentials;
827 *negotiate_flags = *r.out.negotiate_flags;
829 /* Return result */
830 return r.out.result;
833 NTSTATUS rpccli_netr_DatabaseSync2(struct rpc_pipe_client *cli,
834 TALLOC_CTX *mem_ctx,
835 const char *logon_server /* [in] [charset(UTF16)] */,
836 const char *computername /* [in] [charset(UTF16)] */,
837 struct netr_Authenticator *credential /* [in] [ref] */,
838 struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
839 enum netr_SamDatabaseID database_id /* [in] */,
840 uint16_t restart_state /* [in] */,
841 uint32_t *sync_context /* [in,out] [ref] */,
842 struct netr_DELTA_ENUM_ARRAY **delta_enum_array /* [out] [ref] */,
843 uint32_t preferredmaximumlength /* [in] */)
845 struct netr_DatabaseSync2 r;
846 NTSTATUS status;
848 /* In parameters */
849 r.in.logon_server = logon_server;
850 r.in.computername = computername;
851 r.in.credential = credential;
852 r.in.return_authenticator = return_authenticator;
853 r.in.database_id = database_id;
854 r.in.restart_state = restart_state;
855 r.in.sync_context = sync_context;
856 r.in.preferredmaximumlength = preferredmaximumlength;
858 if (DEBUGLEVEL >= 10) {
859 NDR_PRINT_IN_DEBUG(netr_DatabaseSync2, &r);
862 status = cli->dispatch(cli,
863 mem_ctx,
864 &ndr_table_netlogon,
865 NDR_NETR_DATABASESYNC2,
866 &r);
868 if (!NT_STATUS_IS_OK(status)) {
869 return status;
872 if (DEBUGLEVEL >= 10) {
873 NDR_PRINT_OUT_DEBUG(netr_DatabaseSync2, &r);
876 if (NT_STATUS_IS_ERR(status)) {
877 return status;
880 /* Return variables */
881 *return_authenticator = *r.out.return_authenticator;
882 *sync_context = *r.out.sync_context;
883 *delta_enum_array = *r.out.delta_enum_array;
885 /* Return result */
886 return r.out.result;
889 NTSTATUS rpccli_netr_DatabaseRedo(struct rpc_pipe_client *cli,
890 TALLOC_CTX *mem_ctx,
891 const char *logon_server /* [in] [charset(UTF16)] */,
892 const char *computername /* [in] [charset(UTF16)] */,
893 struct netr_Authenticator *credential /* [in] [ref] */,
894 struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
895 struct netr_ChangeLogEntry change_log_entry /* [in] [subcontext_size(change_log_entry_size),subcontext(4)] */,
896 uint32_t change_log_entry_size /* [in] [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,ndr->iconv_convenience,ndr->flags))] */,
897 struct netr_DELTA_ENUM_ARRAY **delta_enum_array /* [out] [ref] */)
899 struct netr_DatabaseRedo r;
900 NTSTATUS status;
902 /* In parameters */
903 r.in.logon_server = logon_server;
904 r.in.computername = computername;
905 r.in.credential = credential;
906 r.in.return_authenticator = return_authenticator;
907 r.in.change_log_entry = change_log_entry;
908 r.in.change_log_entry_size = change_log_entry_size;
910 if (DEBUGLEVEL >= 10) {
911 NDR_PRINT_IN_DEBUG(netr_DatabaseRedo, &r);
914 status = cli->dispatch(cli,
915 mem_ctx,
916 &ndr_table_netlogon,
917 NDR_NETR_DATABASEREDO,
918 &r);
920 if (!NT_STATUS_IS_OK(status)) {
921 return status;
924 if (DEBUGLEVEL >= 10) {
925 NDR_PRINT_OUT_DEBUG(netr_DatabaseRedo, &r);
928 if (NT_STATUS_IS_ERR(status)) {
929 return status;
932 /* Return variables */
933 *return_authenticator = *r.out.return_authenticator;
934 *delta_enum_array = *r.out.delta_enum_array;
936 /* Return result */
937 return r.out.result;
940 NTSTATUS rpccli_netr_LogonControl2Ex(struct rpc_pipe_client *cli,
941 TALLOC_CTX *mem_ctx,
942 const char *logon_server /* [in] [unique,charset(UTF16)] */,
943 enum netr_LogonControlCode function_code /* [in] */,
944 uint32_t level /* [in] */,
945 union netr_CONTROL_DATA_INFORMATION *data /* [in] [ref,switch_is(function_code)] */,
946 union netr_CONTROL_QUERY_INFORMATION *query /* [out] [ref,switch_is(level)] */,
947 WERROR *werror)
949 struct netr_LogonControl2Ex r;
950 NTSTATUS status;
952 /* In parameters */
953 r.in.logon_server = logon_server;
954 r.in.function_code = function_code;
955 r.in.level = level;
956 r.in.data = data;
958 if (DEBUGLEVEL >= 10) {
959 NDR_PRINT_IN_DEBUG(netr_LogonControl2Ex, &r);
962 status = cli->dispatch(cli,
963 mem_ctx,
964 &ndr_table_netlogon,
965 NDR_NETR_LOGONCONTROL2EX,
966 &r);
968 if (!NT_STATUS_IS_OK(status)) {
969 return status;
972 if (DEBUGLEVEL >= 10) {
973 NDR_PRINT_OUT_DEBUG(netr_LogonControl2Ex, &r);
976 if (NT_STATUS_IS_ERR(status)) {
977 return status;
980 /* Return variables */
981 *query = *r.out.query;
983 /* Return result */
984 if (werror) {
985 *werror = r.out.result;
988 return werror_to_ntstatus(r.out.result);
991 NTSTATUS rpccli_netr_NetrEnumerateTrustedDomains(struct rpc_pipe_client *cli,
992 TALLOC_CTX *mem_ctx,
993 const char *server_name /* [in] [unique,charset(UTF16)] */,
994 struct netr_Blob *trusted_domains_blob /* [out] [ref] */,
995 WERROR *werror)
997 struct netr_NetrEnumerateTrustedDomains r;
998 NTSTATUS status;
1000 /* In parameters */
1001 r.in.server_name = server_name;
1003 if (DEBUGLEVEL >= 10) {
1004 NDR_PRINT_IN_DEBUG(netr_NetrEnumerateTrustedDomains, &r);
1007 status = cli->dispatch(cli,
1008 mem_ctx,
1009 &ndr_table_netlogon,
1010 NDR_NETR_NETRENUMERATETRUSTEDDOMAINS,
1011 &r);
1013 if (!NT_STATUS_IS_OK(status)) {
1014 return status;
1017 if (DEBUGLEVEL >= 10) {
1018 NDR_PRINT_OUT_DEBUG(netr_NetrEnumerateTrustedDomains, &r);
1021 if (NT_STATUS_IS_ERR(status)) {
1022 return status;
1025 /* Return variables */
1026 *trusted_domains_blob = *r.out.trusted_domains_blob;
1028 /* Return result */
1029 if (werror) {
1030 *werror = r.out.result;
1033 return werror_to_ntstatus(r.out.result);
1036 NTSTATUS rpccli_netr_DsRGetDCName(struct rpc_pipe_client *cli,
1037 TALLOC_CTX *mem_ctx,
1038 const char *server_unc /* [in] [unique,charset(UTF16)] */,
1039 const char *domain_name /* [in] [unique,charset(UTF16)] */,
1040 struct GUID *domain_guid /* [in] [unique] */,
1041 struct GUID *site_guid /* [in] [unique] */,
1042 uint32_t flags /* [in] */,
1043 struct netr_DsRGetDCNameInfo **info /* [out] [ref] */,
1044 WERROR *werror)
1046 struct netr_DsRGetDCName r;
1047 NTSTATUS status;
1049 /* In parameters */
1050 r.in.server_unc = server_unc;
1051 r.in.domain_name = domain_name;
1052 r.in.domain_guid = domain_guid;
1053 r.in.site_guid = site_guid;
1054 r.in.flags = flags;
1056 if (DEBUGLEVEL >= 10) {
1057 NDR_PRINT_IN_DEBUG(netr_DsRGetDCName, &r);
1060 status = cli->dispatch(cli,
1061 mem_ctx,
1062 &ndr_table_netlogon,
1063 NDR_NETR_DSRGETDCNAME,
1064 &r);
1066 if (!NT_STATUS_IS_OK(status)) {
1067 return status;
1070 if (DEBUGLEVEL >= 10) {
1071 NDR_PRINT_OUT_DEBUG(netr_DsRGetDCName, &r);
1074 if (NT_STATUS_IS_ERR(status)) {
1075 return status;
1078 /* Return variables */
1079 *info = *r.out.info;
1081 /* Return result */
1082 if (werror) {
1083 *werror = r.out.result;
1086 return werror_to_ntstatus(r.out.result);
1089 NTSTATUS rpccli_netr_LogonGetCapabilities(struct rpc_pipe_client *cli,
1090 TALLOC_CTX *mem_ctx,
1091 const char *server_name /* [in] [charset(UTF16)] */,
1092 const char *computer_name /* [in] [unique,charset(UTF16)] */,
1093 struct netr_Authenticator *credential /* [in] [ref] */,
1094 struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
1095 uint32_t query_level /* [in] */,
1096 union netr_Capabilities *capabilities /* [out] [ref,switch_is(query_level)] */)
1098 struct netr_LogonGetCapabilities r;
1099 NTSTATUS status;
1101 /* In parameters */
1102 r.in.server_name = server_name;
1103 r.in.computer_name = computer_name;
1104 r.in.credential = credential;
1105 r.in.return_authenticator = return_authenticator;
1106 r.in.query_level = query_level;
1108 if (DEBUGLEVEL >= 10) {
1109 NDR_PRINT_IN_DEBUG(netr_LogonGetCapabilities, &r);
1112 status = cli->dispatch(cli,
1113 mem_ctx,
1114 &ndr_table_netlogon,
1115 NDR_NETR_LOGONGETCAPABILITIES,
1116 &r);
1118 if (!NT_STATUS_IS_OK(status)) {
1119 return status;
1122 if (DEBUGLEVEL >= 10) {
1123 NDR_PRINT_OUT_DEBUG(netr_LogonGetCapabilities, &r);
1126 if (NT_STATUS_IS_ERR(status)) {
1127 return status;
1130 /* Return variables */
1131 *return_authenticator = *r.out.return_authenticator;
1132 *capabilities = *r.out.capabilities;
1134 /* Return result */
1135 return r.out.result;
1138 NTSTATUS rpccli_netr_NETRLOGONSETSERVICEBITS(struct rpc_pipe_client *cli,
1139 TALLOC_CTX *mem_ctx,
1140 WERROR *werror)
1142 struct netr_NETRLOGONSETSERVICEBITS r;
1143 NTSTATUS status;
1145 /* In parameters */
1147 if (DEBUGLEVEL >= 10) {
1148 NDR_PRINT_IN_DEBUG(netr_NETRLOGONSETSERVICEBITS, &r);
1151 status = cli->dispatch(cli,
1152 mem_ctx,
1153 &ndr_table_netlogon,
1154 NDR_NETR_NETRLOGONSETSERVICEBITS,
1155 &r);
1157 if (!NT_STATUS_IS_OK(status)) {
1158 return status;
1161 if (DEBUGLEVEL >= 10) {
1162 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONSETSERVICEBITS, &r);
1165 if (NT_STATUS_IS_ERR(status)) {
1166 return status;
1169 /* Return variables */
1171 /* Return result */
1172 if (werror) {
1173 *werror = r.out.result;
1176 return werror_to_ntstatus(r.out.result);
1179 NTSTATUS rpccli_netr_LogonGetTrustRid(struct rpc_pipe_client *cli,
1180 TALLOC_CTX *mem_ctx,
1181 const char *server_name /* [in] [unique,charset(UTF16)] */,
1182 const char *domain_name /* [in] [unique,charset(UTF16)] */,
1183 uint32_t *rid /* [out] [ref] */,
1184 WERROR *werror)
1186 struct netr_LogonGetTrustRid r;
1187 NTSTATUS status;
1189 /* In parameters */
1190 r.in.server_name = server_name;
1191 r.in.domain_name = domain_name;
1193 if (DEBUGLEVEL >= 10) {
1194 NDR_PRINT_IN_DEBUG(netr_LogonGetTrustRid, &r);
1197 status = cli->dispatch(cli,
1198 mem_ctx,
1199 &ndr_table_netlogon,
1200 NDR_NETR_LOGONGETTRUSTRID,
1201 &r);
1203 if (!NT_STATUS_IS_OK(status)) {
1204 return status;
1207 if (DEBUGLEVEL >= 10) {
1208 NDR_PRINT_OUT_DEBUG(netr_LogonGetTrustRid, &r);
1211 if (NT_STATUS_IS_ERR(status)) {
1212 return status;
1215 /* Return variables */
1216 *rid = *r.out.rid;
1218 /* Return result */
1219 if (werror) {
1220 *werror = r.out.result;
1223 return werror_to_ntstatus(r.out.result);
1226 NTSTATUS rpccli_netr_NETRLOGONCOMPUTESERVERDIGEST(struct rpc_pipe_client *cli,
1227 TALLOC_CTX *mem_ctx,
1228 WERROR *werror)
1230 struct netr_NETRLOGONCOMPUTESERVERDIGEST r;
1231 NTSTATUS status;
1233 /* In parameters */
1235 if (DEBUGLEVEL >= 10) {
1236 NDR_PRINT_IN_DEBUG(netr_NETRLOGONCOMPUTESERVERDIGEST, &r);
1239 status = cli->dispatch(cli,
1240 mem_ctx,
1241 &ndr_table_netlogon,
1242 NDR_NETR_NETRLOGONCOMPUTESERVERDIGEST,
1243 &r);
1245 if (!NT_STATUS_IS_OK(status)) {
1246 return status;
1249 if (DEBUGLEVEL >= 10) {
1250 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONCOMPUTESERVERDIGEST, &r);
1253 if (NT_STATUS_IS_ERR(status)) {
1254 return status;
1257 /* Return variables */
1259 /* Return result */
1260 if (werror) {
1261 *werror = r.out.result;
1264 return werror_to_ntstatus(r.out.result);
1267 NTSTATUS rpccli_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct rpc_pipe_client *cli,
1268 TALLOC_CTX *mem_ctx,
1269 WERROR *werror)
1271 struct netr_NETRLOGONCOMPUTECLIENTDIGEST r;
1272 NTSTATUS status;
1274 /* In parameters */
1276 if (DEBUGLEVEL >= 10) {
1277 NDR_PRINT_IN_DEBUG(netr_NETRLOGONCOMPUTECLIENTDIGEST, &r);
1280 status = cli->dispatch(cli,
1281 mem_ctx,
1282 &ndr_table_netlogon,
1283 NDR_NETR_NETRLOGONCOMPUTECLIENTDIGEST,
1284 &r);
1286 if (!NT_STATUS_IS_OK(status)) {
1287 return status;
1290 if (DEBUGLEVEL >= 10) {
1291 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONCOMPUTECLIENTDIGEST, &r);
1294 if (NT_STATUS_IS_ERR(status)) {
1295 return status;
1298 /* Return variables */
1300 /* Return result */
1301 if (werror) {
1302 *werror = r.out.result;
1305 return werror_to_ntstatus(r.out.result);
1308 NTSTATUS rpccli_netr_ServerAuthenticate3(struct rpc_pipe_client *cli,
1309 TALLOC_CTX *mem_ctx,
1310 const char *server_name /* [in] [unique,charset(UTF16)] */,
1311 const char *account_name /* [in] [charset(UTF16)] */,
1312 enum netr_SchannelType secure_channel_type /* [in] */,
1313 const char *computer_name /* [in] [charset(UTF16)] */,
1314 struct netr_Credential *credentials /* [in] [ref] */,
1315 struct netr_Credential *return_credentials /* [out] [ref] */,
1316 uint32_t *negotiate_flags /* [in,out] [ref] */,
1317 uint32_t *rid /* [out] [ref] */)
1319 struct netr_ServerAuthenticate3 r;
1320 NTSTATUS status;
1322 /* In parameters */
1323 r.in.server_name = server_name;
1324 r.in.account_name = account_name;
1325 r.in.secure_channel_type = secure_channel_type;
1326 r.in.computer_name = computer_name;
1327 r.in.credentials = credentials;
1328 r.in.negotiate_flags = negotiate_flags;
1330 if (DEBUGLEVEL >= 10) {
1331 NDR_PRINT_IN_DEBUG(netr_ServerAuthenticate3, &r);
1334 status = cli->dispatch(cli,
1335 mem_ctx,
1336 &ndr_table_netlogon,
1337 NDR_NETR_SERVERAUTHENTICATE3,
1338 &r);
1340 if (!NT_STATUS_IS_OK(status)) {
1341 return status;
1344 if (DEBUGLEVEL >= 10) {
1345 NDR_PRINT_OUT_DEBUG(netr_ServerAuthenticate3, &r);
1348 if (NT_STATUS_IS_ERR(status)) {
1349 return status;
1352 /* Return variables */
1353 *return_credentials = *r.out.return_credentials;
1354 *negotiate_flags = *r.out.negotiate_flags;
1355 *rid = *r.out.rid;
1357 /* Return result */
1358 return r.out.result;
1361 NTSTATUS rpccli_netr_DsRGetDCNameEx(struct rpc_pipe_client *cli,
1362 TALLOC_CTX *mem_ctx,
1363 const char *server_unc /* [in] [unique,charset(UTF16)] */,
1364 const char *domain_name /* [in] [unique,charset(UTF16)] */,
1365 struct GUID *domain_guid /* [in] [unique] */,
1366 const char *site_name /* [in] [unique,charset(UTF16)] */,
1367 uint32_t flags /* [in] */,
1368 struct netr_DsRGetDCNameInfo **info /* [out] [ref] */,
1369 WERROR *werror)
1371 struct netr_DsRGetDCNameEx r;
1372 NTSTATUS status;
1374 /* In parameters */
1375 r.in.server_unc = server_unc;
1376 r.in.domain_name = domain_name;
1377 r.in.domain_guid = domain_guid;
1378 r.in.site_name = site_name;
1379 r.in.flags = flags;
1381 if (DEBUGLEVEL >= 10) {
1382 NDR_PRINT_IN_DEBUG(netr_DsRGetDCNameEx, &r);
1385 status = cli->dispatch(cli,
1386 mem_ctx,
1387 &ndr_table_netlogon,
1388 NDR_NETR_DSRGETDCNAMEEX,
1389 &r);
1391 if (!NT_STATUS_IS_OK(status)) {
1392 return status;
1395 if (DEBUGLEVEL >= 10) {
1396 NDR_PRINT_OUT_DEBUG(netr_DsRGetDCNameEx, &r);
1399 if (NT_STATUS_IS_ERR(status)) {
1400 return status;
1403 /* Return variables */
1404 *info = *r.out.info;
1406 /* Return result */
1407 if (werror) {
1408 *werror = r.out.result;
1411 return werror_to_ntstatus(r.out.result);
1414 NTSTATUS rpccli_netr_DsRGetSiteName(struct rpc_pipe_client *cli,
1415 TALLOC_CTX *mem_ctx,
1416 const char *computer_name /* [in] [unique,charset(UTF16)] */,
1417 const char **site /* [out] [ref,charset(UTF16)] */,
1418 WERROR *werror)
1420 struct netr_DsRGetSiteName r;
1421 NTSTATUS status;
1423 /* In parameters */
1424 r.in.computer_name = computer_name;
1426 if (DEBUGLEVEL >= 10) {
1427 NDR_PRINT_IN_DEBUG(netr_DsRGetSiteName, &r);
1430 status = cli->dispatch(cli,
1431 mem_ctx,
1432 &ndr_table_netlogon,
1433 NDR_NETR_DSRGETSITENAME,
1434 &r);
1436 if (!NT_STATUS_IS_OK(status)) {
1437 return status;
1440 if (DEBUGLEVEL >= 10) {
1441 NDR_PRINT_OUT_DEBUG(netr_DsRGetSiteName, &r);
1444 if (NT_STATUS_IS_ERR(status)) {
1445 return status;
1448 /* Return variables */
1449 *site = *r.out.site;
1451 /* Return result */
1452 if (werror) {
1453 *werror = r.out.result;
1456 return werror_to_ntstatus(r.out.result);
1459 NTSTATUS rpccli_netr_LogonGetDomainInfo(struct rpc_pipe_client *cli,
1460 TALLOC_CTX *mem_ctx,
1461 const char *server_name /* [in] [charset(UTF16)] */,
1462 const char *computer_name /* [in] [unique,charset(UTF16)] */,
1463 struct netr_Authenticator *credential /* [in] [ref] */,
1464 struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
1465 uint32_t level /* [in] */,
1466 union netr_DomainQuery query /* [in] [switch_is(level)] */,
1467 union netr_DomainInfo *info /* [out] [ref,switch_is(level)] */)
1469 struct netr_LogonGetDomainInfo r;
1470 NTSTATUS status;
1472 /* In parameters */
1473 r.in.server_name = server_name;
1474 r.in.computer_name = computer_name;
1475 r.in.credential = credential;
1476 r.in.return_authenticator = return_authenticator;
1477 r.in.level = level;
1478 r.in.query = query;
1480 if (DEBUGLEVEL >= 10) {
1481 NDR_PRINT_IN_DEBUG(netr_LogonGetDomainInfo, &r);
1484 status = cli->dispatch(cli,
1485 mem_ctx,
1486 &ndr_table_netlogon,
1487 NDR_NETR_LOGONGETDOMAININFO,
1488 &r);
1490 if (!NT_STATUS_IS_OK(status)) {
1491 return status;
1494 if (DEBUGLEVEL >= 10) {
1495 NDR_PRINT_OUT_DEBUG(netr_LogonGetDomainInfo, &r);
1498 if (NT_STATUS_IS_ERR(status)) {
1499 return status;
1502 /* Return variables */
1503 *return_authenticator = *r.out.return_authenticator;
1504 *info = *r.out.info;
1506 /* Return result */
1507 return r.out.result;
1510 NTSTATUS rpccli_netr_ServerPasswordSet2(struct rpc_pipe_client *cli,
1511 TALLOC_CTX *mem_ctx,
1512 const char *server_name /* [in] [unique,charset(UTF16)] */,
1513 const char *account_name /* [in] [charset(UTF16)] */,
1514 enum netr_SchannelType secure_channel_type /* [in] */,
1515 const char *computer_name /* [in] [charset(UTF16)] */,
1516 struct netr_Authenticator *credential /* [in] [ref] */,
1517 struct netr_Authenticator *return_authenticator /* [out] [ref] */,
1518 struct netr_CryptPassword *new_password /* [in] [ref] */)
1520 struct netr_ServerPasswordSet2 r;
1521 NTSTATUS status;
1523 /* In parameters */
1524 r.in.server_name = server_name;
1525 r.in.account_name = account_name;
1526 r.in.secure_channel_type = secure_channel_type;
1527 r.in.computer_name = computer_name;
1528 r.in.credential = credential;
1529 r.in.new_password = new_password;
1531 if (DEBUGLEVEL >= 10) {
1532 NDR_PRINT_IN_DEBUG(netr_ServerPasswordSet2, &r);
1535 status = cli->dispatch(cli,
1536 mem_ctx,
1537 &ndr_table_netlogon,
1538 NDR_NETR_SERVERPASSWORDSET2,
1539 &r);
1541 if (!NT_STATUS_IS_OK(status)) {
1542 return status;
1545 if (DEBUGLEVEL >= 10) {
1546 NDR_PRINT_OUT_DEBUG(netr_ServerPasswordSet2, &r);
1549 if (NT_STATUS_IS_ERR(status)) {
1550 return status;
1553 /* Return variables */
1554 *return_authenticator = *r.out.return_authenticator;
1556 /* Return result */
1557 return r.out.result;
1560 NTSTATUS rpccli_netr_ServerPasswordGet(struct rpc_pipe_client *cli,
1561 TALLOC_CTX *mem_ctx,
1562 const char *server_name /* [in] [unique,charset(UTF16)] */,
1563 const char *account_name /* [in] [charset(UTF16)] */,
1564 enum netr_SchannelType secure_channel_type /* [in] */,
1565 const char *computer_name /* [in] [charset(UTF16)] */,
1566 struct netr_Authenticator *credential /* [in] [ref] */,
1567 struct netr_Authenticator *return_authenticator /* [out] [ref] */,
1568 struct samr_Password *password /* [out] [ref] */,
1569 WERROR *werror)
1571 struct netr_ServerPasswordGet r;
1572 NTSTATUS status;
1574 /* In parameters */
1575 r.in.server_name = server_name;
1576 r.in.account_name = account_name;
1577 r.in.secure_channel_type = secure_channel_type;
1578 r.in.computer_name = computer_name;
1579 r.in.credential = credential;
1581 if (DEBUGLEVEL >= 10) {
1582 NDR_PRINT_IN_DEBUG(netr_ServerPasswordGet, &r);
1585 status = cli->dispatch(cli,
1586 mem_ctx,
1587 &ndr_table_netlogon,
1588 NDR_NETR_SERVERPASSWORDGET,
1589 &r);
1591 if (!NT_STATUS_IS_OK(status)) {
1592 return status;
1595 if (DEBUGLEVEL >= 10) {
1596 NDR_PRINT_OUT_DEBUG(netr_ServerPasswordGet, &r);
1599 if (NT_STATUS_IS_ERR(status)) {
1600 return status;
1603 /* Return variables */
1604 *return_authenticator = *r.out.return_authenticator;
1605 *password = *r.out.password;
1607 /* Return result */
1608 if (werror) {
1609 *werror = r.out.result;
1612 return werror_to_ntstatus(r.out.result);
1615 NTSTATUS rpccli_netr_NETRLOGONSENDTOSAM(struct rpc_pipe_client *cli,
1616 TALLOC_CTX *mem_ctx,
1617 WERROR *werror)
1619 struct netr_NETRLOGONSENDTOSAM r;
1620 NTSTATUS status;
1622 /* In parameters */
1624 if (DEBUGLEVEL >= 10) {
1625 NDR_PRINT_IN_DEBUG(netr_NETRLOGONSENDTOSAM, &r);
1628 status = cli->dispatch(cli,
1629 mem_ctx,
1630 &ndr_table_netlogon,
1631 NDR_NETR_NETRLOGONSENDTOSAM,
1632 &r);
1634 if (!NT_STATUS_IS_OK(status)) {
1635 return status;
1638 if (DEBUGLEVEL >= 10) {
1639 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONSENDTOSAM, &r);
1642 if (NT_STATUS_IS_ERR(status)) {
1643 return status;
1646 /* Return variables */
1648 /* Return result */
1649 if (werror) {
1650 *werror = r.out.result;
1653 return werror_to_ntstatus(r.out.result);
1656 NTSTATUS rpccli_netr_DsRAddressToSitenamesW(struct rpc_pipe_client *cli,
1657 TALLOC_CTX *mem_ctx,
1658 const char *server_name /* [in] [unique,charset(UTF16)] */,
1659 uint32_t count /* [in] [range(0,32000)] */,
1660 struct netr_DsRAddress *addresses /* [in] [ref,size_is(count)] */,
1661 struct netr_DsRAddressToSitenamesWCtr **ctr /* [out] [ref] */,
1662 WERROR *werror)
1664 struct netr_DsRAddressToSitenamesW r;
1665 NTSTATUS status;
1667 /* In parameters */
1668 r.in.server_name = server_name;
1669 r.in.count = count;
1670 r.in.addresses = addresses;
1672 if (DEBUGLEVEL >= 10) {
1673 NDR_PRINT_IN_DEBUG(netr_DsRAddressToSitenamesW, &r);
1676 status = cli->dispatch(cli,
1677 mem_ctx,
1678 &ndr_table_netlogon,
1679 NDR_NETR_DSRADDRESSTOSITENAMESW,
1680 &r);
1682 if (!NT_STATUS_IS_OK(status)) {
1683 return status;
1686 if (DEBUGLEVEL >= 10) {
1687 NDR_PRINT_OUT_DEBUG(netr_DsRAddressToSitenamesW, &r);
1690 if (NT_STATUS_IS_ERR(status)) {
1691 return status;
1694 /* Return variables */
1695 *ctr = *r.out.ctr;
1697 /* Return result */
1698 if (werror) {
1699 *werror = r.out.result;
1702 return werror_to_ntstatus(r.out.result);
1705 NTSTATUS rpccli_netr_DsRGetDCNameEx2(struct rpc_pipe_client *cli,
1706 TALLOC_CTX *mem_ctx,
1707 const char *server_unc /* [in] [unique,charset(UTF16)] */,
1708 const char *client_account /* [in] [unique,charset(UTF16)] */,
1709 uint32_t mask /* [in] */,
1710 const char *domain_name /* [in] [unique,charset(UTF16)] */,
1711 struct GUID *domain_guid /* [in] [unique] */,
1712 const char *site_name /* [in] [unique,charset(UTF16)] */,
1713 uint32_t flags /* [in] */,
1714 struct netr_DsRGetDCNameInfo **info /* [out] [ref] */,
1715 WERROR *werror)
1717 struct netr_DsRGetDCNameEx2 r;
1718 NTSTATUS status;
1720 /* In parameters */
1721 r.in.server_unc = server_unc;
1722 r.in.client_account = client_account;
1723 r.in.mask = mask;
1724 r.in.domain_name = domain_name;
1725 r.in.domain_guid = domain_guid;
1726 r.in.site_name = site_name;
1727 r.in.flags = flags;
1729 if (DEBUGLEVEL >= 10) {
1730 NDR_PRINT_IN_DEBUG(netr_DsRGetDCNameEx2, &r);
1733 status = cli->dispatch(cli,
1734 mem_ctx,
1735 &ndr_table_netlogon,
1736 NDR_NETR_DSRGETDCNAMEEX2,
1737 &r);
1739 if (!NT_STATUS_IS_OK(status)) {
1740 return status;
1743 if (DEBUGLEVEL >= 10) {
1744 NDR_PRINT_OUT_DEBUG(netr_DsRGetDCNameEx2, &r);
1747 if (NT_STATUS_IS_ERR(status)) {
1748 return status;
1751 /* Return variables */
1752 *info = *r.out.info;
1754 /* Return result */
1755 if (werror) {
1756 *werror = r.out.result;
1759 return werror_to_ntstatus(r.out.result);
1762 NTSTATUS rpccli_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct rpc_pipe_client *cli,
1763 TALLOC_CTX *mem_ctx,
1764 WERROR *werror)
1766 struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN r;
1767 NTSTATUS status;
1769 /* In parameters */
1771 if (DEBUGLEVEL >= 10) {
1772 NDR_PRINT_IN_DEBUG(netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN, &r);
1775 status = cli->dispatch(cli,
1776 mem_ctx,
1777 &ndr_table_netlogon,
1778 NDR_NETR_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
1779 &r);
1781 if (!NT_STATUS_IS_OK(status)) {
1782 return status;
1785 if (DEBUGLEVEL >= 10) {
1786 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN, &r);
1789 if (NT_STATUS_IS_ERR(status)) {
1790 return status;
1793 /* Return variables */
1795 /* Return result */
1796 if (werror) {
1797 *werror = r.out.result;
1800 return werror_to_ntstatus(r.out.result);
1803 NTSTATUS rpccli_netr_NetrEnumerateTrustedDomainsEx(struct rpc_pipe_client *cli,
1804 TALLOC_CTX *mem_ctx,
1805 const char *server_name /* [in] [unique,charset(UTF16)] */,
1806 struct netr_DomainTrustList *dom_trust_list /* [out] [ref] */,
1807 WERROR *werror)
1809 struct netr_NetrEnumerateTrustedDomainsEx r;
1810 NTSTATUS status;
1812 /* In parameters */
1813 r.in.server_name = server_name;
1815 if (DEBUGLEVEL >= 10) {
1816 NDR_PRINT_IN_DEBUG(netr_NetrEnumerateTrustedDomainsEx, &r);
1819 status = cli->dispatch(cli,
1820 mem_ctx,
1821 &ndr_table_netlogon,
1822 NDR_NETR_NETRENUMERATETRUSTEDDOMAINSEX,
1823 &r);
1825 if (!NT_STATUS_IS_OK(status)) {
1826 return status;
1829 if (DEBUGLEVEL >= 10) {
1830 NDR_PRINT_OUT_DEBUG(netr_NetrEnumerateTrustedDomainsEx, &r);
1833 if (NT_STATUS_IS_ERR(status)) {
1834 return status;
1837 /* Return variables */
1838 *dom_trust_list = *r.out.dom_trust_list;
1840 /* Return result */
1841 if (werror) {
1842 *werror = r.out.result;
1845 return werror_to_ntstatus(r.out.result);
1848 NTSTATUS rpccli_netr_DsRAddressToSitenamesExW(struct rpc_pipe_client *cli,
1849 TALLOC_CTX *mem_ctx,
1850 const char *server_name /* [in] [unique,charset(UTF16)] */,
1851 uint32_t count /* [in] [range(0,32000)] */,
1852 struct netr_DsRAddress *addresses /* [in] [ref,size_is(count)] */,
1853 struct netr_DsRAddressToSitenamesExWCtr **ctr /* [out] [ref] */,
1854 WERROR *werror)
1856 struct netr_DsRAddressToSitenamesExW r;
1857 NTSTATUS status;
1859 /* In parameters */
1860 r.in.server_name = server_name;
1861 r.in.count = count;
1862 r.in.addresses = addresses;
1864 if (DEBUGLEVEL >= 10) {
1865 NDR_PRINT_IN_DEBUG(netr_DsRAddressToSitenamesExW, &r);
1868 status = cli->dispatch(cli,
1869 mem_ctx,
1870 &ndr_table_netlogon,
1871 NDR_NETR_DSRADDRESSTOSITENAMESEXW,
1872 &r);
1874 if (!NT_STATUS_IS_OK(status)) {
1875 return status;
1878 if (DEBUGLEVEL >= 10) {
1879 NDR_PRINT_OUT_DEBUG(netr_DsRAddressToSitenamesExW, &r);
1882 if (NT_STATUS_IS_ERR(status)) {
1883 return status;
1886 /* Return variables */
1887 *ctr = *r.out.ctr;
1889 /* Return result */
1890 if (werror) {
1891 *werror = r.out.result;
1894 return werror_to_ntstatus(r.out.result);
1897 NTSTATUS rpccli_netr_DsrGetDcSiteCoverageW(struct rpc_pipe_client *cli,
1898 TALLOC_CTX *mem_ctx,
1899 const char *server_name /* [in] [unique,charset(UTF16)] */,
1900 struct DcSitesCtr **ctr /* [out] [ref] */,
1901 WERROR *werror)
1903 struct netr_DsrGetDcSiteCoverageW r;
1904 NTSTATUS status;
1906 /* In parameters */
1907 r.in.server_name = server_name;
1909 if (DEBUGLEVEL >= 10) {
1910 NDR_PRINT_IN_DEBUG(netr_DsrGetDcSiteCoverageW, &r);
1913 status = cli->dispatch(cli,
1914 mem_ctx,
1915 &ndr_table_netlogon,
1916 NDR_NETR_DSRGETDCSITECOVERAGEW,
1917 &r);
1919 if (!NT_STATUS_IS_OK(status)) {
1920 return status;
1923 if (DEBUGLEVEL >= 10) {
1924 NDR_PRINT_OUT_DEBUG(netr_DsrGetDcSiteCoverageW, &r);
1927 if (NT_STATUS_IS_ERR(status)) {
1928 return status;
1931 /* Return variables */
1932 *ctr = *r.out.ctr;
1934 /* Return result */
1935 if (werror) {
1936 *werror = r.out.result;
1939 return werror_to_ntstatus(r.out.result);
1942 NTSTATUS rpccli_netr_LogonSamLogonEx(struct rpc_pipe_client *cli,
1943 TALLOC_CTX *mem_ctx,
1944 const char *server_name /* [in] [unique,charset(UTF16)] */,
1945 const char *computer_name /* [in] [unique,charset(UTF16)] */,
1946 enum netr_LogonInfoClass logon_level /* [in] */,
1947 union netr_LogonLevel *logon /* [in] [ref,switch_is(logon_level)] */,
1948 uint16_t validation_level /* [in] */,
1949 union netr_Validation *validation /* [out] [ref,switch_is(validation_level)] */,
1950 uint8_t *authoritative /* [out] [ref] */,
1951 uint32_t *flags /* [in,out] [ref] */)
1953 struct netr_LogonSamLogonEx r;
1954 NTSTATUS status;
1956 /* In parameters */
1957 r.in.server_name = server_name;
1958 r.in.computer_name = computer_name;
1959 r.in.logon_level = logon_level;
1960 r.in.logon = logon;
1961 r.in.validation_level = validation_level;
1962 r.in.flags = flags;
1964 if (DEBUGLEVEL >= 10) {
1965 NDR_PRINT_IN_DEBUG(netr_LogonSamLogonEx, &r);
1968 status = cli->dispatch(cli,
1969 mem_ctx,
1970 &ndr_table_netlogon,
1971 NDR_NETR_LOGONSAMLOGONEX,
1972 &r);
1974 if (!NT_STATUS_IS_OK(status)) {
1975 return status;
1978 if (DEBUGLEVEL >= 10) {
1979 NDR_PRINT_OUT_DEBUG(netr_LogonSamLogonEx, &r);
1982 if (NT_STATUS_IS_ERR(status)) {
1983 return status;
1986 /* Return variables */
1987 *validation = *r.out.validation;
1988 *authoritative = *r.out.authoritative;
1989 *flags = *r.out.flags;
1991 /* Return result */
1992 return r.out.result;
1995 NTSTATUS rpccli_netr_DsrEnumerateDomainTrusts(struct rpc_pipe_client *cli,
1996 TALLOC_CTX *mem_ctx,
1997 const char *server_name /* [in] [unique,charset(UTF16)] */,
1998 uint32_t trust_flags /* [in] */,
1999 struct netr_DomainTrustList *trusts /* [out] [ref] */,
2000 WERROR *werror)
2002 struct netr_DsrEnumerateDomainTrusts r;
2003 NTSTATUS status;
2005 /* In parameters */
2006 r.in.server_name = server_name;
2007 r.in.trust_flags = trust_flags;
2009 if (DEBUGLEVEL >= 10) {
2010 NDR_PRINT_IN_DEBUG(netr_DsrEnumerateDomainTrusts, &r);
2013 status = cli->dispatch(cli,
2014 mem_ctx,
2015 &ndr_table_netlogon,
2016 NDR_NETR_DSRENUMERATEDOMAINTRUSTS,
2017 &r);
2019 if (!NT_STATUS_IS_OK(status)) {
2020 return status;
2023 if (DEBUGLEVEL >= 10) {
2024 NDR_PRINT_OUT_DEBUG(netr_DsrEnumerateDomainTrusts, &r);
2027 if (NT_STATUS_IS_ERR(status)) {
2028 return status;
2031 /* Return variables */
2032 *trusts = *r.out.trusts;
2034 /* Return result */
2035 if (werror) {
2036 *werror = r.out.result;
2039 return werror_to_ntstatus(r.out.result);
2042 NTSTATUS rpccli_netr_DsrDeregisterDNSHostRecords(struct rpc_pipe_client *cli,
2043 TALLOC_CTX *mem_ctx,
2044 const char *server_name /* [in] [unique,charset(UTF16)] */,
2045 const char *domain /* [in] [unique,charset(UTF16)] */,
2046 struct GUID *domain_guid /* [in] [unique] */,
2047 struct GUID *dsa_guid /* [in] [unique] */,
2048 const char *dns_host /* [in] [ref,charset(UTF16)] */,
2049 WERROR *werror)
2051 struct netr_DsrDeregisterDNSHostRecords r;
2052 NTSTATUS status;
2054 /* In parameters */
2055 r.in.server_name = server_name;
2056 r.in.domain = domain;
2057 r.in.domain_guid = domain_guid;
2058 r.in.dsa_guid = dsa_guid;
2059 r.in.dns_host = dns_host;
2061 if (DEBUGLEVEL >= 10) {
2062 NDR_PRINT_IN_DEBUG(netr_DsrDeregisterDNSHostRecords, &r);
2065 status = cli->dispatch(cli,
2066 mem_ctx,
2067 &ndr_table_netlogon,
2068 NDR_NETR_DSRDEREGISTERDNSHOSTRECORDS,
2069 &r);
2071 if (!NT_STATUS_IS_OK(status)) {
2072 return status;
2075 if (DEBUGLEVEL >= 10) {
2076 NDR_PRINT_OUT_DEBUG(netr_DsrDeregisterDNSHostRecords, &r);
2079 if (NT_STATUS_IS_ERR(status)) {
2080 return status;
2083 /* Return variables */
2085 /* Return result */
2086 if (werror) {
2087 *werror = r.out.result;
2090 return werror_to_ntstatus(r.out.result);
2093 NTSTATUS rpccli_netr_ServerTrustPasswordsGet(struct rpc_pipe_client *cli,
2094 TALLOC_CTX *mem_ctx,
2095 const char *server_name /* [in] [unique,charset(UTF16)] */,
2096 const char *account_name /* [in] [charset(UTF16)] */,
2097 enum netr_SchannelType secure_channel_type /* [in] */,
2098 const char *computer_name /* [in] [charset(UTF16)] */,
2099 struct netr_Authenticator *credential /* [in] [ref] */,
2100 struct netr_Authenticator *return_authenticator /* [out] [ref] */,
2101 struct samr_Password *password /* [out] [ref] */,
2102 struct samr_Password *password2 /* [out] [ref] */)
2104 struct netr_ServerTrustPasswordsGet r;
2105 NTSTATUS status;
2107 /* In parameters */
2108 r.in.server_name = server_name;
2109 r.in.account_name = account_name;
2110 r.in.secure_channel_type = secure_channel_type;
2111 r.in.computer_name = computer_name;
2112 r.in.credential = credential;
2114 if (DEBUGLEVEL >= 10) {
2115 NDR_PRINT_IN_DEBUG(netr_ServerTrustPasswordsGet, &r);
2118 status = cli->dispatch(cli,
2119 mem_ctx,
2120 &ndr_table_netlogon,
2121 NDR_NETR_SERVERTRUSTPASSWORDSGET,
2122 &r);
2124 if (!NT_STATUS_IS_OK(status)) {
2125 return status;
2128 if (DEBUGLEVEL >= 10) {
2129 NDR_PRINT_OUT_DEBUG(netr_ServerTrustPasswordsGet, &r);
2132 if (NT_STATUS_IS_ERR(status)) {
2133 return status;
2136 /* Return variables */
2137 *return_authenticator = *r.out.return_authenticator;
2138 *password = *r.out.password;
2139 *password2 = *r.out.password2;
2141 /* Return result */
2142 return r.out.result;
2145 NTSTATUS rpccli_netr_DsRGetForestTrustInformation(struct rpc_pipe_client *cli,
2146 TALLOC_CTX *mem_ctx,
2147 const char *server_name /* [in] [unique,charset(UTF16)] */,
2148 const char *trusted_domain_name /* [in] [unique,charset(UTF16)] */,
2149 uint32_t flags /* [in] */,
2150 struct lsa_ForestTrustInformation **forest_trust_info /* [out] [ref] */,
2151 WERROR *werror)
2153 struct netr_DsRGetForestTrustInformation r;
2154 NTSTATUS status;
2156 /* In parameters */
2157 r.in.server_name = server_name;
2158 r.in.trusted_domain_name = trusted_domain_name;
2159 r.in.flags = flags;
2161 if (DEBUGLEVEL >= 10) {
2162 NDR_PRINT_IN_DEBUG(netr_DsRGetForestTrustInformation, &r);
2165 status = cli->dispatch(cli,
2166 mem_ctx,
2167 &ndr_table_netlogon,
2168 NDR_NETR_DSRGETFORESTTRUSTINFORMATION,
2169 &r);
2171 if (!NT_STATUS_IS_OK(status)) {
2172 return status;
2175 if (DEBUGLEVEL >= 10) {
2176 NDR_PRINT_OUT_DEBUG(netr_DsRGetForestTrustInformation, &r);
2179 if (NT_STATUS_IS_ERR(status)) {
2180 return status;
2183 /* Return variables */
2184 *forest_trust_info = *r.out.forest_trust_info;
2186 /* Return result */
2187 if (werror) {
2188 *werror = r.out.result;
2191 return werror_to_ntstatus(r.out.result);
2194 NTSTATUS rpccli_netr_GetForestTrustInformation(struct rpc_pipe_client *cli,
2195 TALLOC_CTX *mem_ctx,
2196 const char *server_name /* [in] [unique,charset(UTF16)] */,
2197 const char *trusted_domain_name /* [in] [ref,charset(UTF16)] */,
2198 struct netr_Authenticator *credential /* [in] [ref] */,
2199 struct netr_Authenticator *return_authenticator /* [out] [ref] */,
2200 uint32_t flags /* [in] */,
2201 struct lsa_ForestTrustInformation **forest_trust_info /* [out] [ref] */,
2202 WERROR *werror)
2204 struct netr_GetForestTrustInformation r;
2205 NTSTATUS status;
2207 /* In parameters */
2208 r.in.server_name = server_name;
2209 r.in.trusted_domain_name = trusted_domain_name;
2210 r.in.credential = credential;
2211 r.in.flags = flags;
2213 if (DEBUGLEVEL >= 10) {
2214 NDR_PRINT_IN_DEBUG(netr_GetForestTrustInformation, &r);
2217 status = cli->dispatch(cli,
2218 mem_ctx,
2219 &ndr_table_netlogon,
2220 NDR_NETR_GETFORESTTRUSTINFORMATION,
2221 &r);
2223 if (!NT_STATUS_IS_OK(status)) {
2224 return status;
2227 if (DEBUGLEVEL >= 10) {
2228 NDR_PRINT_OUT_DEBUG(netr_GetForestTrustInformation, &r);
2231 if (NT_STATUS_IS_ERR(status)) {
2232 return status;
2235 /* Return variables */
2236 *return_authenticator = *r.out.return_authenticator;
2237 *forest_trust_info = *r.out.forest_trust_info;
2239 /* Return result */
2240 if (werror) {
2241 *werror = r.out.result;
2244 return werror_to_ntstatus(r.out.result);
2247 NTSTATUS rpccli_netr_LogonSamLogonWithFlags(struct rpc_pipe_client *cli,
2248 TALLOC_CTX *mem_ctx,
2249 const char *server_name /* [in] [unique,charset(UTF16)] */,
2250 const char *computer_name /* [in] [unique,charset(UTF16)] */,
2251 struct netr_Authenticator *credential /* [in] [unique] */,
2252 struct netr_Authenticator *return_authenticator /* [in,out] [unique] */,
2253 enum netr_LogonInfoClass logon_level /* [in] */,
2254 union netr_LogonLevel *logon /* [in] [ref,switch_is(logon_level)] */,
2255 uint16_t validation_level /* [in] */,
2256 union netr_Validation *validation /* [out] [ref,switch_is(validation_level)] */,
2257 uint8_t *authoritative /* [out] [ref] */,
2258 uint32_t *flags /* [in,out] [ref] */)
2260 struct netr_LogonSamLogonWithFlags r;
2261 NTSTATUS status;
2263 /* In parameters */
2264 r.in.server_name = server_name;
2265 r.in.computer_name = computer_name;
2266 r.in.credential = credential;
2267 r.in.return_authenticator = return_authenticator;
2268 r.in.logon_level = logon_level;
2269 r.in.logon = logon;
2270 r.in.validation_level = validation_level;
2271 r.in.flags = flags;
2273 if (DEBUGLEVEL >= 10) {
2274 NDR_PRINT_IN_DEBUG(netr_LogonSamLogonWithFlags, &r);
2277 status = cli->dispatch(cli,
2278 mem_ctx,
2279 &ndr_table_netlogon,
2280 NDR_NETR_LOGONSAMLOGONWITHFLAGS,
2281 &r);
2283 if (!NT_STATUS_IS_OK(status)) {
2284 return status;
2287 if (DEBUGLEVEL >= 10) {
2288 NDR_PRINT_OUT_DEBUG(netr_LogonSamLogonWithFlags, &r);
2291 if (NT_STATUS_IS_ERR(status)) {
2292 return status;
2295 /* Return variables */
2296 if (return_authenticator && r.out.return_authenticator) {
2297 *return_authenticator = *r.out.return_authenticator;
2299 *validation = *r.out.validation;
2300 *authoritative = *r.out.authoritative;
2301 *flags = *r.out.flags;
2303 /* Return result */
2304 return r.out.result;
2307 NTSTATUS rpccli_netr_ServerGetTrustInfo(struct rpc_pipe_client *cli,
2308 TALLOC_CTX *mem_ctx,
2309 const char *server_name /* [in] [unique,charset(UTF16)] */,
2310 const char *account_name /* [in] [ref,charset(UTF16)] */,
2311 enum netr_SchannelType secure_channel_type /* [in] */,
2312 const char *computer_name /* [in] [ref,charset(UTF16)] */,
2313 struct netr_Authenticator *credential /* [in] [ref] */,
2314 struct netr_Authenticator *return_authenticator /* [out] [ref] */,
2315 struct samr_Password *new_owf_password /* [out] [ref] */,
2316 struct samr_Password *old_owf_password /* [out] [ref] */,
2317 struct netr_TrustInfo **trust_info /* [out] [ref] */)
2319 struct netr_ServerGetTrustInfo r;
2320 NTSTATUS status;
2322 /* In parameters */
2323 r.in.server_name = server_name;
2324 r.in.account_name = account_name;
2325 r.in.secure_channel_type = secure_channel_type;
2326 r.in.computer_name = computer_name;
2327 r.in.credential = credential;
2329 if (DEBUGLEVEL >= 10) {
2330 NDR_PRINT_IN_DEBUG(netr_ServerGetTrustInfo, &r);
2333 status = cli->dispatch(cli,
2334 mem_ctx,
2335 &ndr_table_netlogon,
2336 NDR_NETR_SERVERGETTRUSTINFO,
2337 &r);
2339 if (!NT_STATUS_IS_OK(status)) {
2340 return status;
2343 if (DEBUGLEVEL >= 10) {
2344 NDR_PRINT_OUT_DEBUG(netr_ServerGetTrustInfo, &r);
2347 if (NT_STATUS_IS_ERR(status)) {
2348 return status;
2351 /* Return variables */
2352 *return_authenticator = *r.out.return_authenticator;
2353 *new_owf_password = *r.out.new_owf_password;
2354 *old_owf_password = *r.out.old_owf_password;
2355 *trust_info = *r.out.trust_info;
2357 /* Return result */
2358 return r.out.result;