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_do_rpc_ndr(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_do_rpc_ndr(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_do_rpc_ndr(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_do_rpc_ndr(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_do_rpc_ndr(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_do_rpc_ndr(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_do_rpc_ndr(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_do_rpc_ndr(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] */,
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 uint32_t preferredmaximumlength /* [in] */,
420 struct netr_DELTA_ENUM_ARRAY *delta_enum_array /* [out] [ref] */)
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_do_rpc_ndr(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_do_rpc_ndr(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_do_rpc_ndr(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_do_rpc_ndr(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_do_rpc_ndr(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_do_rpc_ndr(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_do_rpc_ndr(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_do_rpc_ndr(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_do_rpc_ndr(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] */,
894 struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
895 uint8_t *change_log_entry /* [in] [unique,size_is(change_log_entry_size)] */,
896 uint32_t change_log_entry_size /* [in] */,
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_do_rpc_ndr(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 uint32_t function_code /* [in] */,
944 uint32_t level /* [in] */,
945 union netr_CONTROL_DATA_INFORMATION data /* [in] [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_do_rpc_ndr(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_do_rpc_ndr(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_do_rpc_ndr(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_NETRLOGONDUMMYROUTINE1(struct rpc_pipe_client *cli,
1090 TALLOC_CTX *mem_ctx,
1093 struct netr_NETRLOGONDUMMYROUTINE1 r;
1098 if (DEBUGLEVEL >= 10) {
1099 NDR_PRINT_IN_DEBUG(netr_NETRLOGONDUMMYROUTINE1, &r);
1102 status = cli_do_rpc_ndr(cli,
1104 &ndr_table_netlogon,
1105 NDR_NETR_NETRLOGONDUMMYROUTINE1,
1108 if (!NT_STATUS_IS_OK(status)) {
1112 if (DEBUGLEVEL >= 10) {
1113 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONDUMMYROUTINE1, &r);
1116 if (NT_STATUS_IS_ERR(status)) {
1120 /* Return variables */
1124 *werror = r.out.result;
1127 return werror_to_ntstatus(r.out.result);
1130 NTSTATUS rpccli_netr_NETRLOGONSETSERVICEBITS(struct rpc_pipe_client *cli,
1131 TALLOC_CTX *mem_ctx,
1134 struct netr_NETRLOGONSETSERVICEBITS r;
1139 if (DEBUGLEVEL >= 10) {
1140 NDR_PRINT_IN_DEBUG(netr_NETRLOGONSETSERVICEBITS, &r);
1143 status = cli_do_rpc_ndr(cli,
1145 &ndr_table_netlogon,
1146 NDR_NETR_NETRLOGONSETSERVICEBITS,
1149 if (!NT_STATUS_IS_OK(status)) {
1153 if (DEBUGLEVEL >= 10) {
1154 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONSETSERVICEBITS, &r);
1157 if (NT_STATUS_IS_ERR(status)) {
1161 /* Return variables */
1165 *werror = r.out.result;
1168 return werror_to_ntstatus(r.out.result);
1171 NTSTATUS rpccli_netr_LogonGetTrustRid(struct rpc_pipe_client *cli,
1172 TALLOC_CTX *mem_ctx,
1173 const char *server_name /* [in] [unique,charset(UTF16)] */,
1174 const char *domain_name /* [in] [unique,charset(UTF16)] */,
1175 uint32_t *rid /* [out] [ref] */,
1178 struct netr_LogonGetTrustRid r;
1182 r.in.server_name = server_name;
1183 r.in.domain_name = domain_name;
1185 if (DEBUGLEVEL >= 10) {
1186 NDR_PRINT_IN_DEBUG(netr_LogonGetTrustRid, &r);
1189 status = cli_do_rpc_ndr(cli,
1191 &ndr_table_netlogon,
1192 NDR_NETR_LOGONGETTRUSTRID,
1195 if (!NT_STATUS_IS_OK(status)) {
1199 if (DEBUGLEVEL >= 10) {
1200 NDR_PRINT_OUT_DEBUG(netr_LogonGetTrustRid, &r);
1203 if (NT_STATUS_IS_ERR(status)) {
1207 /* Return variables */
1212 *werror = r.out.result;
1215 return werror_to_ntstatus(r.out.result);
1218 NTSTATUS rpccli_netr_NETRLOGONCOMPUTESERVERDIGEST(struct rpc_pipe_client *cli,
1219 TALLOC_CTX *mem_ctx,
1222 struct netr_NETRLOGONCOMPUTESERVERDIGEST r;
1227 if (DEBUGLEVEL >= 10) {
1228 NDR_PRINT_IN_DEBUG(netr_NETRLOGONCOMPUTESERVERDIGEST, &r);
1231 status = cli_do_rpc_ndr(cli,
1233 &ndr_table_netlogon,
1234 NDR_NETR_NETRLOGONCOMPUTESERVERDIGEST,
1237 if (!NT_STATUS_IS_OK(status)) {
1241 if (DEBUGLEVEL >= 10) {
1242 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONCOMPUTESERVERDIGEST, &r);
1245 if (NT_STATUS_IS_ERR(status)) {
1249 /* Return variables */
1253 *werror = r.out.result;
1256 return werror_to_ntstatus(r.out.result);
1259 NTSTATUS rpccli_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct rpc_pipe_client *cli,
1260 TALLOC_CTX *mem_ctx,
1263 struct netr_NETRLOGONCOMPUTECLIENTDIGEST r;
1268 if (DEBUGLEVEL >= 10) {
1269 NDR_PRINT_IN_DEBUG(netr_NETRLOGONCOMPUTECLIENTDIGEST, &r);
1272 status = cli_do_rpc_ndr(cli,
1274 &ndr_table_netlogon,
1275 NDR_NETR_NETRLOGONCOMPUTECLIENTDIGEST,
1278 if (!NT_STATUS_IS_OK(status)) {
1282 if (DEBUGLEVEL >= 10) {
1283 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONCOMPUTECLIENTDIGEST, &r);
1286 if (NT_STATUS_IS_ERR(status)) {
1290 /* Return variables */
1294 *werror = r.out.result;
1297 return werror_to_ntstatus(r.out.result);
1300 NTSTATUS rpccli_netr_ServerAuthenticate3(struct rpc_pipe_client *cli,
1301 TALLOC_CTX *mem_ctx,
1302 const char *server_name /* [in] [unique,charset(UTF16)] */,
1303 const char *account_name /* [in] [charset(UTF16)] */,
1304 enum netr_SchannelType secure_channel_type /* [in] */,
1305 const char *computer_name /* [in] [charset(UTF16)] */,
1306 struct netr_Credential *credentials /* [in,out] [ref] */,
1307 uint32_t *negotiate_flags /* [in,out] [ref] */,
1308 uint32_t *rid /* [out] [ref] */)
1310 struct netr_ServerAuthenticate3 r;
1314 r.in.server_name = server_name;
1315 r.in.account_name = account_name;
1316 r.in.secure_channel_type = secure_channel_type;
1317 r.in.computer_name = computer_name;
1318 r.in.credentials = credentials;
1319 r.in.negotiate_flags = negotiate_flags;
1321 if (DEBUGLEVEL >= 10) {
1322 NDR_PRINT_IN_DEBUG(netr_ServerAuthenticate3, &r);
1325 status = cli_do_rpc_ndr(cli,
1327 &ndr_table_netlogon,
1328 NDR_NETR_SERVERAUTHENTICATE3,
1331 if (!NT_STATUS_IS_OK(status)) {
1335 if (DEBUGLEVEL >= 10) {
1336 NDR_PRINT_OUT_DEBUG(netr_ServerAuthenticate3, &r);
1339 if (NT_STATUS_IS_ERR(status)) {
1343 /* Return variables */
1344 *credentials = *r.out.credentials;
1345 *negotiate_flags = *r.out.negotiate_flags;
1349 return r.out.result;
1352 NTSTATUS rpccli_netr_DsRGetDCNameEx(struct rpc_pipe_client *cli,
1353 TALLOC_CTX *mem_ctx,
1354 const char *server_unc /* [in] [unique,charset(UTF16)] */,
1355 const char *domain_name /* [in] [unique,charset(UTF16)] */,
1356 struct GUID *domain_guid /* [in] [unique] */,
1357 const char *site_name /* [in] [unique,charset(UTF16)] */,
1358 uint32_t flags /* [in] */,
1359 struct netr_DsRGetDCNameInfo **info /* [out] [ref] */,
1362 struct netr_DsRGetDCNameEx r;
1366 r.in.server_unc = server_unc;
1367 r.in.domain_name = domain_name;
1368 r.in.domain_guid = domain_guid;
1369 r.in.site_name = site_name;
1372 if (DEBUGLEVEL >= 10) {
1373 NDR_PRINT_IN_DEBUG(netr_DsRGetDCNameEx, &r);
1376 status = cli_do_rpc_ndr(cli,
1378 &ndr_table_netlogon,
1379 NDR_NETR_DSRGETDCNAMEEX,
1382 if (!NT_STATUS_IS_OK(status)) {
1386 if (DEBUGLEVEL >= 10) {
1387 NDR_PRINT_OUT_DEBUG(netr_DsRGetDCNameEx, &r);
1390 if (NT_STATUS_IS_ERR(status)) {
1394 /* Return variables */
1395 *info = *r.out.info;
1399 *werror = r.out.result;
1402 return werror_to_ntstatus(r.out.result);
1405 NTSTATUS rpccli_netr_DsRGetSiteName(struct rpc_pipe_client *cli,
1406 TALLOC_CTX *mem_ctx,
1407 const char *computer_name /* [in] [unique,charset(UTF16)] */,
1408 const char **site /* [out] [ref,charset(UTF16)] */,
1411 struct netr_DsRGetSiteName r;
1415 r.in.computer_name = computer_name;
1417 if (DEBUGLEVEL >= 10) {
1418 NDR_PRINT_IN_DEBUG(netr_DsRGetSiteName, &r);
1421 status = cli_do_rpc_ndr(cli,
1423 &ndr_table_netlogon,
1424 NDR_NETR_DSRGETSITENAME,
1427 if (!NT_STATUS_IS_OK(status)) {
1431 if (DEBUGLEVEL >= 10) {
1432 NDR_PRINT_OUT_DEBUG(netr_DsRGetSiteName, &r);
1435 if (NT_STATUS_IS_ERR(status)) {
1439 /* Return variables */
1440 *site = *r.out.site;
1444 *werror = r.out.result;
1447 return werror_to_ntstatus(r.out.result);
1450 NTSTATUS rpccli_netr_LogonGetDomainInfo(struct rpc_pipe_client *cli,
1451 TALLOC_CTX *mem_ctx,
1452 const char *server_name /* [in] [charset(UTF16)] */,
1453 const char *computer_name /* [in] [unique,charset(UTF16)] */,
1454 struct netr_Authenticator *credential /* [in] [ref] */,
1455 struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
1456 uint32_t level /* [in] */,
1457 union netr_DomainQuery query /* [in] [switch_is(level)] */,
1458 union netr_DomainInfo *info /* [out] [ref,switch_is(level)] */)
1460 struct netr_LogonGetDomainInfo r;
1464 r.in.server_name = server_name;
1465 r.in.computer_name = computer_name;
1466 r.in.credential = credential;
1467 r.in.return_authenticator = return_authenticator;
1471 if (DEBUGLEVEL >= 10) {
1472 NDR_PRINT_IN_DEBUG(netr_LogonGetDomainInfo, &r);
1475 status = cli_do_rpc_ndr(cli,
1477 &ndr_table_netlogon,
1478 NDR_NETR_LOGONGETDOMAININFO,
1481 if (!NT_STATUS_IS_OK(status)) {
1485 if (DEBUGLEVEL >= 10) {
1486 NDR_PRINT_OUT_DEBUG(netr_LogonGetDomainInfo, &r);
1489 if (NT_STATUS_IS_ERR(status)) {
1493 /* Return variables */
1494 *return_authenticator = *r.out.return_authenticator;
1495 *info = *r.out.info;
1498 return r.out.result;
1501 NTSTATUS rpccli_netr_ServerPasswordSet2(struct rpc_pipe_client *cli,
1502 TALLOC_CTX *mem_ctx,
1503 const char *server_name /* [in] [unique,charset(UTF16)] */,
1504 const char *account_name /* [in] [charset(UTF16)] */,
1505 enum netr_SchannelType secure_channel_type /* [in] */,
1506 const char *computer_name /* [in] [charset(UTF16)] */,
1507 struct netr_Authenticator *credential /* [in] [ref] */,
1508 struct netr_Authenticator *return_authenticator /* [out] [ref] */,
1509 struct netr_CryptPassword *new_password /* [in] [ref] */)
1511 struct netr_ServerPasswordSet2 r;
1515 r.in.server_name = server_name;
1516 r.in.account_name = account_name;
1517 r.in.secure_channel_type = secure_channel_type;
1518 r.in.computer_name = computer_name;
1519 r.in.credential = credential;
1520 r.in.new_password = new_password;
1522 if (DEBUGLEVEL >= 10) {
1523 NDR_PRINT_IN_DEBUG(netr_ServerPasswordSet2, &r);
1526 status = cli_do_rpc_ndr(cli,
1528 &ndr_table_netlogon,
1529 NDR_NETR_SERVERPASSWORDSET2,
1532 if (!NT_STATUS_IS_OK(status)) {
1536 if (DEBUGLEVEL >= 10) {
1537 NDR_PRINT_OUT_DEBUG(netr_ServerPasswordSet2, &r);
1540 if (NT_STATUS_IS_ERR(status)) {
1544 /* Return variables */
1545 *return_authenticator = *r.out.return_authenticator;
1548 return r.out.result;
1551 NTSTATUS rpccli_netr_ServerPasswordGet(struct rpc_pipe_client *cli,
1552 TALLOC_CTX *mem_ctx,
1553 const char *server_name /* [in] [unique,charset(UTF16)] */,
1554 const char *account_name /* [in] [charset(UTF16)] */,
1555 enum netr_SchannelType secure_channel_type /* [in] */,
1556 const char *computer_name /* [in] [charset(UTF16)] */,
1557 struct netr_Authenticator *credential /* [in] [ref] */,
1558 struct netr_Authenticator *return_authenticator /* [out] [ref] */,
1559 struct samr_Password *password /* [out] [ref] */,
1562 struct netr_ServerPasswordGet r;
1566 r.in.server_name = server_name;
1567 r.in.account_name = account_name;
1568 r.in.secure_channel_type = secure_channel_type;
1569 r.in.computer_name = computer_name;
1570 r.in.credential = credential;
1572 if (DEBUGLEVEL >= 10) {
1573 NDR_PRINT_IN_DEBUG(netr_ServerPasswordGet, &r);
1576 status = cli_do_rpc_ndr(cli,
1578 &ndr_table_netlogon,
1579 NDR_NETR_SERVERPASSWORDGET,
1582 if (!NT_STATUS_IS_OK(status)) {
1586 if (DEBUGLEVEL >= 10) {
1587 NDR_PRINT_OUT_DEBUG(netr_ServerPasswordGet, &r);
1590 if (NT_STATUS_IS_ERR(status)) {
1594 /* Return variables */
1595 *return_authenticator = *r.out.return_authenticator;
1596 *password = *r.out.password;
1600 *werror = r.out.result;
1603 return werror_to_ntstatus(r.out.result);
1606 NTSTATUS rpccli_netr_NETRLOGONSENDTOSAM(struct rpc_pipe_client *cli,
1607 TALLOC_CTX *mem_ctx,
1610 struct netr_NETRLOGONSENDTOSAM r;
1615 if (DEBUGLEVEL >= 10) {
1616 NDR_PRINT_IN_DEBUG(netr_NETRLOGONSENDTOSAM, &r);
1619 status = cli_do_rpc_ndr(cli,
1621 &ndr_table_netlogon,
1622 NDR_NETR_NETRLOGONSENDTOSAM,
1625 if (!NT_STATUS_IS_OK(status)) {
1629 if (DEBUGLEVEL >= 10) {
1630 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONSENDTOSAM, &r);
1633 if (NT_STATUS_IS_ERR(status)) {
1637 /* Return variables */
1641 *werror = r.out.result;
1644 return werror_to_ntstatus(r.out.result);
1647 NTSTATUS rpccli_netr_DsRAddressToSitenamesW(struct rpc_pipe_client *cli,
1648 TALLOC_CTX *mem_ctx,
1649 const char *server_name /* [in] [unique,charset(UTF16)] */,
1650 uint32_t count /* [in] [range(0,32000)] */,
1651 struct netr_DsRAddress *addresses /* [in] [ref,size_is(count)] */,
1652 struct netr_DsRAddressToSitenamesWCtr **ctr /* [out] [ref] */,
1655 struct netr_DsRAddressToSitenamesW r;
1659 r.in.server_name = server_name;
1661 r.in.addresses = addresses;
1663 if (DEBUGLEVEL >= 10) {
1664 NDR_PRINT_IN_DEBUG(netr_DsRAddressToSitenamesW, &r);
1667 status = cli_do_rpc_ndr(cli,
1669 &ndr_table_netlogon,
1670 NDR_NETR_DSRADDRESSTOSITENAMESW,
1673 if (!NT_STATUS_IS_OK(status)) {
1677 if (DEBUGLEVEL >= 10) {
1678 NDR_PRINT_OUT_DEBUG(netr_DsRAddressToSitenamesW, &r);
1681 if (NT_STATUS_IS_ERR(status)) {
1685 /* Return variables */
1690 *werror = r.out.result;
1693 return werror_to_ntstatus(r.out.result);
1696 NTSTATUS rpccli_netr_DsRGetDCNameEx2(struct rpc_pipe_client *cli,
1697 TALLOC_CTX *mem_ctx,
1698 const char *server_unc /* [in] [unique,charset(UTF16)] */,
1699 const char *client_account /* [in] [unique,charset(UTF16)] */,
1700 uint32_t mask /* [in] */,
1701 const char *domain_name /* [in] [unique,charset(UTF16)] */,
1702 struct GUID *domain_guid /* [in] [unique] */,
1703 const char *site_name /* [in] [unique,charset(UTF16)] */,
1704 uint32_t flags /* [in] */,
1705 struct netr_DsRGetDCNameInfo **info /* [out] [ref] */,
1708 struct netr_DsRGetDCNameEx2 r;
1712 r.in.server_unc = server_unc;
1713 r.in.client_account = client_account;
1715 r.in.domain_name = domain_name;
1716 r.in.domain_guid = domain_guid;
1717 r.in.site_name = site_name;
1720 if (DEBUGLEVEL >= 10) {
1721 NDR_PRINT_IN_DEBUG(netr_DsRGetDCNameEx2, &r);
1724 status = cli_do_rpc_ndr(cli,
1726 &ndr_table_netlogon,
1727 NDR_NETR_DSRGETDCNAMEEX2,
1730 if (!NT_STATUS_IS_OK(status)) {
1734 if (DEBUGLEVEL >= 10) {
1735 NDR_PRINT_OUT_DEBUG(netr_DsRGetDCNameEx2, &r);
1738 if (NT_STATUS_IS_ERR(status)) {
1742 /* Return variables */
1743 *info = *r.out.info;
1747 *werror = r.out.result;
1750 return werror_to_ntstatus(r.out.result);
1753 NTSTATUS rpccli_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct rpc_pipe_client *cli,
1754 TALLOC_CTX *mem_ctx,
1757 struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN r;
1762 if (DEBUGLEVEL >= 10) {
1763 NDR_PRINT_IN_DEBUG(netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN, &r);
1766 status = cli_do_rpc_ndr(cli,
1768 &ndr_table_netlogon,
1769 NDR_NETR_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
1772 if (!NT_STATUS_IS_OK(status)) {
1776 if (DEBUGLEVEL >= 10) {
1777 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN, &r);
1780 if (NT_STATUS_IS_ERR(status)) {
1784 /* Return variables */
1788 *werror = r.out.result;
1791 return werror_to_ntstatus(r.out.result);
1794 NTSTATUS rpccli_netr_NetrEnumerateTrustedDomainsEx(struct rpc_pipe_client *cli,
1795 TALLOC_CTX *mem_ctx,
1796 const char *server_name /* [in] [unique,charset(UTF16)] */,
1797 struct netr_DomainTrustList *dom_trust_list /* [out] [ref] */,
1800 struct netr_NetrEnumerateTrustedDomainsEx r;
1804 r.in.server_name = server_name;
1806 if (DEBUGLEVEL >= 10) {
1807 NDR_PRINT_IN_DEBUG(netr_NetrEnumerateTrustedDomainsEx, &r);
1810 status = cli_do_rpc_ndr(cli,
1812 &ndr_table_netlogon,
1813 NDR_NETR_NETRENUMERATETRUSTEDDOMAINSEX,
1816 if (!NT_STATUS_IS_OK(status)) {
1820 if (DEBUGLEVEL >= 10) {
1821 NDR_PRINT_OUT_DEBUG(netr_NetrEnumerateTrustedDomainsEx, &r);
1824 if (NT_STATUS_IS_ERR(status)) {
1828 /* Return variables */
1829 *dom_trust_list = *r.out.dom_trust_list;
1833 *werror = r.out.result;
1836 return werror_to_ntstatus(r.out.result);
1839 NTSTATUS rpccli_netr_DsRAddressToSitenamesExW(struct rpc_pipe_client *cli,
1840 TALLOC_CTX *mem_ctx,
1841 const char *server_name /* [in] [unique,charset(UTF16)] */,
1842 uint32_t count /* [in] [range(0,32000)] */,
1843 struct netr_DsRAddress *addresses /* [in] [ref,size_is(count)] */,
1844 struct netr_DsRAddressToSitenamesExWCtr **ctr /* [out] [ref] */,
1847 struct netr_DsRAddressToSitenamesExW r;
1851 r.in.server_name = server_name;
1853 r.in.addresses = addresses;
1855 if (DEBUGLEVEL >= 10) {
1856 NDR_PRINT_IN_DEBUG(netr_DsRAddressToSitenamesExW, &r);
1859 status = cli_do_rpc_ndr(cli,
1861 &ndr_table_netlogon,
1862 NDR_NETR_DSRADDRESSTOSITENAMESEXW,
1865 if (!NT_STATUS_IS_OK(status)) {
1869 if (DEBUGLEVEL >= 10) {
1870 NDR_PRINT_OUT_DEBUG(netr_DsRAddressToSitenamesExW, &r);
1873 if (NT_STATUS_IS_ERR(status)) {
1877 /* Return variables */
1882 *werror = r.out.result;
1885 return werror_to_ntstatus(r.out.result);
1888 NTSTATUS rpccli_netr_DsrGetDcSiteCoverageW(struct rpc_pipe_client *cli,
1889 TALLOC_CTX *mem_ctx,
1890 const char *server_name /* [in] [unique,charset(UTF16)] */,
1891 struct DcSitesCtr *ctr /* [out] [ref] */,
1894 struct netr_DsrGetDcSiteCoverageW r;
1898 r.in.server_name = server_name;
1900 if (DEBUGLEVEL >= 10) {
1901 NDR_PRINT_IN_DEBUG(netr_DsrGetDcSiteCoverageW, &r);
1904 status = cli_do_rpc_ndr(cli,
1906 &ndr_table_netlogon,
1907 NDR_NETR_DSRGETDCSITECOVERAGEW,
1910 if (!NT_STATUS_IS_OK(status)) {
1914 if (DEBUGLEVEL >= 10) {
1915 NDR_PRINT_OUT_DEBUG(netr_DsrGetDcSiteCoverageW, &r);
1918 if (NT_STATUS_IS_ERR(status)) {
1922 /* Return variables */
1927 *werror = r.out.result;
1930 return werror_to_ntstatus(r.out.result);
1933 NTSTATUS rpccli_netr_LogonSamLogonEx(struct rpc_pipe_client *cli,
1934 TALLOC_CTX *mem_ctx,
1935 const char *server_name /* [in] [unique,charset(UTF16)] */,
1936 const char *computer_name /* [in] [unique,charset(UTF16)] */,
1937 enum netr_LogonInfoClass logon_level /* [in] */,
1938 union netr_LogonLevel *logon /* [in] [ref,switch_is(logon_level)] */,
1939 uint16_t validation_level /* [in] */,
1940 union netr_Validation *validation /* [out] [ref,switch_is(validation_level)] */,
1941 uint8_t *authoritative /* [out] [ref] */,
1942 uint32_t *flags /* [in,out] [ref] */)
1944 struct netr_LogonSamLogonEx r;
1948 r.in.server_name = server_name;
1949 r.in.computer_name = computer_name;
1950 r.in.logon_level = logon_level;
1952 r.in.validation_level = validation_level;
1955 if (DEBUGLEVEL >= 10) {
1956 NDR_PRINT_IN_DEBUG(netr_LogonSamLogonEx, &r);
1959 status = cli_do_rpc_ndr(cli,
1961 &ndr_table_netlogon,
1962 NDR_NETR_LOGONSAMLOGONEX,
1965 if (!NT_STATUS_IS_OK(status)) {
1969 if (DEBUGLEVEL >= 10) {
1970 NDR_PRINT_OUT_DEBUG(netr_LogonSamLogonEx, &r);
1973 if (NT_STATUS_IS_ERR(status)) {
1977 /* Return variables */
1978 *validation = *r.out.validation;
1979 *authoritative = *r.out.authoritative;
1980 *flags = *r.out.flags;
1983 return r.out.result;
1986 NTSTATUS rpccli_netr_DsrEnumerateDomainTrusts(struct rpc_pipe_client *cli,
1987 TALLOC_CTX *mem_ctx,
1988 const char *server_name /* [in] [unique,charset(UTF16)] */,
1989 uint32_t trust_flags /* [in] */,
1990 struct netr_DomainTrustList *trusts /* [out] [ref] */,
1993 struct netr_DsrEnumerateDomainTrusts r;
1997 r.in.server_name = server_name;
1998 r.in.trust_flags = trust_flags;
2000 if (DEBUGLEVEL >= 10) {
2001 NDR_PRINT_IN_DEBUG(netr_DsrEnumerateDomainTrusts, &r);
2004 status = cli_do_rpc_ndr(cli,
2006 &ndr_table_netlogon,
2007 NDR_NETR_DSRENUMERATEDOMAINTRUSTS,
2010 if (!NT_STATUS_IS_OK(status)) {
2014 if (DEBUGLEVEL >= 10) {
2015 NDR_PRINT_OUT_DEBUG(netr_DsrEnumerateDomainTrusts, &r);
2018 if (NT_STATUS_IS_ERR(status)) {
2022 /* Return variables */
2023 *trusts = *r.out.trusts;
2027 *werror = r.out.result;
2030 return werror_to_ntstatus(r.out.result);
2033 NTSTATUS rpccli_netr_DsrDeregisterDNSHostRecords(struct rpc_pipe_client *cli,
2034 TALLOC_CTX *mem_ctx,
2035 const char *server_name /* [in] [unique,charset(UTF16)] */,
2036 const char *domain /* [in] [unique,charset(UTF16)] */,
2037 struct GUID *domain_guid /* [in] [unique] */,
2038 struct GUID *dsa_guid /* [in] [unique] */,
2039 const char *dns_host /* [in] [ref,charset(UTF16)] */,
2042 struct netr_DsrDeregisterDNSHostRecords r;
2046 r.in.server_name = server_name;
2047 r.in.domain = domain;
2048 r.in.domain_guid = domain_guid;
2049 r.in.dsa_guid = dsa_guid;
2050 r.in.dns_host = dns_host;
2052 if (DEBUGLEVEL >= 10) {
2053 NDR_PRINT_IN_DEBUG(netr_DsrDeregisterDNSHostRecords, &r);
2056 status = cli_do_rpc_ndr(cli,
2058 &ndr_table_netlogon,
2059 NDR_NETR_DSRDEREGISTERDNSHOSTRECORDS,
2062 if (!NT_STATUS_IS_OK(status)) {
2066 if (DEBUGLEVEL >= 10) {
2067 NDR_PRINT_OUT_DEBUG(netr_DsrDeregisterDNSHostRecords, &r);
2070 if (NT_STATUS_IS_ERR(status)) {
2074 /* Return variables */
2078 *werror = r.out.result;
2081 return werror_to_ntstatus(r.out.result);
2084 NTSTATUS rpccli_netr_ServerTrustPasswordsGet(struct rpc_pipe_client *cli,
2085 TALLOC_CTX *mem_ctx,
2086 const char *server_name /* [in] [unique,charset(UTF16)] */,
2087 const char *account_name /* [in] [charset(UTF16)] */,
2088 enum netr_SchannelType secure_channel_type /* [in] */,
2089 const char *computer_name /* [in] [charset(UTF16)] */,
2090 struct netr_Authenticator *credential /* [in] [ref] */,
2091 struct netr_Authenticator *return_authenticator /* [out] [ref] */,
2092 struct samr_Password *password /* [out] [ref] */,
2093 struct samr_Password *password2 /* [out] [ref] */)
2095 struct netr_ServerTrustPasswordsGet r;
2099 r.in.server_name = server_name;
2100 r.in.account_name = account_name;
2101 r.in.secure_channel_type = secure_channel_type;
2102 r.in.computer_name = computer_name;
2103 r.in.credential = credential;
2105 if (DEBUGLEVEL >= 10) {
2106 NDR_PRINT_IN_DEBUG(netr_ServerTrustPasswordsGet, &r);
2109 status = cli_do_rpc_ndr(cli,
2111 &ndr_table_netlogon,
2112 NDR_NETR_SERVERTRUSTPASSWORDSGET,
2115 if (!NT_STATUS_IS_OK(status)) {
2119 if (DEBUGLEVEL >= 10) {
2120 NDR_PRINT_OUT_DEBUG(netr_ServerTrustPasswordsGet, &r);
2123 if (NT_STATUS_IS_ERR(status)) {
2127 /* Return variables */
2128 *return_authenticator = *r.out.return_authenticator;
2129 *password = *r.out.password;
2130 *password2 = *r.out.password2;
2133 return r.out.result;
2136 NTSTATUS rpccli_netr_DsRGetForestTrustInformation(struct rpc_pipe_client *cli,
2137 TALLOC_CTX *mem_ctx,
2138 const char *server_name /* [in] [unique,charset(UTF16)] */,
2139 const char *trusted_domain_name /* [in] [unique,charset(UTF16)] */,
2140 uint32_t flags /* [in] */,
2141 struct lsa_ForestTrustInformation **forest_trust_info /* [out] [ref] */,
2144 struct netr_DsRGetForestTrustInformation r;
2148 r.in.server_name = server_name;
2149 r.in.trusted_domain_name = trusted_domain_name;
2152 if (DEBUGLEVEL >= 10) {
2153 NDR_PRINT_IN_DEBUG(netr_DsRGetForestTrustInformation, &r);
2156 status = cli_do_rpc_ndr(cli,
2158 &ndr_table_netlogon,
2159 NDR_NETR_DSRGETFORESTTRUSTINFORMATION,
2162 if (!NT_STATUS_IS_OK(status)) {
2166 if (DEBUGLEVEL >= 10) {
2167 NDR_PRINT_OUT_DEBUG(netr_DsRGetForestTrustInformation, &r);
2170 if (NT_STATUS_IS_ERR(status)) {
2174 /* Return variables */
2175 *forest_trust_info = *r.out.forest_trust_info;
2179 *werror = r.out.result;
2182 return werror_to_ntstatus(r.out.result);
2185 NTSTATUS rpccli_netr_GetForestTrustInformation(struct rpc_pipe_client *cli,
2186 TALLOC_CTX *mem_ctx,
2187 const char *server_name /* [in] [unique,charset(UTF16)] */,
2188 const char *trusted_domain_name /* [in] [ref,charset(UTF16)] */,
2189 struct netr_Authenticator *credential /* [in] [ref] */,
2190 struct netr_Authenticator *return_authenticator /* [out] [ref] */,
2191 uint32_t flags /* [in] */,
2192 struct lsa_ForestTrustInformation **forest_trust_info /* [out] [ref] */,
2195 struct netr_GetForestTrustInformation r;
2199 r.in.server_name = server_name;
2200 r.in.trusted_domain_name = trusted_domain_name;
2201 r.in.credential = credential;
2204 if (DEBUGLEVEL >= 10) {
2205 NDR_PRINT_IN_DEBUG(netr_GetForestTrustInformation, &r);
2208 status = cli_do_rpc_ndr(cli,
2210 &ndr_table_netlogon,
2211 NDR_NETR_GETFORESTTRUSTINFORMATION,
2214 if (!NT_STATUS_IS_OK(status)) {
2218 if (DEBUGLEVEL >= 10) {
2219 NDR_PRINT_OUT_DEBUG(netr_GetForestTrustInformation, &r);
2222 if (NT_STATUS_IS_ERR(status)) {
2226 /* Return variables */
2227 *return_authenticator = *r.out.return_authenticator;
2228 *forest_trust_info = *r.out.forest_trust_info;
2232 *werror = r.out.result;
2235 return werror_to_ntstatus(r.out.result);
2238 NTSTATUS rpccli_netr_LogonSamLogonWithFlags(struct rpc_pipe_client *cli,
2239 TALLOC_CTX *mem_ctx,
2240 const char *server_name /* [in] [unique,charset(UTF16)] */,
2241 const char *computer_name /* [in] [unique,charset(UTF16)] */,
2242 struct netr_Authenticator *credential /* [in] [unique] */,
2243 struct netr_Authenticator *return_authenticator /* [in,out] [unique] */,
2244 enum netr_LogonInfoClass logon_level /* [in] */,
2245 union netr_LogonLevel logon /* [in] [switch_is(logon_level)] */,
2246 uint16_t validation_level /* [in] */,
2247 union netr_Validation *validation /* [out] [ref,switch_is(validation_level)] */,
2248 uint8_t *authoritative /* [out] [ref] */,
2249 uint32_t *flags /* [in,out] [ref] */)
2251 struct netr_LogonSamLogonWithFlags r;
2255 r.in.server_name = server_name;
2256 r.in.computer_name = computer_name;
2257 r.in.credential = credential;
2258 r.in.return_authenticator = return_authenticator;
2259 r.in.logon_level = logon_level;
2261 r.in.validation_level = validation_level;
2264 if (DEBUGLEVEL >= 10) {
2265 NDR_PRINT_IN_DEBUG(netr_LogonSamLogonWithFlags, &r);
2268 status = cli_do_rpc_ndr(cli,
2270 &ndr_table_netlogon,
2271 NDR_NETR_LOGONSAMLOGONWITHFLAGS,
2274 if (!NT_STATUS_IS_OK(status)) {
2278 if (DEBUGLEVEL >= 10) {
2279 NDR_PRINT_OUT_DEBUG(netr_LogonSamLogonWithFlags, &r);
2282 if (NT_STATUS_IS_ERR(status)) {
2286 /* Return variables */
2287 if (return_authenticator && r.out.return_authenticator) {
2288 *return_authenticator = *r.out.return_authenticator;
2290 *validation = *r.out.validation;
2291 *authoritative = *r.out.authoritative;
2292 *flags = *r.out.flags;
2295 return r.out.result;
2298 NTSTATUS rpccli_netr_NETRSERVERGETTRUSTINFO(struct rpc_pipe_client *cli,
2299 TALLOC_CTX *mem_ctx,
2302 struct netr_NETRSERVERGETTRUSTINFO r;
2307 if (DEBUGLEVEL >= 10) {
2308 NDR_PRINT_IN_DEBUG(netr_NETRSERVERGETTRUSTINFO, &r);
2311 status = cli_do_rpc_ndr(cli,
2313 &ndr_table_netlogon,
2314 NDR_NETR_NETRSERVERGETTRUSTINFO,
2317 if (!NT_STATUS_IS_OK(status)) {
2321 if (DEBUGLEVEL >= 10) {
2322 NDR_PRINT_OUT_DEBUG(netr_NETRSERVERGETTRUSTINFO, &r);
2325 if (NT_STATUS_IS_ERR(status)) {
2329 /* Return variables */
2333 *werror = r.out.result;
2336 return werror_to_ntstatus(r.out.result);