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
*query
/* [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 */
674 *query
= *r
.out
.query
;
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 enum SyncStateEnum restart_state
/* [in] */,
841 uint32_t *sync_context
/* [in,out] [ref] */,
842 struct netr_DELTA_ENUM_ARRAY
**delta_enum_array
/* [out] [ref] */,
843 uint32_t preferredmaximumlength
/* [in] */)
845 struct netr_DatabaseSync2 r
;
849 r
.in
.logon_server
= logon_server
;
850 r
.in
.computername
= computername
;
851 r
.in
.credential
= credential
;
852 r
.in
.return_authenticator
= return_authenticator
;
853 r
.in
.database_id
= database_id
;
854 r
.in
.restart_state
= restart_state
;
855 r
.in
.sync_context
= sync_context
;
856 r
.in
.preferredmaximumlength
= preferredmaximumlength
;
858 if (DEBUGLEVEL
>= 10) {
859 NDR_PRINT_IN_DEBUG(netr_DatabaseSync2
, &r
);
862 status
= cli
->dispatch(cli
,
865 NDR_NETR_DATABASESYNC2
,
868 if (!NT_STATUS_IS_OK(status
)) {
872 if (DEBUGLEVEL
>= 10) {
873 NDR_PRINT_OUT_DEBUG(netr_DatabaseSync2
, &r
);
876 if (NT_STATUS_IS_ERR(status
)) {
880 /* Return variables */
881 *return_authenticator
= *r
.out
.return_authenticator
;
882 *sync_context
= *r
.out
.sync_context
;
883 *delta_enum_array
= *r
.out
.delta_enum_array
;
889 NTSTATUS
rpccli_netr_DatabaseRedo(struct rpc_pipe_client
*cli
,
891 const char *logon_server
/* [in] [charset(UTF16)] */,
892 const char *computername
/* [in] [charset(UTF16)] */,
893 struct netr_Authenticator
*credential
/* [in] [ref] */,
894 struct netr_Authenticator
*return_authenticator
/* [in,out] [ref] */,
895 struct netr_ChangeLogEntry change_log_entry
/* [in] [subcontext_size(change_log_entry_size),subcontext(4)] */,
896 uint32_t change_log_entry_size
/* [in] [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,ndr->iconv_convenience,ndr->flags))] */,
897 struct netr_DELTA_ENUM_ARRAY
**delta_enum_array
/* [out] [ref] */)
899 struct netr_DatabaseRedo r
;
903 r
.in
.logon_server
= logon_server
;
904 r
.in
.computername
= computername
;
905 r
.in
.credential
= credential
;
906 r
.in
.return_authenticator
= return_authenticator
;
907 r
.in
.change_log_entry
= change_log_entry
;
908 r
.in
.change_log_entry_size
= change_log_entry_size
;
910 if (DEBUGLEVEL
>= 10) {
911 NDR_PRINT_IN_DEBUG(netr_DatabaseRedo
, &r
);
914 status
= cli
->dispatch(cli
,
917 NDR_NETR_DATABASEREDO
,
920 if (!NT_STATUS_IS_OK(status
)) {
924 if (DEBUGLEVEL
>= 10) {
925 NDR_PRINT_OUT_DEBUG(netr_DatabaseRedo
, &r
);
928 if (NT_STATUS_IS_ERR(status
)) {
932 /* Return variables */
933 *return_authenticator
= *r
.out
.return_authenticator
;
934 *delta_enum_array
= *r
.out
.delta_enum_array
;
940 NTSTATUS
rpccli_netr_LogonControl2Ex(struct rpc_pipe_client
*cli
,
942 const char *logon_server
/* [in] [unique,charset(UTF16)] */,
943 enum netr_LogonControlCode function_code
/* [in] */,
944 uint32_t level
/* [in] */,
945 union netr_CONTROL_DATA_INFORMATION
*data
/* [in] [ref,switch_is(function_code)] */,
946 union netr_CONTROL_QUERY_INFORMATION
*query
/* [out] [ref,switch_is(level)] */,
949 struct netr_LogonControl2Ex r
;
953 r
.in
.logon_server
= logon_server
;
954 r
.in
.function_code
= function_code
;
958 if (DEBUGLEVEL
>= 10) {
959 NDR_PRINT_IN_DEBUG(netr_LogonControl2Ex
, &r
);
962 status
= cli
->dispatch(cli
,
965 NDR_NETR_LOGONCONTROL2EX
,
968 if (!NT_STATUS_IS_OK(status
)) {
972 if (DEBUGLEVEL
>= 10) {
973 NDR_PRINT_OUT_DEBUG(netr_LogonControl2Ex
, &r
);
976 if (NT_STATUS_IS_ERR(status
)) {
980 /* Return variables */
981 *query
= *r
.out
.query
;
985 *werror
= r
.out
.result
;
988 return werror_to_ntstatus(r
.out
.result
);
991 NTSTATUS
rpccli_netr_NetrEnumerateTrustedDomains(struct rpc_pipe_client
*cli
,
993 const char *server_name
/* [in] [unique,charset(UTF16)] */,
994 struct netr_Blob
*trusted_domains_blob
/* [out] [ref] */,
997 struct netr_NetrEnumerateTrustedDomains r
;
1001 r
.in
.server_name
= server_name
;
1003 if (DEBUGLEVEL
>= 10) {
1004 NDR_PRINT_IN_DEBUG(netr_NetrEnumerateTrustedDomains
, &r
);
1007 status
= cli
->dispatch(cli
,
1009 &ndr_table_netlogon
,
1010 NDR_NETR_NETRENUMERATETRUSTEDDOMAINS
,
1013 if (!NT_STATUS_IS_OK(status
)) {
1017 if (DEBUGLEVEL
>= 10) {
1018 NDR_PRINT_OUT_DEBUG(netr_NetrEnumerateTrustedDomains
, &r
);
1021 if (NT_STATUS_IS_ERR(status
)) {
1025 /* Return variables */
1026 *trusted_domains_blob
= *r
.out
.trusted_domains_blob
;
1030 *werror
= r
.out
.result
;
1033 return werror_to_ntstatus(r
.out
.result
);
1036 NTSTATUS
rpccli_netr_DsRGetDCName(struct rpc_pipe_client
*cli
,
1037 TALLOC_CTX
*mem_ctx
,
1038 const char *server_unc
/* [in] [unique,charset(UTF16)] */,
1039 const char *domain_name
/* [in] [unique,charset(UTF16)] */,
1040 struct GUID
*domain_guid
/* [in] [unique] */,
1041 struct GUID
*site_guid
/* [in] [unique] */,
1042 uint32_t flags
/* [in] */,
1043 struct netr_DsRGetDCNameInfo
**info
/* [out] [ref] */,
1046 struct netr_DsRGetDCName r
;
1050 r
.in
.server_unc
= server_unc
;
1051 r
.in
.domain_name
= domain_name
;
1052 r
.in
.domain_guid
= domain_guid
;
1053 r
.in
.site_guid
= site_guid
;
1056 if (DEBUGLEVEL
>= 10) {
1057 NDR_PRINT_IN_DEBUG(netr_DsRGetDCName
, &r
);
1060 status
= cli
->dispatch(cli
,
1062 &ndr_table_netlogon
,
1063 NDR_NETR_DSRGETDCNAME
,
1066 if (!NT_STATUS_IS_OK(status
)) {
1070 if (DEBUGLEVEL
>= 10) {
1071 NDR_PRINT_OUT_DEBUG(netr_DsRGetDCName
, &r
);
1074 if (NT_STATUS_IS_ERR(status
)) {
1078 /* Return variables */
1079 *info
= *r
.out
.info
;
1083 *werror
= r
.out
.result
;
1086 return werror_to_ntstatus(r
.out
.result
);
1089 NTSTATUS
rpccli_netr_LogonGetCapabilities(struct rpc_pipe_client
*cli
,
1090 TALLOC_CTX
*mem_ctx
,
1091 const char *server_name
/* [in] [charset(UTF16)] */,
1092 const char *computer_name
/* [in] [unique,charset(UTF16)] */,
1093 struct netr_Authenticator
*credential
/* [in] [ref] */,
1094 struct netr_Authenticator
*return_authenticator
/* [in,out] [ref] */,
1095 uint32_t query_level
/* [in] */,
1096 union netr_Capabilities
*capabilities
/* [out] [ref,switch_is(query_level)] */)
1098 struct netr_LogonGetCapabilities r
;
1102 r
.in
.server_name
= server_name
;
1103 r
.in
.computer_name
= computer_name
;
1104 r
.in
.credential
= credential
;
1105 r
.in
.return_authenticator
= return_authenticator
;
1106 r
.in
.query_level
= query_level
;
1108 if (DEBUGLEVEL
>= 10) {
1109 NDR_PRINT_IN_DEBUG(netr_LogonGetCapabilities
, &r
);
1112 status
= cli
->dispatch(cli
,
1114 &ndr_table_netlogon
,
1115 NDR_NETR_LOGONGETCAPABILITIES
,
1118 if (!NT_STATUS_IS_OK(status
)) {
1122 if (DEBUGLEVEL
>= 10) {
1123 NDR_PRINT_OUT_DEBUG(netr_LogonGetCapabilities
, &r
);
1126 if (NT_STATUS_IS_ERR(status
)) {
1130 /* Return variables */
1131 *return_authenticator
= *r
.out
.return_authenticator
;
1132 *capabilities
= *r
.out
.capabilities
;
1135 return r
.out
.result
;
1138 NTSTATUS
rpccli_netr_NETRLOGONSETSERVICEBITS(struct rpc_pipe_client
*cli
,
1139 TALLOC_CTX
*mem_ctx
,
1142 struct netr_NETRLOGONSETSERVICEBITS r
;
1147 if (DEBUGLEVEL
>= 10) {
1148 NDR_PRINT_IN_DEBUG(netr_NETRLOGONSETSERVICEBITS
, &r
);
1151 status
= cli
->dispatch(cli
,
1153 &ndr_table_netlogon
,
1154 NDR_NETR_NETRLOGONSETSERVICEBITS
,
1157 if (!NT_STATUS_IS_OK(status
)) {
1161 if (DEBUGLEVEL
>= 10) {
1162 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONSETSERVICEBITS
, &r
);
1165 if (NT_STATUS_IS_ERR(status
)) {
1169 /* Return variables */
1173 *werror
= r
.out
.result
;
1176 return werror_to_ntstatus(r
.out
.result
);
1179 NTSTATUS
rpccli_netr_LogonGetTrustRid(struct rpc_pipe_client
*cli
,
1180 TALLOC_CTX
*mem_ctx
,
1181 const char *server_name
/* [in] [unique,charset(UTF16)] */,
1182 const char *domain_name
/* [in] [unique,charset(UTF16)] */,
1183 uint32_t *rid
/* [out] [ref] */,
1186 struct netr_LogonGetTrustRid r
;
1190 r
.in
.server_name
= server_name
;
1191 r
.in
.domain_name
= domain_name
;
1193 if (DEBUGLEVEL
>= 10) {
1194 NDR_PRINT_IN_DEBUG(netr_LogonGetTrustRid
, &r
);
1197 status
= cli
->dispatch(cli
,
1199 &ndr_table_netlogon
,
1200 NDR_NETR_LOGONGETTRUSTRID
,
1203 if (!NT_STATUS_IS_OK(status
)) {
1207 if (DEBUGLEVEL
>= 10) {
1208 NDR_PRINT_OUT_DEBUG(netr_LogonGetTrustRid
, &r
);
1211 if (NT_STATUS_IS_ERR(status
)) {
1215 /* Return variables */
1220 *werror
= r
.out
.result
;
1223 return werror_to_ntstatus(r
.out
.result
);
1226 NTSTATUS
rpccli_netr_NETRLOGONCOMPUTESERVERDIGEST(struct rpc_pipe_client
*cli
,
1227 TALLOC_CTX
*mem_ctx
,
1230 struct netr_NETRLOGONCOMPUTESERVERDIGEST r
;
1235 if (DEBUGLEVEL
>= 10) {
1236 NDR_PRINT_IN_DEBUG(netr_NETRLOGONCOMPUTESERVERDIGEST
, &r
);
1239 status
= cli
->dispatch(cli
,
1241 &ndr_table_netlogon
,
1242 NDR_NETR_NETRLOGONCOMPUTESERVERDIGEST
,
1245 if (!NT_STATUS_IS_OK(status
)) {
1249 if (DEBUGLEVEL
>= 10) {
1250 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONCOMPUTESERVERDIGEST
, &r
);
1253 if (NT_STATUS_IS_ERR(status
)) {
1257 /* Return variables */
1261 *werror
= r
.out
.result
;
1264 return werror_to_ntstatus(r
.out
.result
);
1267 NTSTATUS
rpccli_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct rpc_pipe_client
*cli
,
1268 TALLOC_CTX
*mem_ctx
,
1271 struct netr_NETRLOGONCOMPUTECLIENTDIGEST r
;
1276 if (DEBUGLEVEL
>= 10) {
1277 NDR_PRINT_IN_DEBUG(netr_NETRLOGONCOMPUTECLIENTDIGEST
, &r
);
1280 status
= cli
->dispatch(cli
,
1282 &ndr_table_netlogon
,
1283 NDR_NETR_NETRLOGONCOMPUTECLIENTDIGEST
,
1286 if (!NT_STATUS_IS_OK(status
)) {
1290 if (DEBUGLEVEL
>= 10) {
1291 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONCOMPUTECLIENTDIGEST
, &r
);
1294 if (NT_STATUS_IS_ERR(status
)) {
1298 /* Return variables */
1302 *werror
= r
.out
.result
;
1305 return werror_to_ntstatus(r
.out
.result
);
1308 NTSTATUS
rpccli_netr_ServerAuthenticate3(struct rpc_pipe_client
*cli
,
1309 TALLOC_CTX
*mem_ctx
,
1310 const char *server_name
/* [in] [unique,charset(UTF16)] */,
1311 const char *account_name
/* [in] [charset(UTF16)] */,
1312 enum netr_SchannelType secure_channel_type
/* [in] */,
1313 const char *computer_name
/* [in] [charset(UTF16)] */,
1314 struct netr_Credential
*credentials
/* [in] [ref] */,
1315 struct netr_Credential
*return_credentials
/* [out] [ref] */,
1316 uint32_t *negotiate_flags
/* [in,out] [ref] */,
1317 uint32_t *rid
/* [out] [ref] */)
1319 struct netr_ServerAuthenticate3 r
;
1323 r
.in
.server_name
= server_name
;
1324 r
.in
.account_name
= account_name
;
1325 r
.in
.secure_channel_type
= secure_channel_type
;
1326 r
.in
.computer_name
= computer_name
;
1327 r
.in
.credentials
= credentials
;
1328 r
.in
.negotiate_flags
= negotiate_flags
;
1330 if (DEBUGLEVEL
>= 10) {
1331 NDR_PRINT_IN_DEBUG(netr_ServerAuthenticate3
, &r
);
1334 status
= cli
->dispatch(cli
,
1336 &ndr_table_netlogon
,
1337 NDR_NETR_SERVERAUTHENTICATE3
,
1340 if (!NT_STATUS_IS_OK(status
)) {
1344 if (DEBUGLEVEL
>= 10) {
1345 NDR_PRINT_OUT_DEBUG(netr_ServerAuthenticate3
, &r
);
1348 if (NT_STATUS_IS_ERR(status
)) {
1352 /* Return variables */
1353 *return_credentials
= *r
.out
.return_credentials
;
1354 *negotiate_flags
= *r
.out
.negotiate_flags
;
1358 return r
.out
.result
;
1361 NTSTATUS
rpccli_netr_DsRGetDCNameEx(struct rpc_pipe_client
*cli
,
1362 TALLOC_CTX
*mem_ctx
,
1363 const char *server_unc
/* [in] [unique,charset(UTF16)] */,
1364 const char *domain_name
/* [in] [unique,charset(UTF16)] */,
1365 struct GUID
*domain_guid
/* [in] [unique] */,
1366 const char *site_name
/* [in] [unique,charset(UTF16)] */,
1367 uint32_t flags
/* [in] */,
1368 struct netr_DsRGetDCNameInfo
**info
/* [out] [ref] */,
1371 struct netr_DsRGetDCNameEx r
;
1375 r
.in
.server_unc
= server_unc
;
1376 r
.in
.domain_name
= domain_name
;
1377 r
.in
.domain_guid
= domain_guid
;
1378 r
.in
.site_name
= site_name
;
1381 if (DEBUGLEVEL
>= 10) {
1382 NDR_PRINT_IN_DEBUG(netr_DsRGetDCNameEx
, &r
);
1385 status
= cli
->dispatch(cli
,
1387 &ndr_table_netlogon
,
1388 NDR_NETR_DSRGETDCNAMEEX
,
1391 if (!NT_STATUS_IS_OK(status
)) {
1395 if (DEBUGLEVEL
>= 10) {
1396 NDR_PRINT_OUT_DEBUG(netr_DsRGetDCNameEx
, &r
);
1399 if (NT_STATUS_IS_ERR(status
)) {
1403 /* Return variables */
1404 *info
= *r
.out
.info
;
1408 *werror
= r
.out
.result
;
1411 return werror_to_ntstatus(r
.out
.result
);
1414 NTSTATUS
rpccli_netr_DsRGetSiteName(struct rpc_pipe_client
*cli
,
1415 TALLOC_CTX
*mem_ctx
,
1416 const char *computer_name
/* [in] [unique,charset(UTF16)] */,
1417 const char **site
/* [out] [ref,charset(UTF16)] */,
1420 struct netr_DsRGetSiteName r
;
1424 r
.in
.computer_name
= computer_name
;
1426 if (DEBUGLEVEL
>= 10) {
1427 NDR_PRINT_IN_DEBUG(netr_DsRGetSiteName
, &r
);
1430 status
= cli
->dispatch(cli
,
1432 &ndr_table_netlogon
,
1433 NDR_NETR_DSRGETSITENAME
,
1436 if (!NT_STATUS_IS_OK(status
)) {
1440 if (DEBUGLEVEL
>= 10) {
1441 NDR_PRINT_OUT_DEBUG(netr_DsRGetSiteName
, &r
);
1444 if (NT_STATUS_IS_ERR(status
)) {
1448 /* Return variables */
1449 *site
= *r
.out
.site
;
1453 *werror
= r
.out
.result
;
1456 return werror_to_ntstatus(r
.out
.result
);
1459 NTSTATUS
rpccli_netr_LogonGetDomainInfo(struct rpc_pipe_client
*cli
,
1460 TALLOC_CTX
*mem_ctx
,
1461 const char *server_name
/* [in] [charset(UTF16)] */,
1462 const char *computer_name
/* [in] [unique,charset(UTF16)] */,
1463 struct netr_Authenticator
*credential
/* [in] [ref] */,
1464 struct netr_Authenticator
*return_authenticator
/* [in,out] [ref] */,
1465 uint32_t level
/* [in] */,
1466 union netr_DomainQuery query
/* [in] [switch_is(level)] */,
1467 union netr_DomainInfo
*info
/* [out] [ref,switch_is(level)] */)
1469 struct netr_LogonGetDomainInfo r
;
1473 r
.in
.server_name
= server_name
;
1474 r
.in
.computer_name
= computer_name
;
1475 r
.in
.credential
= credential
;
1476 r
.in
.return_authenticator
= return_authenticator
;
1480 if (DEBUGLEVEL
>= 10) {
1481 NDR_PRINT_IN_DEBUG(netr_LogonGetDomainInfo
, &r
);
1484 status
= cli
->dispatch(cli
,
1486 &ndr_table_netlogon
,
1487 NDR_NETR_LOGONGETDOMAININFO
,
1490 if (!NT_STATUS_IS_OK(status
)) {
1494 if (DEBUGLEVEL
>= 10) {
1495 NDR_PRINT_OUT_DEBUG(netr_LogonGetDomainInfo
, &r
);
1498 if (NT_STATUS_IS_ERR(status
)) {
1502 /* Return variables */
1503 *return_authenticator
= *r
.out
.return_authenticator
;
1504 *info
= *r
.out
.info
;
1507 return r
.out
.result
;
1510 NTSTATUS
rpccli_netr_ServerPasswordSet2(struct rpc_pipe_client
*cli
,
1511 TALLOC_CTX
*mem_ctx
,
1512 const char *server_name
/* [in] [unique,charset(UTF16)] */,
1513 const char *account_name
/* [in] [charset(UTF16)] */,
1514 enum netr_SchannelType secure_channel_type
/* [in] */,
1515 const char *computer_name
/* [in] [charset(UTF16)] */,
1516 struct netr_Authenticator
*credential
/* [in] [ref] */,
1517 struct netr_Authenticator
*return_authenticator
/* [out] [ref] */,
1518 struct netr_CryptPassword
*new_password
/* [in] [ref] */)
1520 struct netr_ServerPasswordSet2 r
;
1524 r
.in
.server_name
= server_name
;
1525 r
.in
.account_name
= account_name
;
1526 r
.in
.secure_channel_type
= secure_channel_type
;
1527 r
.in
.computer_name
= computer_name
;
1528 r
.in
.credential
= credential
;
1529 r
.in
.new_password
= new_password
;
1531 if (DEBUGLEVEL
>= 10) {
1532 NDR_PRINT_IN_DEBUG(netr_ServerPasswordSet2
, &r
);
1535 status
= cli
->dispatch(cli
,
1537 &ndr_table_netlogon
,
1538 NDR_NETR_SERVERPASSWORDSET2
,
1541 if (!NT_STATUS_IS_OK(status
)) {
1545 if (DEBUGLEVEL
>= 10) {
1546 NDR_PRINT_OUT_DEBUG(netr_ServerPasswordSet2
, &r
);
1549 if (NT_STATUS_IS_ERR(status
)) {
1553 /* Return variables */
1554 *return_authenticator
= *r
.out
.return_authenticator
;
1557 return r
.out
.result
;
1560 NTSTATUS
rpccli_netr_ServerPasswordGet(struct rpc_pipe_client
*cli
,
1561 TALLOC_CTX
*mem_ctx
,
1562 const char *server_name
/* [in] [unique,charset(UTF16)] */,
1563 const char *account_name
/* [in] [charset(UTF16)] */,
1564 enum netr_SchannelType secure_channel_type
/* [in] */,
1565 const char *computer_name
/* [in] [charset(UTF16)] */,
1566 struct netr_Authenticator
*credential
/* [in] [ref] */,
1567 struct netr_Authenticator
*return_authenticator
/* [out] [ref] */,
1568 struct samr_Password
*password
/* [out] [ref] */,
1571 struct netr_ServerPasswordGet r
;
1575 r
.in
.server_name
= server_name
;
1576 r
.in
.account_name
= account_name
;
1577 r
.in
.secure_channel_type
= secure_channel_type
;
1578 r
.in
.computer_name
= computer_name
;
1579 r
.in
.credential
= credential
;
1581 if (DEBUGLEVEL
>= 10) {
1582 NDR_PRINT_IN_DEBUG(netr_ServerPasswordGet
, &r
);
1585 status
= cli
->dispatch(cli
,
1587 &ndr_table_netlogon
,
1588 NDR_NETR_SERVERPASSWORDGET
,
1591 if (!NT_STATUS_IS_OK(status
)) {
1595 if (DEBUGLEVEL
>= 10) {
1596 NDR_PRINT_OUT_DEBUG(netr_ServerPasswordGet
, &r
);
1599 if (NT_STATUS_IS_ERR(status
)) {
1603 /* Return variables */
1604 *return_authenticator
= *r
.out
.return_authenticator
;
1605 *password
= *r
.out
.password
;
1609 *werror
= r
.out
.result
;
1612 return werror_to_ntstatus(r
.out
.result
);
1615 NTSTATUS
rpccli_netr_NETRLOGONSENDTOSAM(struct rpc_pipe_client
*cli
,
1616 TALLOC_CTX
*mem_ctx
,
1619 struct netr_NETRLOGONSENDTOSAM r
;
1624 if (DEBUGLEVEL
>= 10) {
1625 NDR_PRINT_IN_DEBUG(netr_NETRLOGONSENDTOSAM
, &r
);
1628 status
= cli
->dispatch(cli
,
1630 &ndr_table_netlogon
,
1631 NDR_NETR_NETRLOGONSENDTOSAM
,
1634 if (!NT_STATUS_IS_OK(status
)) {
1638 if (DEBUGLEVEL
>= 10) {
1639 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONSENDTOSAM
, &r
);
1642 if (NT_STATUS_IS_ERR(status
)) {
1646 /* Return variables */
1650 *werror
= r
.out
.result
;
1653 return werror_to_ntstatus(r
.out
.result
);
1656 NTSTATUS
rpccli_netr_DsRAddressToSitenamesW(struct rpc_pipe_client
*cli
,
1657 TALLOC_CTX
*mem_ctx
,
1658 const char *server_name
/* [in] [unique,charset(UTF16)] */,
1659 uint32_t count
/* [in] [range(0,32000)] */,
1660 struct netr_DsRAddress
*addresses
/* [in] [ref,size_is(count)] */,
1661 struct netr_DsRAddressToSitenamesWCtr
**ctr
/* [out] [ref] */,
1664 struct netr_DsRAddressToSitenamesW r
;
1668 r
.in
.server_name
= server_name
;
1670 r
.in
.addresses
= addresses
;
1672 if (DEBUGLEVEL
>= 10) {
1673 NDR_PRINT_IN_DEBUG(netr_DsRAddressToSitenamesW
, &r
);
1676 status
= cli
->dispatch(cli
,
1678 &ndr_table_netlogon
,
1679 NDR_NETR_DSRADDRESSTOSITENAMESW
,
1682 if (!NT_STATUS_IS_OK(status
)) {
1686 if (DEBUGLEVEL
>= 10) {
1687 NDR_PRINT_OUT_DEBUG(netr_DsRAddressToSitenamesW
, &r
);
1690 if (NT_STATUS_IS_ERR(status
)) {
1694 /* Return variables */
1699 *werror
= r
.out
.result
;
1702 return werror_to_ntstatus(r
.out
.result
);
1705 NTSTATUS
rpccli_netr_DsRGetDCNameEx2(struct rpc_pipe_client
*cli
,
1706 TALLOC_CTX
*mem_ctx
,
1707 const char *server_unc
/* [in] [unique,charset(UTF16)] */,
1708 const char *client_account
/* [in] [unique,charset(UTF16)] */,
1709 uint32_t mask
/* [in] */,
1710 const char *domain_name
/* [in] [unique,charset(UTF16)] */,
1711 struct GUID
*domain_guid
/* [in] [unique] */,
1712 const char *site_name
/* [in] [unique,charset(UTF16)] */,
1713 uint32_t flags
/* [in] */,
1714 struct netr_DsRGetDCNameInfo
**info
/* [out] [ref] */,
1717 struct netr_DsRGetDCNameEx2 r
;
1721 r
.in
.server_unc
= server_unc
;
1722 r
.in
.client_account
= client_account
;
1724 r
.in
.domain_name
= domain_name
;
1725 r
.in
.domain_guid
= domain_guid
;
1726 r
.in
.site_name
= site_name
;
1729 if (DEBUGLEVEL
>= 10) {
1730 NDR_PRINT_IN_DEBUG(netr_DsRGetDCNameEx2
, &r
);
1733 status
= cli
->dispatch(cli
,
1735 &ndr_table_netlogon
,
1736 NDR_NETR_DSRGETDCNAMEEX2
,
1739 if (!NT_STATUS_IS_OK(status
)) {
1743 if (DEBUGLEVEL
>= 10) {
1744 NDR_PRINT_OUT_DEBUG(netr_DsRGetDCNameEx2
, &r
);
1747 if (NT_STATUS_IS_ERR(status
)) {
1751 /* Return variables */
1752 *info
= *r
.out
.info
;
1756 *werror
= r
.out
.result
;
1759 return werror_to_ntstatus(r
.out
.result
);
1762 NTSTATUS
rpccli_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct rpc_pipe_client
*cli
,
1763 TALLOC_CTX
*mem_ctx
,
1766 struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN r
;
1771 if (DEBUGLEVEL
>= 10) {
1772 NDR_PRINT_IN_DEBUG(netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN
, &r
);
1775 status
= cli
->dispatch(cli
,
1777 &ndr_table_netlogon
,
1778 NDR_NETR_NETRLOGONGETTIMESERVICEPARENTDOMAIN
,
1781 if (!NT_STATUS_IS_OK(status
)) {
1785 if (DEBUGLEVEL
>= 10) {
1786 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN
, &r
);
1789 if (NT_STATUS_IS_ERR(status
)) {
1793 /* Return variables */
1797 *werror
= r
.out
.result
;
1800 return werror_to_ntstatus(r
.out
.result
);
1803 NTSTATUS
rpccli_netr_NetrEnumerateTrustedDomainsEx(struct rpc_pipe_client
*cli
,
1804 TALLOC_CTX
*mem_ctx
,
1805 const char *server_name
/* [in] [unique,charset(UTF16)] */,
1806 struct netr_DomainTrustList
*dom_trust_list
/* [out] [ref] */,
1809 struct netr_NetrEnumerateTrustedDomainsEx r
;
1813 r
.in
.server_name
= server_name
;
1815 if (DEBUGLEVEL
>= 10) {
1816 NDR_PRINT_IN_DEBUG(netr_NetrEnumerateTrustedDomainsEx
, &r
);
1819 status
= cli
->dispatch(cli
,
1821 &ndr_table_netlogon
,
1822 NDR_NETR_NETRENUMERATETRUSTEDDOMAINSEX
,
1825 if (!NT_STATUS_IS_OK(status
)) {
1829 if (DEBUGLEVEL
>= 10) {
1830 NDR_PRINT_OUT_DEBUG(netr_NetrEnumerateTrustedDomainsEx
, &r
);
1833 if (NT_STATUS_IS_ERR(status
)) {
1837 /* Return variables */
1838 *dom_trust_list
= *r
.out
.dom_trust_list
;
1842 *werror
= r
.out
.result
;
1845 return werror_to_ntstatus(r
.out
.result
);
1848 NTSTATUS
rpccli_netr_DsRAddressToSitenamesExW(struct rpc_pipe_client
*cli
,
1849 TALLOC_CTX
*mem_ctx
,
1850 const char *server_name
/* [in] [unique,charset(UTF16)] */,
1851 uint32_t count
/* [in] [range(0,32000)] */,
1852 struct netr_DsRAddress
*addresses
/* [in] [ref,size_is(count)] */,
1853 struct netr_DsRAddressToSitenamesExWCtr
**ctr
/* [out] [ref] */,
1856 struct netr_DsRAddressToSitenamesExW r
;
1860 r
.in
.server_name
= server_name
;
1862 r
.in
.addresses
= addresses
;
1864 if (DEBUGLEVEL
>= 10) {
1865 NDR_PRINT_IN_DEBUG(netr_DsRAddressToSitenamesExW
, &r
);
1868 status
= cli
->dispatch(cli
,
1870 &ndr_table_netlogon
,
1871 NDR_NETR_DSRADDRESSTOSITENAMESEXW
,
1874 if (!NT_STATUS_IS_OK(status
)) {
1878 if (DEBUGLEVEL
>= 10) {
1879 NDR_PRINT_OUT_DEBUG(netr_DsRAddressToSitenamesExW
, &r
);
1882 if (NT_STATUS_IS_ERR(status
)) {
1886 /* Return variables */
1891 *werror
= r
.out
.result
;
1894 return werror_to_ntstatus(r
.out
.result
);
1897 NTSTATUS
rpccli_netr_DsrGetDcSiteCoverageW(struct rpc_pipe_client
*cli
,
1898 TALLOC_CTX
*mem_ctx
,
1899 const char *server_name
/* [in] [unique,charset(UTF16)] */,
1900 struct DcSitesCtr
**ctr
/* [out] [ref] */,
1903 struct netr_DsrGetDcSiteCoverageW r
;
1907 r
.in
.server_name
= server_name
;
1909 if (DEBUGLEVEL
>= 10) {
1910 NDR_PRINT_IN_DEBUG(netr_DsrGetDcSiteCoverageW
, &r
);
1913 status
= cli
->dispatch(cli
,
1915 &ndr_table_netlogon
,
1916 NDR_NETR_DSRGETDCSITECOVERAGEW
,
1919 if (!NT_STATUS_IS_OK(status
)) {
1923 if (DEBUGLEVEL
>= 10) {
1924 NDR_PRINT_OUT_DEBUG(netr_DsrGetDcSiteCoverageW
, &r
);
1927 if (NT_STATUS_IS_ERR(status
)) {
1931 /* Return variables */
1936 *werror
= r
.out
.result
;
1939 return werror_to_ntstatus(r
.out
.result
);
1942 NTSTATUS
rpccli_netr_LogonSamLogonEx(struct rpc_pipe_client
*cli
,
1943 TALLOC_CTX
*mem_ctx
,
1944 const char *server_name
/* [in] [unique,charset(UTF16)] */,
1945 const char *computer_name
/* [in] [unique,charset(UTF16)] */,
1946 enum netr_LogonInfoClass logon_level
/* [in] */,
1947 union netr_LogonLevel
*logon
/* [in] [ref,switch_is(logon_level)] */,
1948 uint16_t validation_level
/* [in] */,
1949 union netr_Validation
*validation
/* [out] [ref,switch_is(validation_level)] */,
1950 uint8_t *authoritative
/* [out] [ref] */,
1951 uint32_t *flags
/* [in,out] [ref] */)
1953 struct netr_LogonSamLogonEx r
;
1957 r
.in
.server_name
= server_name
;
1958 r
.in
.computer_name
= computer_name
;
1959 r
.in
.logon_level
= logon_level
;
1961 r
.in
.validation_level
= validation_level
;
1964 if (DEBUGLEVEL
>= 10) {
1965 NDR_PRINT_IN_DEBUG(netr_LogonSamLogonEx
, &r
);
1968 status
= cli
->dispatch(cli
,
1970 &ndr_table_netlogon
,
1971 NDR_NETR_LOGONSAMLOGONEX
,
1974 if (!NT_STATUS_IS_OK(status
)) {
1978 if (DEBUGLEVEL
>= 10) {
1979 NDR_PRINT_OUT_DEBUG(netr_LogonSamLogonEx
, &r
);
1982 if (NT_STATUS_IS_ERR(status
)) {
1986 /* Return variables */
1987 *validation
= *r
.out
.validation
;
1988 *authoritative
= *r
.out
.authoritative
;
1989 *flags
= *r
.out
.flags
;
1992 return r
.out
.result
;
1995 NTSTATUS
rpccli_netr_DsrEnumerateDomainTrusts(struct rpc_pipe_client
*cli
,
1996 TALLOC_CTX
*mem_ctx
,
1997 const char *server_name
/* [in] [unique,charset(UTF16)] */,
1998 uint32_t trust_flags
/* [in] */,
1999 struct netr_DomainTrustList
*trusts
/* [out] [ref] */,
2002 struct netr_DsrEnumerateDomainTrusts r
;
2006 r
.in
.server_name
= server_name
;
2007 r
.in
.trust_flags
= trust_flags
;
2009 if (DEBUGLEVEL
>= 10) {
2010 NDR_PRINT_IN_DEBUG(netr_DsrEnumerateDomainTrusts
, &r
);
2013 status
= cli
->dispatch(cli
,
2015 &ndr_table_netlogon
,
2016 NDR_NETR_DSRENUMERATEDOMAINTRUSTS
,
2019 if (!NT_STATUS_IS_OK(status
)) {
2023 if (DEBUGLEVEL
>= 10) {
2024 NDR_PRINT_OUT_DEBUG(netr_DsrEnumerateDomainTrusts
, &r
);
2027 if (NT_STATUS_IS_ERR(status
)) {
2031 /* Return variables */
2032 *trusts
= *r
.out
.trusts
;
2036 *werror
= r
.out
.result
;
2039 return werror_to_ntstatus(r
.out
.result
);
2042 NTSTATUS
rpccli_netr_DsrDeregisterDNSHostRecords(struct rpc_pipe_client
*cli
,
2043 TALLOC_CTX
*mem_ctx
,
2044 const char *server_name
/* [in] [unique,charset(UTF16)] */,
2045 const char *domain
/* [in] [unique,charset(UTF16)] */,
2046 struct GUID
*domain_guid
/* [in] [unique] */,
2047 struct GUID
*dsa_guid
/* [in] [unique] */,
2048 const char *dns_host
/* [in] [ref,charset(UTF16)] */,
2051 struct netr_DsrDeregisterDNSHostRecords r
;
2055 r
.in
.server_name
= server_name
;
2056 r
.in
.domain
= domain
;
2057 r
.in
.domain_guid
= domain_guid
;
2058 r
.in
.dsa_guid
= dsa_guid
;
2059 r
.in
.dns_host
= dns_host
;
2061 if (DEBUGLEVEL
>= 10) {
2062 NDR_PRINT_IN_DEBUG(netr_DsrDeregisterDNSHostRecords
, &r
);
2065 status
= cli
->dispatch(cli
,
2067 &ndr_table_netlogon
,
2068 NDR_NETR_DSRDEREGISTERDNSHOSTRECORDS
,
2071 if (!NT_STATUS_IS_OK(status
)) {
2075 if (DEBUGLEVEL
>= 10) {
2076 NDR_PRINT_OUT_DEBUG(netr_DsrDeregisterDNSHostRecords
, &r
);
2079 if (NT_STATUS_IS_ERR(status
)) {
2083 /* Return variables */
2087 *werror
= r
.out
.result
;
2090 return werror_to_ntstatus(r
.out
.result
);
2093 NTSTATUS
rpccli_netr_ServerTrustPasswordsGet(struct rpc_pipe_client
*cli
,
2094 TALLOC_CTX
*mem_ctx
,
2095 const char *server_name
/* [in] [unique,charset(UTF16)] */,
2096 const char *account_name
/* [in] [charset(UTF16)] */,
2097 enum netr_SchannelType secure_channel_type
/* [in] */,
2098 const char *computer_name
/* [in] [charset(UTF16)] */,
2099 struct netr_Authenticator
*credential
/* [in] [ref] */,
2100 struct netr_Authenticator
*return_authenticator
/* [out] [ref] */,
2101 struct samr_Password
*password
/* [out] [ref] */,
2102 struct samr_Password
*password2
/* [out] [ref] */)
2104 struct netr_ServerTrustPasswordsGet r
;
2108 r
.in
.server_name
= server_name
;
2109 r
.in
.account_name
= account_name
;
2110 r
.in
.secure_channel_type
= secure_channel_type
;
2111 r
.in
.computer_name
= computer_name
;
2112 r
.in
.credential
= credential
;
2114 if (DEBUGLEVEL
>= 10) {
2115 NDR_PRINT_IN_DEBUG(netr_ServerTrustPasswordsGet
, &r
);
2118 status
= cli
->dispatch(cli
,
2120 &ndr_table_netlogon
,
2121 NDR_NETR_SERVERTRUSTPASSWORDSGET
,
2124 if (!NT_STATUS_IS_OK(status
)) {
2128 if (DEBUGLEVEL
>= 10) {
2129 NDR_PRINT_OUT_DEBUG(netr_ServerTrustPasswordsGet
, &r
);
2132 if (NT_STATUS_IS_ERR(status
)) {
2136 /* Return variables */
2137 *return_authenticator
= *r
.out
.return_authenticator
;
2138 *password
= *r
.out
.password
;
2139 *password2
= *r
.out
.password2
;
2142 return r
.out
.result
;
2145 NTSTATUS
rpccli_netr_DsRGetForestTrustInformation(struct rpc_pipe_client
*cli
,
2146 TALLOC_CTX
*mem_ctx
,
2147 const char *server_name
/* [in] [unique,charset(UTF16)] */,
2148 const char *trusted_domain_name
/* [in] [unique,charset(UTF16)] */,
2149 uint32_t flags
/* [in] */,
2150 struct lsa_ForestTrustInformation
**forest_trust_info
/* [out] [ref] */,
2153 struct netr_DsRGetForestTrustInformation r
;
2157 r
.in
.server_name
= server_name
;
2158 r
.in
.trusted_domain_name
= trusted_domain_name
;
2161 if (DEBUGLEVEL
>= 10) {
2162 NDR_PRINT_IN_DEBUG(netr_DsRGetForestTrustInformation
, &r
);
2165 status
= cli
->dispatch(cli
,
2167 &ndr_table_netlogon
,
2168 NDR_NETR_DSRGETFORESTTRUSTINFORMATION
,
2171 if (!NT_STATUS_IS_OK(status
)) {
2175 if (DEBUGLEVEL
>= 10) {
2176 NDR_PRINT_OUT_DEBUG(netr_DsRGetForestTrustInformation
, &r
);
2179 if (NT_STATUS_IS_ERR(status
)) {
2183 /* Return variables */
2184 *forest_trust_info
= *r
.out
.forest_trust_info
;
2188 *werror
= r
.out
.result
;
2191 return werror_to_ntstatus(r
.out
.result
);
2194 NTSTATUS
rpccli_netr_GetForestTrustInformation(struct rpc_pipe_client
*cli
,
2195 TALLOC_CTX
*mem_ctx
,
2196 const char *server_name
/* [in] [unique,charset(UTF16)] */,
2197 const char *trusted_domain_name
/* [in] [ref,charset(UTF16)] */,
2198 struct netr_Authenticator
*credential
/* [in] [ref] */,
2199 struct netr_Authenticator
*return_authenticator
/* [out] [ref] */,
2200 uint32_t flags
/* [in] */,
2201 struct lsa_ForestTrustInformation
**forest_trust_info
/* [out] [ref] */,
2204 struct netr_GetForestTrustInformation r
;
2208 r
.in
.server_name
= server_name
;
2209 r
.in
.trusted_domain_name
= trusted_domain_name
;
2210 r
.in
.credential
= credential
;
2213 if (DEBUGLEVEL
>= 10) {
2214 NDR_PRINT_IN_DEBUG(netr_GetForestTrustInformation
, &r
);
2217 status
= cli
->dispatch(cli
,
2219 &ndr_table_netlogon
,
2220 NDR_NETR_GETFORESTTRUSTINFORMATION
,
2223 if (!NT_STATUS_IS_OK(status
)) {
2227 if (DEBUGLEVEL
>= 10) {
2228 NDR_PRINT_OUT_DEBUG(netr_GetForestTrustInformation
, &r
);
2231 if (NT_STATUS_IS_ERR(status
)) {
2235 /* Return variables */
2236 *return_authenticator
= *r
.out
.return_authenticator
;
2237 *forest_trust_info
= *r
.out
.forest_trust_info
;
2241 *werror
= r
.out
.result
;
2244 return werror_to_ntstatus(r
.out
.result
);
2247 NTSTATUS
rpccli_netr_LogonSamLogonWithFlags(struct rpc_pipe_client
*cli
,
2248 TALLOC_CTX
*mem_ctx
,
2249 const char *server_name
/* [in] [unique,charset(UTF16)] */,
2250 const char *computer_name
/* [in] [unique,charset(UTF16)] */,
2251 struct netr_Authenticator
*credential
/* [in] [unique] */,
2252 struct netr_Authenticator
*return_authenticator
/* [in,out] [unique] */,
2253 enum netr_LogonInfoClass logon_level
/* [in] */,
2254 union netr_LogonLevel
*logon
/* [in] [ref,switch_is(logon_level)] */,
2255 uint16_t validation_level
/* [in] */,
2256 union netr_Validation
*validation
/* [out] [ref,switch_is(validation_level)] */,
2257 uint8_t *authoritative
/* [out] [ref] */,
2258 uint32_t *flags
/* [in,out] [ref] */)
2260 struct netr_LogonSamLogonWithFlags r
;
2264 r
.in
.server_name
= server_name
;
2265 r
.in
.computer_name
= computer_name
;
2266 r
.in
.credential
= credential
;
2267 r
.in
.return_authenticator
= return_authenticator
;
2268 r
.in
.logon_level
= logon_level
;
2270 r
.in
.validation_level
= validation_level
;
2273 if (DEBUGLEVEL
>= 10) {
2274 NDR_PRINT_IN_DEBUG(netr_LogonSamLogonWithFlags
, &r
);
2277 status
= cli
->dispatch(cli
,
2279 &ndr_table_netlogon
,
2280 NDR_NETR_LOGONSAMLOGONWITHFLAGS
,
2283 if (!NT_STATUS_IS_OK(status
)) {
2287 if (DEBUGLEVEL
>= 10) {
2288 NDR_PRINT_OUT_DEBUG(netr_LogonSamLogonWithFlags
, &r
);
2291 if (NT_STATUS_IS_ERR(status
)) {
2295 /* Return variables */
2296 if (return_authenticator
&& r
.out
.return_authenticator
) {
2297 *return_authenticator
= *r
.out
.return_authenticator
;
2299 *validation
= *r
.out
.validation
;
2300 *authoritative
= *r
.out
.authoritative
;
2301 *flags
= *r
.out
.flags
;
2304 return r
.out
.result
;
2307 NTSTATUS
rpccli_netr_ServerGetTrustInfo(struct rpc_pipe_client
*cli
,
2308 TALLOC_CTX
*mem_ctx
,
2309 const char *server_name
/* [in] [unique,charset(UTF16)] */,
2310 const char *account_name
/* [in] [ref,charset(UTF16)] */,
2311 enum netr_SchannelType secure_channel_type
/* [in] */,
2312 const char *computer_name
/* [in] [ref,charset(UTF16)] */,
2313 struct netr_Authenticator
*credential
/* [in] [ref] */,
2314 struct netr_Authenticator
*return_authenticator
/* [out] [ref] */,
2315 struct samr_Password
*new_owf_password
/* [out] [ref] */,
2316 struct samr_Password
*old_owf_password
/* [out] [ref] */,
2317 struct netr_TrustInfo
**trust_info
/* [out] [ref] */)
2319 struct netr_ServerGetTrustInfo r
;
2323 r
.in
.server_name
= server_name
;
2324 r
.in
.account_name
= account_name
;
2325 r
.in
.secure_channel_type
= secure_channel_type
;
2326 r
.in
.computer_name
= computer_name
;
2327 r
.in
.credential
= credential
;
2329 if (DEBUGLEVEL
>= 10) {
2330 NDR_PRINT_IN_DEBUG(netr_ServerGetTrustInfo
, &r
);
2333 status
= cli
->dispatch(cli
,
2335 &ndr_table_netlogon
,
2336 NDR_NETR_SERVERGETTRUSTINFO
,
2339 if (!NT_STATUS_IS_OK(status
)) {
2343 if (DEBUGLEVEL
>= 10) {
2344 NDR_PRINT_OUT_DEBUG(netr_ServerGetTrustInfo
, &r
);
2347 if (NT_STATUS_IS_ERR(status
)) {
2351 /* Return variables */
2352 *return_authenticator
= *r
.out
.return_authenticator
;
2353 *new_owf_password
= *r
.out
.new_owf_password
;
2354 *old_owf_password
= *r
.out
.old_owf_password
;
2355 *trust_info
= *r
.out
.trust_info
;
2358 return r
.out
.result
;