2 * Unix SMB/CIFS implementation.
3 * client auto-generated by pidl. DO NOT MODIFY!
7 #include "../librpc/gen_ndr/cli_netlogon.h"
9 NTSTATUS rpccli_netr_LogonUasLogon(struct rpc_pipe_client *cli,
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] */,
17 struct netr_LogonUasLogon r;
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,
32 NDR_NETR_LOGONUASLOGON,
35 if (!NT_STATUS_IS_OK(status)) {
39 if (DEBUGLEVEL >= 10) {
40 NDR_PRINT_OUT_DEBUG(netr_LogonUasLogon, &r);
43 if (NT_STATUS_IS_ERR(status)) {
47 /* Return variables */
52 *werror = r.out.result;
55 return werror_to_ntstatus(r.out.result);
58 NTSTATUS rpccli_netr_LogonUasLogoff(struct rpc_pipe_client *cli,
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] */,
66 struct netr_LogonUasLogoff r;
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,
81 NDR_NETR_LOGONUASLOGOFF,
84 if (!NT_STATUS_IS_OK(status)) {
88 if (DEBUGLEVEL >= 10) {
89 NDR_PRINT_OUT_DEBUG(netr_LogonUasLogoff, &r);
92 if (NT_STATUS_IS_ERR(status)) {
96 /* Return variables */
101 *werror = r.out.result;
104 return werror_to_ntstatus(r.out.result);
107 NTSTATUS rpccli_netr_LogonSamLogon(struct rpc_pipe_client *cli,
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;
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;
129 r.in.validation_level = validation_level;
131 if (DEBUGLEVEL >= 10) {
132 NDR_PRINT_IN_DEBUG(netr_LogonSamLogon, &r);
135 status = cli->dispatch(cli,
138 NDR_NETR_LOGONSAMLOGON,
141 if (!NT_STATUS_IS_OK(status)) {
145 if (DEBUGLEVEL >= 10) {
146 NDR_PRINT_OUT_DEBUG(netr_LogonSamLogon, &r);
149 if (NT_STATUS_IS_ERR(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;
164 NTSTATUS rpccli_netr_LogonSamLogoff(struct rpc_pipe_client *cli,
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;
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;
184 if (DEBUGLEVEL >= 10) {
185 NDR_PRINT_IN_DEBUG(netr_LogonSamLogoff, &r);
188 status = cli->dispatch(cli,
191 NDR_NETR_LOGONSAMLOGOFF,
194 if (!NT_STATUS_IS_OK(status)) {
198 if (DEBUGLEVEL >= 10) {
199 NDR_PRINT_OUT_DEBUG(netr_LogonSamLogoff, &r);
202 if (NT_STATUS_IS_ERR(status)) {
206 /* Return variables */
207 if (return_authenticator && r.out.return_authenticator) {
208 *return_authenticator = *r.out.return_authenticator;
215 NTSTATUS rpccli_netr_ServerReqChallenge(struct rpc_pipe_client *cli,
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;
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,
237 NDR_NETR_SERVERREQCHALLENGE,
240 if (!NT_STATUS_IS_OK(status)) {
244 if (DEBUGLEVEL >= 10) {
245 NDR_PRINT_OUT_DEBUG(netr_ServerReqChallenge, &r);
248 if (NT_STATUS_IS_ERR(status)) {
252 /* Return variables */
253 *return_credentials = *r.out.return_credentials;
259 NTSTATUS rpccli_netr_ServerAuthenticate(struct rpc_pipe_client *cli,
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;
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,
285 NDR_NETR_SERVERAUTHENTICATE,
288 if (!NT_STATUS_IS_OK(status)) {
292 if (DEBUGLEVEL >= 10) {
293 NDR_PRINT_OUT_DEBUG(netr_ServerAuthenticate, &r);
296 if (NT_STATUS_IS_ERR(status)) {
300 /* Return variables */
301 *return_credentials = *r.out.return_credentials;
307 NTSTATUS rpccli_netr_ServerPasswordSet(struct rpc_pipe_client *cli,
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;
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,
335 NDR_NETR_SERVERPASSWORDSET,
338 if (!NT_STATUS_IS_OK(status)) {
342 if (DEBUGLEVEL >= 10) {
343 NDR_PRINT_OUT_DEBUG(netr_ServerPasswordSet, &r);
346 if (NT_STATUS_IS_ERR(status)) {
350 /* Return variables */
351 *return_authenticator = *r.out.return_authenticator;
357 NTSTATUS rpccli_netr_DatabaseDeltas(struct rpc_pipe_client *cli,
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;
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,
387 NDR_NETR_DATABASEDELTAS,
390 if (!NT_STATUS_IS_OK(status)) {
394 if (DEBUGLEVEL >= 10) {
395 NDR_PRINT_OUT_DEBUG(netr_DatabaseDeltas, &r);
398 if (NT_STATUS_IS_ERR(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;
411 NTSTATUS rpccli_netr_DatabaseSync(struct rpc_pipe_client *cli,
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;
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,
441 NDR_NETR_DATABASESYNC,
444 if (!NT_STATUS_IS_OK(status)) {
448 if (DEBUGLEVEL >= 10) {
449 NDR_PRINT_OUT_DEBUG(netr_DatabaseSync, &r);
452 if (NT_STATUS_IS_ERR(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;
465 NTSTATUS rpccli_netr_AccountDeltas(struct rpc_pipe_client *cli,
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;
484 r.in.logon_server = logon_server;
485 r.in.computername = computername;
486 r.in.credential = credential;
487 r.in.return_authenticator = return_authenticator;
491 r.in.buffersize = buffersize;
493 if (DEBUGLEVEL >= 10) {
494 NDR_PRINT_IN_DEBUG(netr_AccountDeltas, &r);
497 status = cli->dispatch(cli,
500 NDR_NETR_ACCOUNTDELTAS,
503 if (!NT_STATUS_IS_OK(status)) {
507 if (DEBUGLEVEL >= 10) {
508 NDR_PRINT_OUT_DEBUG(netr_AccountDeltas, &r);
511 if (NT_STATUS_IS_ERR(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;
526 NTSTATUS rpccli_netr_AccountSync(struct rpc_pipe_client *cli,
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;
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;
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,
561 NDR_NETR_ACCOUNTSYNC,
564 if (!NT_STATUS_IS_OK(status)) {
568 if (DEBUGLEVEL >= 10) {
569 NDR_PRINT_OUT_DEBUG(netr_AccountSync, &r);
572 if (NT_STATUS_IS_ERR(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;
588 NTSTATUS rpccli_netr_GetDcName(struct rpc_pipe_client *cli,
590 const char *logon_server /* [in] [charset(UTF16)] */,
591 const char *domainname /* [in] [unique,charset(UTF16)] */,
592 const char **dcname /* [out] [ref,charset(UTF16)] */,
595 struct netr_GetDcName r;
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,
612 if (!NT_STATUS_IS_OK(status)) {
616 if (DEBUGLEVEL >= 10) {
617 NDR_PRINT_OUT_DEBUG(netr_GetDcName, &r);
620 if (NT_STATUS_IS_ERR(status)) {
624 /* Return variables */
625 *dcname = *r.out.dcname;
629 *werror = r.out.result;
632 return werror_to_ntstatus(r.out.result);
635 NTSTATUS rpccli_netr_LogonControl(struct rpc_pipe_client *cli,
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)] */,
643 struct netr_LogonControl r;
647 r.in.logon_server = logon_server;
648 r.in.function_code = function_code;
651 if (DEBUGLEVEL >= 10) {
652 NDR_PRINT_IN_DEBUG(netr_LogonControl, &r);
655 status = cli->dispatch(cli,
658 NDR_NETR_LOGONCONTROL,
661 if (!NT_STATUS_IS_OK(status)) {
665 if (DEBUGLEVEL >= 10) {
666 NDR_PRINT_OUT_DEBUG(netr_LogonControl, &r);
669 if (NT_STATUS_IS_ERR(status)) {
673 /* Return variables */
678 *werror = r.out.result;
681 return werror_to_ntstatus(r.out.result);
684 NTSTATUS rpccli_netr_GetAnyDCName(struct rpc_pipe_client *cli,
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)] */,
691 struct netr_GetAnyDCName r;
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,
705 NDR_NETR_GETANYDCNAME,
708 if (!NT_STATUS_IS_OK(status)) {
712 if (DEBUGLEVEL >= 10) {
713 NDR_PRINT_OUT_DEBUG(netr_GetAnyDCName, &r);
716 if (NT_STATUS_IS_ERR(status)) {
720 /* Return variables */
721 *dcname = *r.out.dcname;
725 *werror = r.out.result;
728 return werror_to_ntstatus(r.out.result);
731 NTSTATUS rpccli_netr_LogonControl2(struct rpc_pipe_client *cli,
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)] */,
740 struct netr_LogonControl2 r;
744 r.in.logon_server = logon_server;
745 r.in.function_code = function_code;
749 if (DEBUGLEVEL >= 10) {
750 NDR_PRINT_IN_DEBUG(netr_LogonControl2, &r);
753 status = cli->dispatch(cli,
756 NDR_NETR_LOGONCONTROL2,
759 if (!NT_STATUS_IS_OK(status)) {
763 if (DEBUGLEVEL >= 10) {
764 NDR_PRINT_OUT_DEBUG(netr_LogonControl2, &r);
767 if (NT_STATUS_IS_ERR(status)) {
771 /* Return variables */
772 *query = *r.out.query;
776 *werror = r.out.result;
779 return werror_to_ntstatus(r.out.result);
782 NTSTATUS rpccli_netr_ServerAuthenticate2(struct rpc_pipe_client *cli,
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;
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,
810 NDR_NETR_SERVERAUTHENTICATE2,
813 if (!NT_STATUS_IS_OK(status)) {
817 if (DEBUGLEVEL >= 10) {
818 NDR_PRINT_OUT_DEBUG(netr_ServerAuthenticate2, &r);
821 if (NT_STATUS_IS_ERR(status)) {
825 /* Return variables */
826 *return_credentials = *r.out.return_credentials;
827 *negotiate_flags = *r.out.negotiate_flags;
833 NTSTATUS rpccli_netr_DatabaseSync2(struct rpc_pipe_client *cli,
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;
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,
865 NDR_NETR_DATABASESYNC2,
868 if (!NT_STATUS_IS_OK(status)) {
872 if (DEBUGLEVEL >= 10) {
873 NDR_PRINT_OUT_DEBUG(netr_DatabaseSync2, &r);
876 if (NT_STATUS_IS_ERR(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;
889 NTSTATUS rpccli_netr_DatabaseRedo(struct rpc_pipe_client *cli,
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;
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,
917 NDR_NETR_DATABASEREDO,
920 if (!NT_STATUS_IS_OK(status)) {
924 if (DEBUGLEVEL >= 10) {
925 NDR_PRINT_OUT_DEBUG(netr_DatabaseRedo, &r);
928 if (NT_STATUS_IS_ERR(status)) {
932 /* Return variables */
933 *return_authenticator = *r.out.return_authenticator;
934 *delta_enum_array = *r.out.delta_enum_array;
940 NTSTATUS rpccli_netr_LogonControl2Ex(struct rpc_pipe_client *cli,
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)] */,
949 struct netr_LogonControl2Ex r;
953 r.in.logon_server = logon_server;
954 r.in.function_code = function_code;
958 if (DEBUGLEVEL >= 10) {
959 NDR_PRINT_IN_DEBUG(netr_LogonControl2Ex, &r);
962 status = cli->dispatch(cli,
965 NDR_NETR_LOGONCONTROL2EX,
968 if (!NT_STATUS_IS_OK(status)) {
972 if (DEBUGLEVEL >= 10) {
973 NDR_PRINT_OUT_DEBUG(netr_LogonControl2Ex, &r);
976 if (NT_STATUS_IS_ERR(status)) {
980 /* Return variables */
981 *query = *r.out.query;
985 *werror = r.out.result;
988 return werror_to_ntstatus(r.out.result);
991 NTSTATUS rpccli_netr_NetrEnumerateTrustedDomains(struct rpc_pipe_client *cli,
993 const char *server_name /* [in] [unique,charset(UTF16)] */,
994 struct netr_Blob *trusted_domains_blob /* [out] [ref] */,
997 struct netr_NetrEnumerateTrustedDomains r;
1001 r.in.server_name = server_name;
1003 if (DEBUGLEVEL >= 10) {
1004 NDR_PRINT_IN_DEBUG(netr_NetrEnumerateTrustedDomains, &r);
1007 status = cli->dispatch(cli,
1009 &ndr_table_netlogon,
1010 NDR_NETR_NETRENUMERATETRUSTEDDOMAINS,
1013 if (!NT_STATUS_IS_OK(status)) {
1017 if (DEBUGLEVEL >= 10) {
1018 NDR_PRINT_OUT_DEBUG(netr_NetrEnumerateTrustedDomains, &r);
1021 if (NT_STATUS_IS_ERR(status)) {
1025 /* Return variables */
1026 *trusted_domains_blob = *r.out.trusted_domains_blob;
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] */,
1046 struct netr_DsRGetDCName r;
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;
1056 if (DEBUGLEVEL >= 10) {
1057 NDR_PRINT_IN_DEBUG(netr_DsRGetDCName, &r);
1060 status = cli->dispatch(cli,
1062 &ndr_table_netlogon,
1063 NDR_NETR_DSRGETDCNAME,
1066 if (!NT_STATUS_IS_OK(status)) {
1070 if (DEBUGLEVEL >= 10) {
1071 NDR_PRINT_OUT_DEBUG(netr_DsRGetDCName, &r);
1074 if (NT_STATUS_IS_ERR(status)) {
1078 /* Return variables */
1079 *info = *r.out.info;
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;
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,
1114 &ndr_table_netlogon,
1115 NDR_NETR_LOGONGETCAPABILITIES,
1118 if (!NT_STATUS_IS_OK(status)) {
1122 if (DEBUGLEVEL >= 10) {
1123 NDR_PRINT_OUT_DEBUG(netr_LogonGetCapabilities, &r);
1126 if (NT_STATUS_IS_ERR(status)) {
1130 /* Return variables */
1131 *return_authenticator = *r.out.return_authenticator;
1132 *capabilities = *r.out.capabilities;
1135 return r.out.result;
1138 NTSTATUS rpccli_netr_NETRLOGONSETSERVICEBITS(struct rpc_pipe_client *cli,
1139 TALLOC_CTX *mem_ctx,
1142 struct netr_NETRLOGONSETSERVICEBITS r;
1147 if (DEBUGLEVEL >= 10) {
1148 NDR_PRINT_IN_DEBUG(netr_NETRLOGONSETSERVICEBITS, &r);
1151 status = cli->dispatch(cli,
1153 &ndr_table_netlogon,
1154 NDR_NETR_NETRLOGONSETSERVICEBITS,
1157 if (!NT_STATUS_IS_OK(status)) {
1161 if (DEBUGLEVEL >= 10) {
1162 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONSETSERVICEBITS, &r);
1165 if (NT_STATUS_IS_ERR(status)) {
1169 /* Return variables */
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] */,
1186 struct netr_LogonGetTrustRid r;
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,
1199 &ndr_table_netlogon,
1200 NDR_NETR_LOGONGETTRUSTRID,
1203 if (!NT_STATUS_IS_OK(status)) {
1207 if (DEBUGLEVEL >= 10) {
1208 NDR_PRINT_OUT_DEBUG(netr_LogonGetTrustRid, &r);
1211 if (NT_STATUS_IS_ERR(status)) {
1215 /* Return variables */
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,
1230 struct netr_NETRLOGONCOMPUTESERVERDIGEST r;
1235 if (DEBUGLEVEL >= 10) {
1236 NDR_PRINT_IN_DEBUG(netr_NETRLOGONCOMPUTESERVERDIGEST, &r);
1239 status = cli->dispatch(cli,
1241 &ndr_table_netlogon,
1242 NDR_NETR_NETRLOGONCOMPUTESERVERDIGEST,
1245 if (!NT_STATUS_IS_OK(status)) {
1249 if (DEBUGLEVEL >= 10) {
1250 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONCOMPUTESERVERDIGEST, &r);
1253 if (NT_STATUS_IS_ERR(status)) {
1257 /* Return variables */
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,
1271 struct netr_NETRLOGONCOMPUTECLIENTDIGEST r;
1276 if (DEBUGLEVEL >= 10) {
1277 NDR_PRINT_IN_DEBUG(netr_NETRLOGONCOMPUTECLIENTDIGEST, &r);
1280 status = cli->dispatch(cli,
1282 &ndr_table_netlogon,
1283 NDR_NETR_NETRLOGONCOMPUTECLIENTDIGEST,
1286 if (!NT_STATUS_IS_OK(status)) {
1290 if (DEBUGLEVEL >= 10) {
1291 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONCOMPUTECLIENTDIGEST, &r);
1294 if (NT_STATUS_IS_ERR(status)) {
1298 /* Return variables */
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;
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,
1336 &ndr_table_netlogon,
1337 NDR_NETR_SERVERAUTHENTICATE3,
1340 if (!NT_STATUS_IS_OK(status)) {
1344 if (DEBUGLEVEL >= 10) {
1345 NDR_PRINT_OUT_DEBUG(netr_ServerAuthenticate3, &r);
1348 if (NT_STATUS_IS_ERR(status)) {
1352 /* Return variables */
1353 *return_credentials = *r.out.return_credentials;
1354 *negotiate_flags = *r.out.negotiate_flags;
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] */,
1371 struct netr_DsRGetDCNameEx r;
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;
1381 if (DEBUGLEVEL >= 10) {
1382 NDR_PRINT_IN_DEBUG(netr_DsRGetDCNameEx, &r);
1385 status = cli->dispatch(cli,
1387 &ndr_table_netlogon,
1388 NDR_NETR_DSRGETDCNAMEEX,
1391 if (!NT_STATUS_IS_OK(status)) {
1395 if (DEBUGLEVEL >= 10) {
1396 NDR_PRINT_OUT_DEBUG(netr_DsRGetDCNameEx, &r);
1399 if (NT_STATUS_IS_ERR(status)) {
1403 /* Return variables */
1404 *info = *r.out.info;
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)] */,
1420 struct netr_DsRGetSiteName r;
1424 r.in.computer_name = computer_name;
1426 if (DEBUGLEVEL >= 10) {
1427 NDR_PRINT_IN_DEBUG(netr_DsRGetSiteName, &r);
1430 status = cli->dispatch(cli,
1432 &ndr_table_netlogon,
1433 NDR_NETR_DSRGETSITENAME,
1436 if (!NT_STATUS_IS_OK(status)) {
1440 if (DEBUGLEVEL >= 10) {
1441 NDR_PRINT_OUT_DEBUG(netr_DsRGetSiteName, &r);
1444 if (NT_STATUS_IS_ERR(status)) {
1448 /* Return variables */
1449 *site = *r.out.site;
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;
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;
1480 if (DEBUGLEVEL >= 10) {
1481 NDR_PRINT_IN_DEBUG(netr_LogonGetDomainInfo, &r);
1484 status = cli->dispatch(cli,
1486 &ndr_table_netlogon,
1487 NDR_NETR_LOGONGETDOMAININFO,
1490 if (!NT_STATUS_IS_OK(status)) {
1494 if (DEBUGLEVEL >= 10) {
1495 NDR_PRINT_OUT_DEBUG(netr_LogonGetDomainInfo, &r);
1498 if (NT_STATUS_IS_ERR(status)) {
1502 /* Return variables */
1503 *return_authenticator = *r.out.return_authenticator;
1504 *info = *r.out.info;
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;
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,
1537 &ndr_table_netlogon,
1538 NDR_NETR_SERVERPASSWORDSET2,
1541 if (!NT_STATUS_IS_OK(status)) {
1545 if (DEBUGLEVEL >= 10) {
1546 NDR_PRINT_OUT_DEBUG(netr_ServerPasswordSet2, &r);
1549 if (NT_STATUS_IS_ERR(status)) {
1553 /* Return variables */
1554 *return_authenticator = *r.out.return_authenticator;
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] */,
1571 struct netr_ServerPasswordGet r;
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,
1587 &ndr_table_netlogon,
1588 NDR_NETR_SERVERPASSWORDGET,
1591 if (!NT_STATUS_IS_OK(status)) {
1595 if (DEBUGLEVEL >= 10) {
1596 NDR_PRINT_OUT_DEBUG(netr_ServerPasswordGet, &r);
1599 if (NT_STATUS_IS_ERR(status)) {
1603 /* Return variables */
1604 *return_authenticator = *r.out.return_authenticator;
1605 *password = *r.out.password;
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,
1619 struct netr_NETRLOGONSENDTOSAM r;
1624 if (DEBUGLEVEL >= 10) {
1625 NDR_PRINT_IN_DEBUG(netr_NETRLOGONSENDTOSAM, &r);
1628 status = cli->dispatch(cli,
1630 &ndr_table_netlogon,
1631 NDR_NETR_NETRLOGONSENDTOSAM,
1634 if (!NT_STATUS_IS_OK(status)) {
1638 if (DEBUGLEVEL >= 10) {
1639 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONSENDTOSAM, &r);
1642 if (NT_STATUS_IS_ERR(status)) {
1646 /* Return variables */
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] */,
1664 struct netr_DsRAddressToSitenamesW r;
1668 r.in.server_name = server_name;
1670 r.in.addresses = addresses;
1672 if (DEBUGLEVEL >= 10) {
1673 NDR_PRINT_IN_DEBUG(netr_DsRAddressToSitenamesW, &r);
1676 status = cli->dispatch(cli,
1678 &ndr_table_netlogon,
1679 NDR_NETR_DSRADDRESSTOSITENAMESW,
1682 if (!NT_STATUS_IS_OK(status)) {
1686 if (DEBUGLEVEL >= 10) {
1687 NDR_PRINT_OUT_DEBUG(netr_DsRAddressToSitenamesW, &r);
1690 if (NT_STATUS_IS_ERR(status)) {
1694 /* Return variables */
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] */,
1717 struct netr_DsRGetDCNameEx2 r;
1721 r.in.server_unc = server_unc;
1722 r.in.client_account = client_account;
1724 r.in.domain_name = domain_name;
1725 r.in.domain_guid = domain_guid;
1726 r.in.site_name = site_name;
1729 if (DEBUGLEVEL >= 10) {
1730 NDR_PRINT_IN_DEBUG(netr_DsRGetDCNameEx2, &r);
1733 status = cli->dispatch(cli,
1735 &ndr_table_netlogon,
1736 NDR_NETR_DSRGETDCNAMEEX2,
1739 if (!NT_STATUS_IS_OK(status)) {
1743 if (DEBUGLEVEL >= 10) {
1744 NDR_PRINT_OUT_DEBUG(netr_DsRGetDCNameEx2, &r);
1747 if (NT_STATUS_IS_ERR(status)) {
1751 /* Return variables */
1752 *info = *r.out.info;
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,
1766 struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN r;
1771 if (DEBUGLEVEL >= 10) {
1772 NDR_PRINT_IN_DEBUG(netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN, &r);
1775 status = cli->dispatch(cli,
1777 &ndr_table_netlogon,
1778 NDR_NETR_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
1781 if (!NT_STATUS_IS_OK(status)) {
1785 if (DEBUGLEVEL >= 10) {
1786 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN, &r);
1789 if (NT_STATUS_IS_ERR(status)) {
1793 /* Return variables */
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] */,
1809 struct netr_NetrEnumerateTrustedDomainsEx r;
1813 r.in.server_name = server_name;
1815 if (DEBUGLEVEL >= 10) {
1816 NDR_PRINT_IN_DEBUG(netr_NetrEnumerateTrustedDomainsEx, &r);
1819 status = cli->dispatch(cli,
1821 &ndr_table_netlogon,
1822 NDR_NETR_NETRENUMERATETRUSTEDDOMAINSEX,
1825 if (!NT_STATUS_IS_OK(status)) {
1829 if (DEBUGLEVEL >= 10) {
1830 NDR_PRINT_OUT_DEBUG(netr_NetrEnumerateTrustedDomainsEx, &r);
1833 if (NT_STATUS_IS_ERR(status)) {
1837 /* Return variables */
1838 *dom_trust_list = *r.out.dom_trust_list;
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] */,
1856 struct netr_DsRAddressToSitenamesExW r;
1860 r.in.server_name = server_name;
1862 r.in.addresses = addresses;
1864 if (DEBUGLEVEL >= 10) {
1865 NDR_PRINT_IN_DEBUG(netr_DsRAddressToSitenamesExW, &r);
1868 status = cli->dispatch(cli,
1870 &ndr_table_netlogon,
1871 NDR_NETR_DSRADDRESSTOSITENAMESEXW,
1874 if (!NT_STATUS_IS_OK(status)) {
1878 if (DEBUGLEVEL >= 10) {
1879 NDR_PRINT_OUT_DEBUG(netr_DsRAddressToSitenamesExW, &r);
1882 if (NT_STATUS_IS_ERR(status)) {
1886 /* Return variables */
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] */,
1903 struct netr_DsrGetDcSiteCoverageW r;
1907 r.in.server_name = server_name;
1909 if (DEBUGLEVEL >= 10) {
1910 NDR_PRINT_IN_DEBUG(netr_DsrGetDcSiteCoverageW, &r);
1913 status = cli->dispatch(cli,
1915 &ndr_table_netlogon,
1916 NDR_NETR_DSRGETDCSITECOVERAGEW,
1919 if (!NT_STATUS_IS_OK(status)) {
1923 if (DEBUGLEVEL >= 10) {
1924 NDR_PRINT_OUT_DEBUG(netr_DsrGetDcSiteCoverageW, &r);
1927 if (NT_STATUS_IS_ERR(status)) {
1931 /* Return variables */
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;
1957 r.in.server_name = server_name;
1958 r.in.computer_name = computer_name;
1959 r.in.logon_level = logon_level;
1961 r.in.validation_level = validation_level;
1964 if (DEBUGLEVEL >= 10) {
1965 NDR_PRINT_IN_DEBUG(netr_LogonSamLogonEx, &r);
1968 status = cli->dispatch(cli,
1970 &ndr_table_netlogon,
1971 NDR_NETR_LOGONSAMLOGONEX,
1974 if (!NT_STATUS_IS_OK(status)) {
1978 if (DEBUGLEVEL >= 10) {
1979 NDR_PRINT_OUT_DEBUG(netr_LogonSamLogonEx, &r);
1982 if (NT_STATUS_IS_ERR(status)) {
1986 /* Return variables */
1987 *validation = *r.out.validation;
1988 *authoritative = *r.out.authoritative;
1989 *flags = *r.out.flags;
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] */,
2002 struct netr_DsrEnumerateDomainTrusts r;
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,
2015 &ndr_table_netlogon,
2016 NDR_NETR_DSRENUMERATEDOMAINTRUSTS,
2019 if (!NT_STATUS_IS_OK(status)) {
2023 if (DEBUGLEVEL >= 10) {
2024 NDR_PRINT_OUT_DEBUG(netr_DsrEnumerateDomainTrusts, &r);
2027 if (NT_STATUS_IS_ERR(status)) {
2031 /* Return variables */
2032 *trusts = *r.out.trusts;
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)] */,
2051 struct netr_DsrDeregisterDNSHostRecords r;
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,
2067 &ndr_table_netlogon,
2068 NDR_NETR_DSRDEREGISTERDNSHOSTRECORDS,
2071 if (!NT_STATUS_IS_OK(status)) {
2075 if (DEBUGLEVEL >= 10) {
2076 NDR_PRINT_OUT_DEBUG(netr_DsrDeregisterDNSHostRecords, &r);
2079 if (NT_STATUS_IS_ERR(status)) {
2083 /* Return variables */
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;
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,
2120 &ndr_table_netlogon,
2121 NDR_NETR_SERVERTRUSTPASSWORDSGET,
2124 if (!NT_STATUS_IS_OK(status)) {
2128 if (DEBUGLEVEL >= 10) {
2129 NDR_PRINT_OUT_DEBUG(netr_ServerTrustPasswordsGet, &r);
2132 if (NT_STATUS_IS_ERR(status)) {
2136 /* Return variables */
2137 *return_authenticator = *r.out.return_authenticator;
2138 *password = *r.out.password;
2139 *password2 = *r.out.password2;
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] */,
2153 struct netr_DsRGetForestTrustInformation r;
2157 r.in.server_name = server_name;
2158 r.in.trusted_domain_name = trusted_domain_name;
2161 if (DEBUGLEVEL >= 10) {
2162 NDR_PRINT_IN_DEBUG(netr_DsRGetForestTrustInformation, &r);
2165 status = cli->dispatch(cli,
2167 &ndr_table_netlogon,
2168 NDR_NETR_DSRGETFORESTTRUSTINFORMATION,
2171 if (!NT_STATUS_IS_OK(status)) {
2175 if (DEBUGLEVEL >= 10) {
2176 NDR_PRINT_OUT_DEBUG(netr_DsRGetForestTrustInformation, &r);
2179 if (NT_STATUS_IS_ERR(status)) {
2183 /* Return variables */
2184 *forest_trust_info = *r.out.forest_trust_info;
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] */,
2204 struct netr_GetForestTrustInformation r;
2208 r.in.server_name = server_name;
2209 r.in.trusted_domain_name = trusted_domain_name;
2210 r.in.credential = credential;
2213 if (DEBUGLEVEL >= 10) {
2214 NDR_PRINT_IN_DEBUG(netr_GetForestTrustInformation, &r);
2217 status = cli->dispatch(cli,
2219 &ndr_table_netlogon,
2220 NDR_NETR_GETFORESTTRUSTINFORMATION,
2223 if (!NT_STATUS_IS_OK(status)) {
2227 if (DEBUGLEVEL >= 10) {
2228 NDR_PRINT_OUT_DEBUG(netr_GetForestTrustInformation, &r);
2231 if (NT_STATUS_IS_ERR(status)) {
2235 /* Return variables */
2236 *return_authenticator = *r.out.return_authenticator;
2237 *forest_trust_info = *r.out.forest_trust_info;
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;
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;
2270 r.in.validation_level = validation_level;
2273 if (DEBUGLEVEL >= 10) {
2274 NDR_PRINT_IN_DEBUG(netr_LogonSamLogonWithFlags, &r);
2277 status = cli->dispatch(cli,
2279 &ndr_table_netlogon,
2280 NDR_NETR_LOGONSAMLOGONWITHFLAGS,
2283 if (!NT_STATUS_IS_OK(status)) {
2287 if (DEBUGLEVEL >= 10) {
2288 NDR_PRINT_OUT_DEBUG(netr_LogonSamLogonWithFlags, &r);
2291 if (NT_STATUS_IS_ERR(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;
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;
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,
2335 &ndr_table_netlogon,
2336 NDR_NETR_SERVERGETTRUSTINFO,
2339 if (!NT_STATUS_IS_OK(status)) {
2343 if (DEBUGLEVEL >= 10) {
2344 NDR_PRINT_OUT_DEBUG(netr_ServerGetTrustInfo, &r);
2347 if (NT_STATUS_IS_ERR(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;
2358 return r.out.result;