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_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
->dispatch(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
->dispatch(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
->dispatch(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
->dispatch(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
->dispatch(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] [ref] */,
1307 struct netr_Credential
*return_credentials
/* [out] [ref] */,
1308 uint32_t *negotiate_flags
/* [in,out] [ref] */,
1309 uint32_t *rid
/* [out] [ref] */)
1311 struct netr_ServerAuthenticate3 r
;
1315 r
.in
.server_name
= server_name
;
1316 r
.in
.account_name
= account_name
;
1317 r
.in
.secure_channel_type
= secure_channel_type
;
1318 r
.in
.computer_name
= computer_name
;
1319 r
.in
.credentials
= credentials
;
1320 r
.in
.negotiate_flags
= negotiate_flags
;
1322 if (DEBUGLEVEL
>= 10) {
1323 NDR_PRINT_IN_DEBUG(netr_ServerAuthenticate3
, &r
);
1326 status
= cli
->dispatch(cli
,
1328 &ndr_table_netlogon
,
1329 NDR_NETR_SERVERAUTHENTICATE3
,
1332 if (!NT_STATUS_IS_OK(status
)) {
1336 if (DEBUGLEVEL
>= 10) {
1337 NDR_PRINT_OUT_DEBUG(netr_ServerAuthenticate3
, &r
);
1340 if (NT_STATUS_IS_ERR(status
)) {
1344 /* Return variables */
1345 *return_credentials
= *r
.out
.return_credentials
;
1346 *negotiate_flags
= *r
.out
.negotiate_flags
;
1350 return r
.out
.result
;
1353 NTSTATUS
rpccli_netr_DsRGetDCNameEx(struct rpc_pipe_client
*cli
,
1354 TALLOC_CTX
*mem_ctx
,
1355 const char *server_unc
/* [in] [unique,charset(UTF16)] */,
1356 const char *domain_name
/* [in] [unique,charset(UTF16)] */,
1357 struct GUID
*domain_guid
/* [in] [unique] */,
1358 const char *site_name
/* [in] [unique,charset(UTF16)] */,
1359 uint32_t flags
/* [in] */,
1360 struct netr_DsRGetDCNameInfo
**info
/* [out] [ref] */,
1363 struct netr_DsRGetDCNameEx r
;
1367 r
.in
.server_unc
= server_unc
;
1368 r
.in
.domain_name
= domain_name
;
1369 r
.in
.domain_guid
= domain_guid
;
1370 r
.in
.site_name
= site_name
;
1373 if (DEBUGLEVEL
>= 10) {
1374 NDR_PRINT_IN_DEBUG(netr_DsRGetDCNameEx
, &r
);
1377 status
= cli
->dispatch(cli
,
1379 &ndr_table_netlogon
,
1380 NDR_NETR_DSRGETDCNAMEEX
,
1383 if (!NT_STATUS_IS_OK(status
)) {
1387 if (DEBUGLEVEL
>= 10) {
1388 NDR_PRINT_OUT_DEBUG(netr_DsRGetDCNameEx
, &r
);
1391 if (NT_STATUS_IS_ERR(status
)) {
1395 /* Return variables */
1396 *info
= *r
.out
.info
;
1400 *werror
= r
.out
.result
;
1403 return werror_to_ntstatus(r
.out
.result
);
1406 NTSTATUS
rpccli_netr_DsRGetSiteName(struct rpc_pipe_client
*cli
,
1407 TALLOC_CTX
*mem_ctx
,
1408 const char *computer_name
/* [in] [unique,charset(UTF16)] */,
1409 const char **site
/* [out] [ref,charset(UTF16)] */,
1412 struct netr_DsRGetSiteName r
;
1416 r
.in
.computer_name
= computer_name
;
1418 if (DEBUGLEVEL
>= 10) {
1419 NDR_PRINT_IN_DEBUG(netr_DsRGetSiteName
, &r
);
1422 status
= cli
->dispatch(cli
,
1424 &ndr_table_netlogon
,
1425 NDR_NETR_DSRGETSITENAME
,
1428 if (!NT_STATUS_IS_OK(status
)) {
1432 if (DEBUGLEVEL
>= 10) {
1433 NDR_PRINT_OUT_DEBUG(netr_DsRGetSiteName
, &r
);
1436 if (NT_STATUS_IS_ERR(status
)) {
1440 /* Return variables */
1441 *site
= *r
.out
.site
;
1445 *werror
= r
.out
.result
;
1448 return werror_to_ntstatus(r
.out
.result
);
1451 NTSTATUS
rpccli_netr_LogonGetDomainInfo(struct rpc_pipe_client
*cli
,
1452 TALLOC_CTX
*mem_ctx
,
1453 const char *server_name
/* [in] [charset(UTF16)] */,
1454 const char *computer_name
/* [in] [unique,charset(UTF16)] */,
1455 struct netr_Authenticator
*credential
/* [in] [ref] */,
1456 struct netr_Authenticator
*return_authenticator
/* [in,out] [ref] */,
1457 uint32_t level
/* [in] */,
1458 union netr_DomainQuery query
/* [in] [switch_is(level)] */,
1459 union netr_DomainInfo
*info
/* [out] [ref,switch_is(level)] */)
1461 struct netr_LogonGetDomainInfo r
;
1465 r
.in
.server_name
= server_name
;
1466 r
.in
.computer_name
= computer_name
;
1467 r
.in
.credential
= credential
;
1468 r
.in
.return_authenticator
= return_authenticator
;
1472 if (DEBUGLEVEL
>= 10) {
1473 NDR_PRINT_IN_DEBUG(netr_LogonGetDomainInfo
, &r
);
1476 status
= cli
->dispatch(cli
,
1478 &ndr_table_netlogon
,
1479 NDR_NETR_LOGONGETDOMAININFO
,
1482 if (!NT_STATUS_IS_OK(status
)) {
1486 if (DEBUGLEVEL
>= 10) {
1487 NDR_PRINT_OUT_DEBUG(netr_LogonGetDomainInfo
, &r
);
1490 if (NT_STATUS_IS_ERR(status
)) {
1494 /* Return variables */
1495 *return_authenticator
= *r
.out
.return_authenticator
;
1496 *info
= *r
.out
.info
;
1499 return r
.out
.result
;
1502 NTSTATUS
rpccli_netr_ServerPasswordSet2(struct rpc_pipe_client
*cli
,
1503 TALLOC_CTX
*mem_ctx
,
1504 const char *server_name
/* [in] [unique,charset(UTF16)] */,
1505 const char *account_name
/* [in] [charset(UTF16)] */,
1506 enum netr_SchannelType secure_channel_type
/* [in] */,
1507 const char *computer_name
/* [in] [charset(UTF16)] */,
1508 struct netr_Authenticator
*credential
/* [in] [ref] */,
1509 struct netr_Authenticator
*return_authenticator
/* [out] [ref] */,
1510 struct netr_CryptPassword
*new_password
/* [in] [ref] */)
1512 struct netr_ServerPasswordSet2 r
;
1516 r
.in
.server_name
= server_name
;
1517 r
.in
.account_name
= account_name
;
1518 r
.in
.secure_channel_type
= secure_channel_type
;
1519 r
.in
.computer_name
= computer_name
;
1520 r
.in
.credential
= credential
;
1521 r
.in
.new_password
= new_password
;
1523 if (DEBUGLEVEL
>= 10) {
1524 NDR_PRINT_IN_DEBUG(netr_ServerPasswordSet2
, &r
);
1527 status
= cli
->dispatch(cli
,
1529 &ndr_table_netlogon
,
1530 NDR_NETR_SERVERPASSWORDSET2
,
1533 if (!NT_STATUS_IS_OK(status
)) {
1537 if (DEBUGLEVEL
>= 10) {
1538 NDR_PRINT_OUT_DEBUG(netr_ServerPasswordSet2
, &r
);
1541 if (NT_STATUS_IS_ERR(status
)) {
1545 /* Return variables */
1546 *return_authenticator
= *r
.out
.return_authenticator
;
1549 return r
.out
.result
;
1552 NTSTATUS
rpccli_netr_ServerPasswordGet(struct rpc_pipe_client
*cli
,
1553 TALLOC_CTX
*mem_ctx
,
1554 const char *server_name
/* [in] [unique,charset(UTF16)] */,
1555 const char *account_name
/* [in] [charset(UTF16)] */,
1556 enum netr_SchannelType secure_channel_type
/* [in] */,
1557 const char *computer_name
/* [in] [charset(UTF16)] */,
1558 struct netr_Authenticator
*credential
/* [in] [ref] */,
1559 struct netr_Authenticator
*return_authenticator
/* [out] [ref] */,
1560 struct samr_Password
*password
/* [out] [ref] */,
1563 struct netr_ServerPasswordGet r
;
1567 r
.in
.server_name
= server_name
;
1568 r
.in
.account_name
= account_name
;
1569 r
.in
.secure_channel_type
= secure_channel_type
;
1570 r
.in
.computer_name
= computer_name
;
1571 r
.in
.credential
= credential
;
1573 if (DEBUGLEVEL
>= 10) {
1574 NDR_PRINT_IN_DEBUG(netr_ServerPasswordGet
, &r
);
1577 status
= cli
->dispatch(cli
,
1579 &ndr_table_netlogon
,
1580 NDR_NETR_SERVERPASSWORDGET
,
1583 if (!NT_STATUS_IS_OK(status
)) {
1587 if (DEBUGLEVEL
>= 10) {
1588 NDR_PRINT_OUT_DEBUG(netr_ServerPasswordGet
, &r
);
1591 if (NT_STATUS_IS_ERR(status
)) {
1595 /* Return variables */
1596 *return_authenticator
= *r
.out
.return_authenticator
;
1597 *password
= *r
.out
.password
;
1601 *werror
= r
.out
.result
;
1604 return werror_to_ntstatus(r
.out
.result
);
1607 NTSTATUS
rpccli_netr_NETRLOGONSENDTOSAM(struct rpc_pipe_client
*cli
,
1608 TALLOC_CTX
*mem_ctx
,
1611 struct netr_NETRLOGONSENDTOSAM r
;
1616 if (DEBUGLEVEL
>= 10) {
1617 NDR_PRINT_IN_DEBUG(netr_NETRLOGONSENDTOSAM
, &r
);
1620 status
= cli
->dispatch(cli
,
1622 &ndr_table_netlogon
,
1623 NDR_NETR_NETRLOGONSENDTOSAM
,
1626 if (!NT_STATUS_IS_OK(status
)) {
1630 if (DEBUGLEVEL
>= 10) {
1631 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONSENDTOSAM
, &r
);
1634 if (NT_STATUS_IS_ERR(status
)) {
1638 /* Return variables */
1642 *werror
= r
.out
.result
;
1645 return werror_to_ntstatus(r
.out
.result
);
1648 NTSTATUS
rpccli_netr_DsRAddressToSitenamesW(struct rpc_pipe_client
*cli
,
1649 TALLOC_CTX
*mem_ctx
,
1650 const char *server_name
/* [in] [unique,charset(UTF16)] */,
1651 uint32_t count
/* [in] [range(0,32000)] */,
1652 struct netr_DsRAddress
*addresses
/* [in] [ref,size_is(count)] */,
1653 struct netr_DsRAddressToSitenamesWCtr
**ctr
/* [out] [ref] */,
1656 struct netr_DsRAddressToSitenamesW r
;
1660 r
.in
.server_name
= server_name
;
1662 r
.in
.addresses
= addresses
;
1664 if (DEBUGLEVEL
>= 10) {
1665 NDR_PRINT_IN_DEBUG(netr_DsRAddressToSitenamesW
, &r
);
1668 status
= cli
->dispatch(cli
,
1670 &ndr_table_netlogon
,
1671 NDR_NETR_DSRADDRESSTOSITENAMESW
,
1674 if (!NT_STATUS_IS_OK(status
)) {
1678 if (DEBUGLEVEL
>= 10) {
1679 NDR_PRINT_OUT_DEBUG(netr_DsRAddressToSitenamesW
, &r
);
1682 if (NT_STATUS_IS_ERR(status
)) {
1686 /* Return variables */
1691 *werror
= r
.out
.result
;
1694 return werror_to_ntstatus(r
.out
.result
);
1697 NTSTATUS
rpccli_netr_DsRGetDCNameEx2(struct rpc_pipe_client
*cli
,
1698 TALLOC_CTX
*mem_ctx
,
1699 const char *server_unc
/* [in] [unique,charset(UTF16)] */,
1700 const char *client_account
/* [in] [unique,charset(UTF16)] */,
1701 uint32_t mask
/* [in] */,
1702 const char *domain_name
/* [in] [unique,charset(UTF16)] */,
1703 struct GUID
*domain_guid
/* [in] [unique] */,
1704 const char *site_name
/* [in] [unique,charset(UTF16)] */,
1705 uint32_t flags
/* [in] */,
1706 struct netr_DsRGetDCNameInfo
**info
/* [out] [ref] */,
1709 struct netr_DsRGetDCNameEx2 r
;
1713 r
.in
.server_unc
= server_unc
;
1714 r
.in
.client_account
= client_account
;
1716 r
.in
.domain_name
= domain_name
;
1717 r
.in
.domain_guid
= domain_guid
;
1718 r
.in
.site_name
= site_name
;
1721 if (DEBUGLEVEL
>= 10) {
1722 NDR_PRINT_IN_DEBUG(netr_DsRGetDCNameEx2
, &r
);
1725 status
= cli
->dispatch(cli
,
1727 &ndr_table_netlogon
,
1728 NDR_NETR_DSRGETDCNAMEEX2
,
1731 if (!NT_STATUS_IS_OK(status
)) {
1735 if (DEBUGLEVEL
>= 10) {
1736 NDR_PRINT_OUT_DEBUG(netr_DsRGetDCNameEx2
, &r
);
1739 if (NT_STATUS_IS_ERR(status
)) {
1743 /* Return variables */
1744 *info
= *r
.out
.info
;
1748 *werror
= r
.out
.result
;
1751 return werror_to_ntstatus(r
.out
.result
);
1754 NTSTATUS
rpccli_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct rpc_pipe_client
*cli
,
1755 TALLOC_CTX
*mem_ctx
,
1758 struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN r
;
1763 if (DEBUGLEVEL
>= 10) {
1764 NDR_PRINT_IN_DEBUG(netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN
, &r
);
1767 status
= cli
->dispatch(cli
,
1769 &ndr_table_netlogon
,
1770 NDR_NETR_NETRLOGONGETTIMESERVICEPARENTDOMAIN
,
1773 if (!NT_STATUS_IS_OK(status
)) {
1777 if (DEBUGLEVEL
>= 10) {
1778 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN
, &r
);
1781 if (NT_STATUS_IS_ERR(status
)) {
1785 /* Return variables */
1789 *werror
= r
.out
.result
;
1792 return werror_to_ntstatus(r
.out
.result
);
1795 NTSTATUS
rpccli_netr_NetrEnumerateTrustedDomainsEx(struct rpc_pipe_client
*cli
,
1796 TALLOC_CTX
*mem_ctx
,
1797 const char *server_name
/* [in] [unique,charset(UTF16)] */,
1798 struct netr_DomainTrustList
*dom_trust_list
/* [out] [ref] */,
1801 struct netr_NetrEnumerateTrustedDomainsEx r
;
1805 r
.in
.server_name
= server_name
;
1807 if (DEBUGLEVEL
>= 10) {
1808 NDR_PRINT_IN_DEBUG(netr_NetrEnumerateTrustedDomainsEx
, &r
);
1811 status
= cli
->dispatch(cli
,
1813 &ndr_table_netlogon
,
1814 NDR_NETR_NETRENUMERATETRUSTEDDOMAINSEX
,
1817 if (!NT_STATUS_IS_OK(status
)) {
1821 if (DEBUGLEVEL
>= 10) {
1822 NDR_PRINT_OUT_DEBUG(netr_NetrEnumerateTrustedDomainsEx
, &r
);
1825 if (NT_STATUS_IS_ERR(status
)) {
1829 /* Return variables */
1830 *dom_trust_list
= *r
.out
.dom_trust_list
;
1834 *werror
= r
.out
.result
;
1837 return werror_to_ntstatus(r
.out
.result
);
1840 NTSTATUS
rpccli_netr_DsRAddressToSitenamesExW(struct rpc_pipe_client
*cli
,
1841 TALLOC_CTX
*mem_ctx
,
1842 const char *server_name
/* [in] [unique,charset(UTF16)] */,
1843 uint32_t count
/* [in] [range(0,32000)] */,
1844 struct netr_DsRAddress
*addresses
/* [in] [ref,size_is(count)] */,
1845 struct netr_DsRAddressToSitenamesExWCtr
**ctr
/* [out] [ref] */,
1848 struct netr_DsRAddressToSitenamesExW r
;
1852 r
.in
.server_name
= server_name
;
1854 r
.in
.addresses
= addresses
;
1856 if (DEBUGLEVEL
>= 10) {
1857 NDR_PRINT_IN_DEBUG(netr_DsRAddressToSitenamesExW
, &r
);
1860 status
= cli
->dispatch(cli
,
1862 &ndr_table_netlogon
,
1863 NDR_NETR_DSRADDRESSTOSITENAMESEXW
,
1866 if (!NT_STATUS_IS_OK(status
)) {
1870 if (DEBUGLEVEL
>= 10) {
1871 NDR_PRINT_OUT_DEBUG(netr_DsRAddressToSitenamesExW
, &r
);
1874 if (NT_STATUS_IS_ERR(status
)) {
1878 /* Return variables */
1883 *werror
= r
.out
.result
;
1886 return werror_to_ntstatus(r
.out
.result
);
1889 NTSTATUS
rpccli_netr_DsrGetDcSiteCoverageW(struct rpc_pipe_client
*cli
,
1890 TALLOC_CTX
*mem_ctx
,
1891 const char *server_name
/* [in] [unique,charset(UTF16)] */,
1892 struct DcSitesCtr
**ctr
/* [out] [ref] */,
1895 struct netr_DsrGetDcSiteCoverageW r
;
1899 r
.in
.server_name
= server_name
;
1901 if (DEBUGLEVEL
>= 10) {
1902 NDR_PRINT_IN_DEBUG(netr_DsrGetDcSiteCoverageW
, &r
);
1905 status
= cli
->dispatch(cli
,
1907 &ndr_table_netlogon
,
1908 NDR_NETR_DSRGETDCSITECOVERAGEW
,
1911 if (!NT_STATUS_IS_OK(status
)) {
1915 if (DEBUGLEVEL
>= 10) {
1916 NDR_PRINT_OUT_DEBUG(netr_DsrGetDcSiteCoverageW
, &r
);
1919 if (NT_STATUS_IS_ERR(status
)) {
1923 /* Return variables */
1928 *werror
= r
.out
.result
;
1931 return werror_to_ntstatus(r
.out
.result
);
1934 NTSTATUS
rpccli_netr_LogonSamLogonEx(struct rpc_pipe_client
*cli
,
1935 TALLOC_CTX
*mem_ctx
,
1936 const char *server_name
/* [in] [unique,charset(UTF16)] */,
1937 const char *computer_name
/* [in] [unique,charset(UTF16)] */,
1938 enum netr_LogonInfoClass logon_level
/* [in] */,
1939 union netr_LogonLevel
*logon
/* [in] [ref,switch_is(logon_level)] */,
1940 uint16_t validation_level
/* [in] */,
1941 union netr_Validation
*validation
/* [out] [ref,switch_is(validation_level)] */,
1942 uint8_t *authoritative
/* [out] [ref] */,
1943 uint32_t *flags
/* [in,out] [ref] */)
1945 struct netr_LogonSamLogonEx r
;
1949 r
.in
.server_name
= server_name
;
1950 r
.in
.computer_name
= computer_name
;
1951 r
.in
.logon_level
= logon_level
;
1953 r
.in
.validation_level
= validation_level
;
1956 if (DEBUGLEVEL
>= 10) {
1957 NDR_PRINT_IN_DEBUG(netr_LogonSamLogonEx
, &r
);
1960 status
= cli
->dispatch(cli
,
1962 &ndr_table_netlogon
,
1963 NDR_NETR_LOGONSAMLOGONEX
,
1966 if (!NT_STATUS_IS_OK(status
)) {
1970 if (DEBUGLEVEL
>= 10) {
1971 NDR_PRINT_OUT_DEBUG(netr_LogonSamLogonEx
, &r
);
1974 if (NT_STATUS_IS_ERR(status
)) {
1978 /* Return variables */
1979 *validation
= *r
.out
.validation
;
1980 *authoritative
= *r
.out
.authoritative
;
1981 *flags
= *r
.out
.flags
;
1984 return r
.out
.result
;
1987 NTSTATUS
rpccli_netr_DsrEnumerateDomainTrusts(struct rpc_pipe_client
*cli
,
1988 TALLOC_CTX
*mem_ctx
,
1989 const char *server_name
/* [in] [unique,charset(UTF16)] */,
1990 uint32_t trust_flags
/* [in] */,
1991 struct netr_DomainTrustList
*trusts
/* [out] [ref] */,
1994 struct netr_DsrEnumerateDomainTrusts r
;
1998 r
.in
.server_name
= server_name
;
1999 r
.in
.trust_flags
= trust_flags
;
2001 if (DEBUGLEVEL
>= 10) {
2002 NDR_PRINT_IN_DEBUG(netr_DsrEnumerateDomainTrusts
, &r
);
2005 status
= cli
->dispatch(cli
,
2007 &ndr_table_netlogon
,
2008 NDR_NETR_DSRENUMERATEDOMAINTRUSTS
,
2011 if (!NT_STATUS_IS_OK(status
)) {
2015 if (DEBUGLEVEL
>= 10) {
2016 NDR_PRINT_OUT_DEBUG(netr_DsrEnumerateDomainTrusts
, &r
);
2019 if (NT_STATUS_IS_ERR(status
)) {
2023 /* Return variables */
2024 *trusts
= *r
.out
.trusts
;
2028 *werror
= r
.out
.result
;
2031 return werror_to_ntstatus(r
.out
.result
);
2034 NTSTATUS
rpccli_netr_DsrDeregisterDNSHostRecords(struct rpc_pipe_client
*cli
,
2035 TALLOC_CTX
*mem_ctx
,
2036 const char *server_name
/* [in] [unique,charset(UTF16)] */,
2037 const char *domain
/* [in] [unique,charset(UTF16)] */,
2038 struct GUID
*domain_guid
/* [in] [unique] */,
2039 struct GUID
*dsa_guid
/* [in] [unique] */,
2040 const char *dns_host
/* [in] [ref,charset(UTF16)] */,
2043 struct netr_DsrDeregisterDNSHostRecords r
;
2047 r
.in
.server_name
= server_name
;
2048 r
.in
.domain
= domain
;
2049 r
.in
.domain_guid
= domain_guid
;
2050 r
.in
.dsa_guid
= dsa_guid
;
2051 r
.in
.dns_host
= dns_host
;
2053 if (DEBUGLEVEL
>= 10) {
2054 NDR_PRINT_IN_DEBUG(netr_DsrDeregisterDNSHostRecords
, &r
);
2057 status
= cli
->dispatch(cli
,
2059 &ndr_table_netlogon
,
2060 NDR_NETR_DSRDEREGISTERDNSHOSTRECORDS
,
2063 if (!NT_STATUS_IS_OK(status
)) {
2067 if (DEBUGLEVEL
>= 10) {
2068 NDR_PRINT_OUT_DEBUG(netr_DsrDeregisterDNSHostRecords
, &r
);
2071 if (NT_STATUS_IS_ERR(status
)) {
2075 /* Return variables */
2079 *werror
= r
.out
.result
;
2082 return werror_to_ntstatus(r
.out
.result
);
2085 NTSTATUS
rpccli_netr_ServerTrustPasswordsGet(struct rpc_pipe_client
*cli
,
2086 TALLOC_CTX
*mem_ctx
,
2087 const char *server_name
/* [in] [unique,charset(UTF16)] */,
2088 const char *account_name
/* [in] [charset(UTF16)] */,
2089 enum netr_SchannelType secure_channel_type
/* [in] */,
2090 const char *computer_name
/* [in] [charset(UTF16)] */,
2091 struct netr_Authenticator
*credential
/* [in] [ref] */,
2092 struct netr_Authenticator
*return_authenticator
/* [out] [ref] */,
2093 struct samr_Password
*password
/* [out] [ref] */,
2094 struct samr_Password
*password2
/* [out] [ref] */)
2096 struct netr_ServerTrustPasswordsGet r
;
2100 r
.in
.server_name
= server_name
;
2101 r
.in
.account_name
= account_name
;
2102 r
.in
.secure_channel_type
= secure_channel_type
;
2103 r
.in
.computer_name
= computer_name
;
2104 r
.in
.credential
= credential
;
2106 if (DEBUGLEVEL
>= 10) {
2107 NDR_PRINT_IN_DEBUG(netr_ServerTrustPasswordsGet
, &r
);
2110 status
= cli
->dispatch(cli
,
2112 &ndr_table_netlogon
,
2113 NDR_NETR_SERVERTRUSTPASSWORDSGET
,
2116 if (!NT_STATUS_IS_OK(status
)) {
2120 if (DEBUGLEVEL
>= 10) {
2121 NDR_PRINT_OUT_DEBUG(netr_ServerTrustPasswordsGet
, &r
);
2124 if (NT_STATUS_IS_ERR(status
)) {
2128 /* Return variables */
2129 *return_authenticator
= *r
.out
.return_authenticator
;
2130 *password
= *r
.out
.password
;
2131 *password2
= *r
.out
.password2
;
2134 return r
.out
.result
;
2137 NTSTATUS
rpccli_netr_DsRGetForestTrustInformation(struct rpc_pipe_client
*cli
,
2138 TALLOC_CTX
*mem_ctx
,
2139 const char *server_name
/* [in] [unique,charset(UTF16)] */,
2140 const char *trusted_domain_name
/* [in] [unique,charset(UTF16)] */,
2141 uint32_t flags
/* [in] */,
2142 struct lsa_ForestTrustInformation
**forest_trust_info
/* [out] [ref] */,
2145 struct netr_DsRGetForestTrustInformation r
;
2149 r
.in
.server_name
= server_name
;
2150 r
.in
.trusted_domain_name
= trusted_domain_name
;
2153 if (DEBUGLEVEL
>= 10) {
2154 NDR_PRINT_IN_DEBUG(netr_DsRGetForestTrustInformation
, &r
);
2157 status
= cli
->dispatch(cli
,
2159 &ndr_table_netlogon
,
2160 NDR_NETR_DSRGETFORESTTRUSTINFORMATION
,
2163 if (!NT_STATUS_IS_OK(status
)) {
2167 if (DEBUGLEVEL
>= 10) {
2168 NDR_PRINT_OUT_DEBUG(netr_DsRGetForestTrustInformation
, &r
);
2171 if (NT_STATUS_IS_ERR(status
)) {
2175 /* Return variables */
2176 *forest_trust_info
= *r
.out
.forest_trust_info
;
2180 *werror
= r
.out
.result
;
2183 return werror_to_ntstatus(r
.out
.result
);
2186 NTSTATUS
rpccli_netr_GetForestTrustInformation(struct rpc_pipe_client
*cli
,
2187 TALLOC_CTX
*mem_ctx
,
2188 const char *server_name
/* [in] [unique,charset(UTF16)] */,
2189 const char *trusted_domain_name
/* [in] [ref,charset(UTF16)] */,
2190 struct netr_Authenticator
*credential
/* [in] [ref] */,
2191 struct netr_Authenticator
*return_authenticator
/* [out] [ref] */,
2192 uint32_t flags
/* [in] */,
2193 struct lsa_ForestTrustInformation
**forest_trust_info
/* [out] [ref] */,
2196 struct netr_GetForestTrustInformation r
;
2200 r
.in
.server_name
= server_name
;
2201 r
.in
.trusted_domain_name
= trusted_domain_name
;
2202 r
.in
.credential
= credential
;
2205 if (DEBUGLEVEL
>= 10) {
2206 NDR_PRINT_IN_DEBUG(netr_GetForestTrustInformation
, &r
);
2209 status
= cli
->dispatch(cli
,
2211 &ndr_table_netlogon
,
2212 NDR_NETR_GETFORESTTRUSTINFORMATION
,
2215 if (!NT_STATUS_IS_OK(status
)) {
2219 if (DEBUGLEVEL
>= 10) {
2220 NDR_PRINT_OUT_DEBUG(netr_GetForestTrustInformation
, &r
);
2223 if (NT_STATUS_IS_ERR(status
)) {
2227 /* Return variables */
2228 *return_authenticator
= *r
.out
.return_authenticator
;
2229 *forest_trust_info
= *r
.out
.forest_trust_info
;
2233 *werror
= r
.out
.result
;
2236 return werror_to_ntstatus(r
.out
.result
);
2239 NTSTATUS
rpccli_netr_LogonSamLogonWithFlags(struct rpc_pipe_client
*cli
,
2240 TALLOC_CTX
*mem_ctx
,
2241 const char *server_name
/* [in] [unique,charset(UTF16)] */,
2242 const char *computer_name
/* [in] [unique,charset(UTF16)] */,
2243 struct netr_Authenticator
*credential
/* [in] [unique] */,
2244 struct netr_Authenticator
*return_authenticator
/* [in,out] [unique] */,
2245 enum netr_LogonInfoClass logon_level
/* [in] */,
2246 union netr_LogonLevel
*logon
/* [in] [ref,switch_is(logon_level)] */,
2247 uint16_t validation_level
/* [in] */,
2248 union netr_Validation
*validation
/* [out] [ref,switch_is(validation_level)] */,
2249 uint8_t *authoritative
/* [out] [ref] */,
2250 uint32_t *flags
/* [in,out] [ref] */)
2252 struct netr_LogonSamLogonWithFlags r
;
2256 r
.in
.server_name
= server_name
;
2257 r
.in
.computer_name
= computer_name
;
2258 r
.in
.credential
= credential
;
2259 r
.in
.return_authenticator
= return_authenticator
;
2260 r
.in
.logon_level
= logon_level
;
2262 r
.in
.validation_level
= validation_level
;
2265 if (DEBUGLEVEL
>= 10) {
2266 NDR_PRINT_IN_DEBUG(netr_LogonSamLogonWithFlags
, &r
);
2269 status
= cli
->dispatch(cli
,
2271 &ndr_table_netlogon
,
2272 NDR_NETR_LOGONSAMLOGONWITHFLAGS
,
2275 if (!NT_STATUS_IS_OK(status
)) {
2279 if (DEBUGLEVEL
>= 10) {
2280 NDR_PRINT_OUT_DEBUG(netr_LogonSamLogonWithFlags
, &r
);
2283 if (NT_STATUS_IS_ERR(status
)) {
2287 /* Return variables */
2288 if (return_authenticator
&& r
.out
.return_authenticator
) {
2289 *return_authenticator
= *r
.out
.return_authenticator
;
2291 *validation
= *r
.out
.validation
;
2292 *authoritative
= *r
.out
.authoritative
;
2293 *flags
= *r
.out
.flags
;
2296 return r
.out
.result
;
2299 NTSTATUS
rpccli_netr_ServerGetTrustInfo(struct rpc_pipe_client
*cli
,
2300 TALLOC_CTX
*mem_ctx
,
2301 const char *server_name
/* [in] [unique,charset(UTF16)] */,
2302 const char *account_name
/* [in] [ref,charset(UTF16)] */,
2303 enum netr_SchannelType secure_channel_type
/* [in] */,
2304 const char *computer_name
/* [in] [ref,charset(UTF16)] */,
2305 struct netr_Authenticator
*credential
/* [in] [ref] */,
2306 struct netr_Authenticator
*return_authenticator
/* [out] [ref] */,
2307 struct samr_Password
*new_owf_password
/* [out] [ref] */,
2308 struct samr_Password
*old_owf_password
/* [out] [ref] */,
2309 struct netr_TrustInfo
**trust_info
/* [out] [ref] */)
2311 struct netr_ServerGetTrustInfo r
;
2315 r
.in
.server_name
= server_name
;
2316 r
.in
.account_name
= account_name
;
2317 r
.in
.secure_channel_type
= secure_channel_type
;
2318 r
.in
.computer_name
= computer_name
;
2319 r
.in
.credential
= credential
;
2321 if (DEBUGLEVEL
>= 10) {
2322 NDR_PRINT_IN_DEBUG(netr_ServerGetTrustInfo
, &r
);
2325 status
= cli
->dispatch(cli
,
2327 &ndr_table_netlogon
,
2328 NDR_NETR_SERVERGETTRUSTINFO
,
2331 if (!NT_STATUS_IS_OK(status
)) {
2335 if (DEBUGLEVEL
>= 10) {
2336 NDR_PRINT_OUT_DEBUG(netr_ServerGetTrustInfo
, &r
);
2339 if (NT_STATUS_IS_ERR(status
)) {
2343 /* Return variables */
2344 *return_authenticator
= *r
.out
.return_authenticator
;
2345 *new_owf_password
= *r
.out
.new_owf_password
;
2346 *old_owf_password
= *r
.out
.old_owf_password
;
2347 *trust_info
= *r
.out
.trust_info
;
2350 return r
.out
.result
;