2 * Unix SMB/CIFS implementation.
3 * server auto-generated by pidl. DO NOT MODIFY!
7 #include "librpc/gen_ndr/srv_netlogon.h"
9 static bool api_netr_LogonUasLogon(pipes_struct *p)
11 const struct ndr_interface_call *call;
12 struct ndr_pull *pull;
13 struct ndr_push *push;
16 struct netr_LogonUasLogon *r;
18 call = &ndr_table_netlogon.calls[NDR_NETR_LOGONUASLOGON];
20 r = talloc(NULL, struct netr_LogonUasLogon);
25 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
30 pull = ndr_pull_init_blob(&blob, r);
36 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
37 status = call->ndr_pull(pull, NDR_IN, r);
38 if (NT_STATUS_IS_ERR(status)) {
44 NDR_PRINT_IN_DEBUG(netr_LogonUasLogon, r);
47 r->out.info = talloc_zero(r, struct netr_UasInfo);
48 if (r->out.info == NULL) {
53 r->out.result = _netr_LogonUasLogon(p, r);
55 if (p->rng_fault_state) {
57 /* Return True here, srv_pipe_hnd.c will take care */
62 NDR_PRINT_OUT_DEBUG(netr_LogonUasLogon, r);
64 push = ndr_push_init_ctx(r);
70 status = call->ndr_push(push, NDR_OUT, r);
71 if (NT_STATUS_IS_ERR(status)) {
76 blob = ndr_push_blob(push);
77 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
87 static bool api_netr_LogonUasLogoff(pipes_struct *p)
89 const struct ndr_interface_call *call;
90 struct ndr_pull *pull;
91 struct ndr_push *push;
94 struct netr_LogonUasLogoff *r;
96 call = &ndr_table_netlogon.calls[NDR_NETR_LOGONUASLOGOFF];
98 r = talloc(NULL, struct netr_LogonUasLogoff);
103 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
108 pull = ndr_pull_init_blob(&blob, r);
114 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
115 status = call->ndr_pull(pull, NDR_IN, r);
116 if (NT_STATUS_IS_ERR(status)) {
121 if (DEBUGLEVEL >= 10)
122 NDR_PRINT_IN_DEBUG(netr_LogonUasLogoff, r);
125 r->out.info = talloc_zero(r, struct netr_UasLogoffInfo);
126 if (r->out.info == NULL) {
131 r->out.result = _netr_LogonUasLogoff(p, r);
133 if (p->rng_fault_state) {
135 /* Return True here, srv_pipe_hnd.c will take care */
139 if (DEBUGLEVEL >= 10)
140 NDR_PRINT_OUT_DEBUG(netr_LogonUasLogoff, r);
142 push = ndr_push_init_ctx(r);
148 status = call->ndr_push(push, NDR_OUT, r);
149 if (NT_STATUS_IS_ERR(status)) {
154 blob = ndr_push_blob(push);
155 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
165 static bool api_netr_LogonSamLogon(pipes_struct *p)
167 const struct ndr_interface_call *call;
168 struct ndr_pull *pull;
169 struct ndr_push *push;
172 struct netr_LogonSamLogon *r;
174 call = &ndr_table_netlogon.calls[NDR_NETR_LOGONSAMLOGON];
176 r = talloc(NULL, struct netr_LogonSamLogon);
181 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
186 pull = ndr_pull_init_blob(&blob, r);
192 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
193 status = call->ndr_pull(pull, NDR_IN, r);
194 if (NT_STATUS_IS_ERR(status)) {
199 if (DEBUGLEVEL >= 10)
200 NDR_PRINT_IN_DEBUG(netr_LogonSamLogon, r);
203 r->out.return_authenticator = r->in.return_authenticator;
204 r->out.validation = talloc_zero(r, union netr_Validation);
205 if (r->out.validation == NULL) {
210 r->out.authoritative = talloc_zero(r, uint8_t);
211 if (r->out.authoritative == NULL) {
216 r->out.result = _netr_LogonSamLogon(p, r);
218 if (p->rng_fault_state) {
220 /* Return True here, srv_pipe_hnd.c will take care */
224 if (DEBUGLEVEL >= 10)
225 NDR_PRINT_OUT_DEBUG(netr_LogonSamLogon, r);
227 push = ndr_push_init_ctx(r);
233 status = call->ndr_push(push, NDR_OUT, r);
234 if (NT_STATUS_IS_ERR(status)) {
239 blob = ndr_push_blob(push);
240 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
250 static bool api_netr_LogonSamLogoff(pipes_struct *p)
252 const struct ndr_interface_call *call;
253 struct ndr_pull *pull;
254 struct ndr_push *push;
257 struct netr_LogonSamLogoff *r;
259 call = &ndr_table_netlogon.calls[NDR_NETR_LOGONSAMLOGOFF];
261 r = talloc(NULL, struct netr_LogonSamLogoff);
266 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
271 pull = ndr_pull_init_blob(&blob, r);
277 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
278 status = call->ndr_pull(pull, NDR_IN, r);
279 if (NT_STATUS_IS_ERR(status)) {
284 if (DEBUGLEVEL >= 10)
285 NDR_PRINT_IN_DEBUG(netr_LogonSamLogoff, r);
288 r->out.return_authenticator = r->in.return_authenticator;
289 r->out.result = _netr_LogonSamLogoff(p, r);
291 if (p->rng_fault_state) {
293 /* Return True here, srv_pipe_hnd.c will take care */
297 if (DEBUGLEVEL >= 10)
298 NDR_PRINT_OUT_DEBUG(netr_LogonSamLogoff, r);
300 push = ndr_push_init_ctx(r);
306 status = call->ndr_push(push, NDR_OUT, r);
307 if (NT_STATUS_IS_ERR(status)) {
312 blob = ndr_push_blob(push);
313 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
323 static bool api_netr_ServerReqChallenge(pipes_struct *p)
325 const struct ndr_interface_call *call;
326 struct ndr_pull *pull;
327 struct ndr_push *push;
330 struct netr_ServerReqChallenge *r;
332 call = &ndr_table_netlogon.calls[NDR_NETR_SERVERREQCHALLENGE];
334 r = talloc(NULL, struct netr_ServerReqChallenge);
339 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
344 pull = ndr_pull_init_blob(&blob, r);
350 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
351 status = call->ndr_pull(pull, NDR_IN, r);
352 if (NT_STATUS_IS_ERR(status)) {
357 if (DEBUGLEVEL >= 10)
358 NDR_PRINT_IN_DEBUG(netr_ServerReqChallenge, r);
361 r->out.credentials = r->in.credentials;
362 r->out.result = _netr_ServerReqChallenge(p, r);
364 if (p->rng_fault_state) {
366 /* Return True here, srv_pipe_hnd.c will take care */
370 if (DEBUGLEVEL >= 10)
371 NDR_PRINT_OUT_DEBUG(netr_ServerReqChallenge, r);
373 push = ndr_push_init_ctx(r);
379 status = call->ndr_push(push, NDR_OUT, r);
380 if (NT_STATUS_IS_ERR(status)) {
385 blob = ndr_push_blob(push);
386 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
396 static bool api_netr_ServerAuthenticate(pipes_struct *p)
398 const struct ndr_interface_call *call;
399 struct ndr_pull *pull;
400 struct ndr_push *push;
403 struct netr_ServerAuthenticate *r;
405 call = &ndr_table_netlogon.calls[NDR_NETR_SERVERAUTHENTICATE];
407 r = talloc(NULL, struct netr_ServerAuthenticate);
412 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
417 pull = ndr_pull_init_blob(&blob, r);
423 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
424 status = call->ndr_pull(pull, NDR_IN, r);
425 if (NT_STATUS_IS_ERR(status)) {
430 if (DEBUGLEVEL >= 10)
431 NDR_PRINT_IN_DEBUG(netr_ServerAuthenticate, r);
434 r->out.credentials = r->in.credentials;
435 r->out.result = _netr_ServerAuthenticate(p, r);
437 if (p->rng_fault_state) {
439 /* Return True here, srv_pipe_hnd.c will take care */
443 if (DEBUGLEVEL >= 10)
444 NDR_PRINT_OUT_DEBUG(netr_ServerAuthenticate, r);
446 push = ndr_push_init_ctx(r);
452 status = call->ndr_push(push, NDR_OUT, r);
453 if (NT_STATUS_IS_ERR(status)) {
458 blob = ndr_push_blob(push);
459 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
469 static bool api_netr_ServerPasswordSet(pipes_struct *p)
471 const struct ndr_interface_call *call;
472 struct ndr_pull *pull;
473 struct ndr_push *push;
476 struct netr_ServerPasswordSet *r;
478 call = &ndr_table_netlogon.calls[NDR_NETR_SERVERPASSWORDSET];
480 r = talloc(NULL, struct netr_ServerPasswordSet);
485 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
490 pull = ndr_pull_init_blob(&blob, r);
496 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
497 status = call->ndr_pull(pull, NDR_IN, r);
498 if (NT_STATUS_IS_ERR(status)) {
503 if (DEBUGLEVEL >= 10)
504 NDR_PRINT_IN_DEBUG(netr_ServerPasswordSet, r);
507 r->out.return_authenticator = talloc_zero(r, struct netr_Authenticator);
508 if (r->out.return_authenticator == NULL) {
513 r->out.result = _netr_ServerPasswordSet(p, r);
515 if (p->rng_fault_state) {
517 /* Return True here, srv_pipe_hnd.c will take care */
521 if (DEBUGLEVEL >= 10)
522 NDR_PRINT_OUT_DEBUG(netr_ServerPasswordSet, r);
524 push = ndr_push_init_ctx(r);
530 status = call->ndr_push(push, NDR_OUT, r);
531 if (NT_STATUS_IS_ERR(status)) {
536 blob = ndr_push_blob(push);
537 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
547 static bool api_netr_DatabaseDeltas(pipes_struct *p)
549 const struct ndr_interface_call *call;
550 struct ndr_pull *pull;
551 struct ndr_push *push;
554 struct netr_DatabaseDeltas *r;
556 call = &ndr_table_netlogon.calls[NDR_NETR_DATABASEDELTAS];
558 r = talloc(NULL, struct netr_DatabaseDeltas);
563 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
568 pull = ndr_pull_init_blob(&blob, r);
574 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
575 status = call->ndr_pull(pull, NDR_IN, r);
576 if (NT_STATUS_IS_ERR(status)) {
581 if (DEBUGLEVEL >= 10)
582 NDR_PRINT_IN_DEBUG(netr_DatabaseDeltas, r);
585 r->out.return_authenticator = r->in.return_authenticator;
586 r->out.sequence_num = r->in.sequence_num;
587 r->out.delta_enum_array = talloc_zero(r, struct netr_DELTA_ENUM_ARRAY);
588 if (r->out.delta_enum_array == NULL) {
593 r->out.result = _netr_DatabaseDeltas(p, r);
595 if (p->rng_fault_state) {
597 /* Return True here, srv_pipe_hnd.c will take care */
601 if (DEBUGLEVEL >= 10)
602 NDR_PRINT_OUT_DEBUG(netr_DatabaseDeltas, r);
604 push = ndr_push_init_ctx(r);
610 status = call->ndr_push(push, NDR_OUT, r);
611 if (NT_STATUS_IS_ERR(status)) {
616 blob = ndr_push_blob(push);
617 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
627 static bool api_netr_DatabaseSync(pipes_struct *p)
629 const struct ndr_interface_call *call;
630 struct ndr_pull *pull;
631 struct ndr_push *push;
634 struct netr_DatabaseSync *r;
636 call = &ndr_table_netlogon.calls[NDR_NETR_DATABASESYNC];
638 r = talloc(NULL, struct netr_DatabaseSync);
643 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
648 pull = ndr_pull_init_blob(&blob, r);
654 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
655 status = call->ndr_pull(pull, NDR_IN, r);
656 if (NT_STATUS_IS_ERR(status)) {
661 if (DEBUGLEVEL >= 10)
662 NDR_PRINT_IN_DEBUG(netr_DatabaseSync, r);
665 r->out.return_authenticator = r->in.return_authenticator;
666 r->out.sync_context = r->in.sync_context;
667 r->out.delta_enum_array = talloc_zero(r, struct netr_DELTA_ENUM_ARRAY);
668 if (r->out.delta_enum_array == NULL) {
673 r->out.result = _netr_DatabaseSync(p, r);
675 if (p->rng_fault_state) {
677 /* Return True here, srv_pipe_hnd.c will take care */
681 if (DEBUGLEVEL >= 10)
682 NDR_PRINT_OUT_DEBUG(netr_DatabaseSync, r);
684 push = ndr_push_init_ctx(r);
690 status = call->ndr_push(push, NDR_OUT, r);
691 if (NT_STATUS_IS_ERR(status)) {
696 blob = ndr_push_blob(push);
697 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
707 static bool api_netr_AccountDeltas(pipes_struct *p)
709 const struct ndr_interface_call *call;
710 struct ndr_pull *pull;
711 struct ndr_push *push;
714 struct netr_AccountDeltas *r;
716 call = &ndr_table_netlogon.calls[NDR_NETR_ACCOUNTDELTAS];
718 r = talloc(NULL, struct netr_AccountDeltas);
723 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
728 pull = ndr_pull_init_blob(&blob, r);
734 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
735 status = call->ndr_pull(pull, NDR_IN, r);
736 if (NT_STATUS_IS_ERR(status)) {
741 if (DEBUGLEVEL >= 10)
742 NDR_PRINT_IN_DEBUG(netr_AccountDeltas, r);
745 r->out.return_authenticator = r->in.return_authenticator;
746 r->out.buffer = talloc_zero(r, struct netr_AccountBuffer);
747 if (r->out.buffer == NULL) {
752 r->out.count_returned = talloc_zero(r, uint32_t);
753 if (r->out.count_returned == NULL) {
758 r->out.total_entries = talloc_zero(r, uint32_t);
759 if (r->out.total_entries == NULL) {
764 r->out.recordid = talloc_zero(r, struct netr_UAS_INFO_0);
765 if (r->out.recordid == NULL) {
770 r->out.result = _netr_AccountDeltas(p, r);
772 if (p->rng_fault_state) {
774 /* Return True here, srv_pipe_hnd.c will take care */
778 if (DEBUGLEVEL >= 10)
779 NDR_PRINT_OUT_DEBUG(netr_AccountDeltas, r);
781 push = ndr_push_init_ctx(r);
787 status = call->ndr_push(push, NDR_OUT, r);
788 if (NT_STATUS_IS_ERR(status)) {
793 blob = ndr_push_blob(push);
794 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
804 static bool api_netr_AccountSync(pipes_struct *p)
806 const struct ndr_interface_call *call;
807 struct ndr_pull *pull;
808 struct ndr_push *push;
811 struct netr_AccountSync *r;
813 call = &ndr_table_netlogon.calls[NDR_NETR_ACCOUNTSYNC];
815 r = talloc(NULL, struct netr_AccountSync);
820 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
825 pull = ndr_pull_init_blob(&blob, r);
831 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
832 status = call->ndr_pull(pull, NDR_IN, r);
833 if (NT_STATUS_IS_ERR(status)) {
838 if (DEBUGLEVEL >= 10)
839 NDR_PRINT_IN_DEBUG(netr_AccountSync, r);
842 r->out.return_authenticator = r->in.return_authenticator;
843 r->out.buffer = talloc_zero(r, struct netr_AccountBuffer);
844 if (r->out.buffer == NULL) {
849 r->out.count_returned = talloc_zero(r, uint32_t);
850 if (r->out.count_returned == NULL) {
855 r->out.total_entries = talloc_zero(r, uint32_t);
856 if (r->out.total_entries == NULL) {
861 r->out.next_reference = talloc_zero(r, uint32_t);
862 if (r->out.next_reference == NULL) {
867 r->out.recordid = r->in.recordid;
868 r->out.result = _netr_AccountSync(p, r);
870 if (p->rng_fault_state) {
872 /* Return True here, srv_pipe_hnd.c will take care */
876 if (DEBUGLEVEL >= 10)
877 NDR_PRINT_OUT_DEBUG(netr_AccountSync, r);
879 push = ndr_push_init_ctx(r);
885 status = call->ndr_push(push, NDR_OUT, r);
886 if (NT_STATUS_IS_ERR(status)) {
891 blob = ndr_push_blob(push);
892 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
902 static bool api_netr_GetDcName(pipes_struct *p)
904 const struct ndr_interface_call *call;
905 struct ndr_pull *pull;
906 struct ndr_push *push;
909 struct netr_GetDcName *r;
911 call = &ndr_table_netlogon.calls[NDR_NETR_GETDCNAME];
913 r = talloc(NULL, struct netr_GetDcName);
918 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
923 pull = ndr_pull_init_blob(&blob, r);
929 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
930 status = call->ndr_pull(pull, NDR_IN, r);
931 if (NT_STATUS_IS_ERR(status)) {
936 if (DEBUGLEVEL >= 10)
937 NDR_PRINT_IN_DEBUG(netr_GetDcName, r);
940 r->out.dcname = talloc_zero(r, const char *);
941 if (r->out.dcname == NULL) {
946 r->out.result = _netr_GetDcName(p, r);
948 if (p->rng_fault_state) {
950 /* Return True here, srv_pipe_hnd.c will take care */
954 if (DEBUGLEVEL >= 10)
955 NDR_PRINT_OUT_DEBUG(netr_GetDcName, r);
957 push = ndr_push_init_ctx(r);
963 status = call->ndr_push(push, NDR_OUT, r);
964 if (NT_STATUS_IS_ERR(status)) {
969 blob = ndr_push_blob(push);
970 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
980 static bool api_netr_LogonControl(pipes_struct *p)
982 const struct ndr_interface_call *call;
983 struct ndr_pull *pull;
984 struct ndr_push *push;
987 struct netr_LogonControl *r;
989 call = &ndr_table_netlogon.calls[NDR_NETR_LOGONCONTROL];
991 r = talloc(NULL, struct netr_LogonControl);
996 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1001 pull = ndr_pull_init_blob(&blob, r);
1007 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1008 status = call->ndr_pull(pull, NDR_IN, r);
1009 if (NT_STATUS_IS_ERR(status)) {
1014 if (DEBUGLEVEL >= 10)
1015 NDR_PRINT_IN_DEBUG(netr_LogonControl, r);
1017 ZERO_STRUCT(r->out);
1018 r->out.info = talloc_zero(r, union netr_CONTROL_QUERY_INFORMATION);
1019 if (r->out.info == NULL) {
1024 r->out.result = _netr_LogonControl(p, r);
1026 if (p->rng_fault_state) {
1028 /* Return True here, srv_pipe_hnd.c will take care */
1032 if (DEBUGLEVEL >= 10)
1033 NDR_PRINT_OUT_DEBUG(netr_LogonControl, r);
1035 push = ndr_push_init_ctx(r);
1041 status = call->ndr_push(push, NDR_OUT, r);
1042 if (NT_STATUS_IS_ERR(status)) {
1047 blob = ndr_push_blob(push);
1048 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
1058 static bool api_netr_GetAnyDCName(pipes_struct *p)
1060 const struct ndr_interface_call *call;
1061 struct ndr_pull *pull;
1062 struct ndr_push *push;
1065 struct netr_GetAnyDCName *r;
1067 call = &ndr_table_netlogon.calls[NDR_NETR_GETANYDCNAME];
1069 r = talloc(NULL, struct netr_GetAnyDCName);
1074 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1079 pull = ndr_pull_init_blob(&blob, r);
1085 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1086 status = call->ndr_pull(pull, NDR_IN, r);
1087 if (NT_STATUS_IS_ERR(status)) {
1092 if (DEBUGLEVEL >= 10)
1093 NDR_PRINT_IN_DEBUG(netr_GetAnyDCName, r);
1095 ZERO_STRUCT(r->out);
1096 r->out.dcname = talloc_zero(r, const char *);
1097 if (r->out.dcname == NULL) {
1102 r->out.result = _netr_GetAnyDCName(p, r);
1104 if (p->rng_fault_state) {
1106 /* Return True here, srv_pipe_hnd.c will take care */
1110 if (DEBUGLEVEL >= 10)
1111 NDR_PRINT_OUT_DEBUG(netr_GetAnyDCName, r);
1113 push = ndr_push_init_ctx(r);
1119 status = call->ndr_push(push, NDR_OUT, r);
1120 if (NT_STATUS_IS_ERR(status)) {
1125 blob = ndr_push_blob(push);
1126 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
1136 static bool api_netr_LogonControl2(pipes_struct *p)
1138 const struct ndr_interface_call *call;
1139 struct ndr_pull *pull;
1140 struct ndr_push *push;
1143 struct netr_LogonControl2 *r;
1145 call = &ndr_table_netlogon.calls[NDR_NETR_LOGONCONTROL2];
1147 r = talloc(NULL, struct netr_LogonControl2);
1152 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1157 pull = ndr_pull_init_blob(&blob, r);
1163 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1164 status = call->ndr_pull(pull, NDR_IN, r);
1165 if (NT_STATUS_IS_ERR(status)) {
1170 if (DEBUGLEVEL >= 10)
1171 NDR_PRINT_IN_DEBUG(netr_LogonControl2, r);
1173 ZERO_STRUCT(r->out);
1174 r->out.query = talloc_zero(r, union netr_CONTROL_QUERY_INFORMATION);
1175 if (r->out.query == NULL) {
1180 r->out.result = _netr_LogonControl2(p, r);
1182 if (p->rng_fault_state) {
1184 /* Return True here, srv_pipe_hnd.c will take care */
1188 if (DEBUGLEVEL >= 10)
1189 NDR_PRINT_OUT_DEBUG(netr_LogonControl2, r);
1191 push = ndr_push_init_ctx(r);
1197 status = call->ndr_push(push, NDR_OUT, r);
1198 if (NT_STATUS_IS_ERR(status)) {
1203 blob = ndr_push_blob(push);
1204 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
1214 static bool api_netr_ServerAuthenticate2(pipes_struct *p)
1216 const struct ndr_interface_call *call;
1217 struct ndr_pull *pull;
1218 struct ndr_push *push;
1221 struct netr_ServerAuthenticate2 *r;
1223 call = &ndr_table_netlogon.calls[NDR_NETR_SERVERAUTHENTICATE2];
1225 r = talloc(NULL, struct netr_ServerAuthenticate2);
1230 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1235 pull = ndr_pull_init_blob(&blob, r);
1241 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1242 status = call->ndr_pull(pull, NDR_IN, r);
1243 if (NT_STATUS_IS_ERR(status)) {
1248 if (DEBUGLEVEL >= 10)
1249 NDR_PRINT_IN_DEBUG(netr_ServerAuthenticate2, r);
1251 ZERO_STRUCT(r->out);
1252 r->out.credentials = r->in.credentials;
1253 r->out.negotiate_flags = r->in.negotiate_flags;
1254 r->out.result = _netr_ServerAuthenticate2(p, r);
1256 if (p->rng_fault_state) {
1258 /* Return True here, srv_pipe_hnd.c will take care */
1262 if (DEBUGLEVEL >= 10)
1263 NDR_PRINT_OUT_DEBUG(netr_ServerAuthenticate2, r);
1265 push = ndr_push_init_ctx(r);
1271 status = call->ndr_push(push, NDR_OUT, r);
1272 if (NT_STATUS_IS_ERR(status)) {
1277 blob = ndr_push_blob(push);
1278 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
1288 static bool api_netr_DatabaseSync2(pipes_struct *p)
1290 const struct ndr_interface_call *call;
1291 struct ndr_pull *pull;
1292 struct ndr_push *push;
1295 struct netr_DatabaseSync2 *r;
1297 call = &ndr_table_netlogon.calls[NDR_NETR_DATABASESYNC2];
1299 r = talloc(NULL, struct netr_DatabaseSync2);
1304 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1309 pull = ndr_pull_init_blob(&blob, r);
1315 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1316 status = call->ndr_pull(pull, NDR_IN, r);
1317 if (NT_STATUS_IS_ERR(status)) {
1322 if (DEBUGLEVEL >= 10)
1323 NDR_PRINT_IN_DEBUG(netr_DatabaseSync2, r);
1325 ZERO_STRUCT(r->out);
1326 r->out.return_authenticator = r->in.return_authenticator;
1327 r->out.sync_context = r->in.sync_context;
1328 r->out.delta_enum_array = talloc_zero(r, struct netr_DELTA_ENUM_ARRAY);
1329 if (r->out.delta_enum_array == NULL) {
1334 r->out.result = _netr_DatabaseSync2(p, r);
1336 if (p->rng_fault_state) {
1338 /* Return True here, srv_pipe_hnd.c will take care */
1342 if (DEBUGLEVEL >= 10)
1343 NDR_PRINT_OUT_DEBUG(netr_DatabaseSync2, r);
1345 push = ndr_push_init_ctx(r);
1351 status = call->ndr_push(push, NDR_OUT, r);
1352 if (NT_STATUS_IS_ERR(status)) {
1357 blob = ndr_push_blob(push);
1358 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
1368 static bool api_netr_DatabaseRedo(pipes_struct *p)
1370 const struct ndr_interface_call *call;
1371 struct ndr_pull *pull;
1372 struct ndr_push *push;
1375 struct netr_DatabaseRedo *r;
1377 call = &ndr_table_netlogon.calls[NDR_NETR_DATABASEREDO];
1379 r = talloc(NULL, struct netr_DatabaseRedo);
1384 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1389 pull = ndr_pull_init_blob(&blob, r);
1395 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1396 status = call->ndr_pull(pull, NDR_IN, r);
1397 if (NT_STATUS_IS_ERR(status)) {
1402 if (DEBUGLEVEL >= 10)
1403 NDR_PRINT_IN_DEBUG(netr_DatabaseRedo, r);
1405 ZERO_STRUCT(r->out);
1406 r->out.return_authenticator = r->in.return_authenticator;
1407 r->out.delta_enum_array = talloc_zero(r, struct netr_DELTA_ENUM_ARRAY);
1408 if (r->out.delta_enum_array == NULL) {
1413 r->out.result = _netr_DatabaseRedo(p, r);
1415 if (p->rng_fault_state) {
1417 /* Return True here, srv_pipe_hnd.c will take care */
1421 if (DEBUGLEVEL >= 10)
1422 NDR_PRINT_OUT_DEBUG(netr_DatabaseRedo, r);
1424 push = ndr_push_init_ctx(r);
1430 status = call->ndr_push(push, NDR_OUT, r);
1431 if (NT_STATUS_IS_ERR(status)) {
1436 blob = ndr_push_blob(push);
1437 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
1447 static bool api_netr_LogonControl2Ex(pipes_struct *p)
1449 const struct ndr_interface_call *call;
1450 struct ndr_pull *pull;
1451 struct ndr_push *push;
1454 struct netr_LogonControl2Ex *r;
1456 call = &ndr_table_netlogon.calls[NDR_NETR_LOGONCONTROL2EX];
1458 r = talloc(NULL, struct netr_LogonControl2Ex);
1463 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1468 pull = ndr_pull_init_blob(&blob, r);
1474 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1475 status = call->ndr_pull(pull, NDR_IN, r);
1476 if (NT_STATUS_IS_ERR(status)) {
1481 if (DEBUGLEVEL >= 10)
1482 NDR_PRINT_IN_DEBUG(netr_LogonControl2Ex, r);
1484 ZERO_STRUCT(r->out);
1485 r->out.query = talloc_zero(r, union netr_CONTROL_QUERY_INFORMATION);
1486 if (r->out.query == NULL) {
1491 r->out.result = _netr_LogonControl2Ex(p, r);
1493 if (p->rng_fault_state) {
1495 /* Return True here, srv_pipe_hnd.c will take care */
1499 if (DEBUGLEVEL >= 10)
1500 NDR_PRINT_OUT_DEBUG(netr_LogonControl2Ex, r);
1502 push = ndr_push_init_ctx(r);
1508 status = call->ndr_push(push, NDR_OUT, r);
1509 if (NT_STATUS_IS_ERR(status)) {
1514 blob = ndr_push_blob(push);
1515 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
1525 static bool api_netr_NETRENUMERATETRUSTEDDOMAINS(pipes_struct *p)
1527 const struct ndr_interface_call *call;
1528 struct ndr_pull *pull;
1529 struct ndr_push *push;
1532 struct netr_NETRENUMERATETRUSTEDDOMAINS *r;
1534 call = &ndr_table_netlogon.calls[NDR_NETR_NETRENUMERATETRUSTEDDOMAINS];
1536 r = talloc(NULL, struct netr_NETRENUMERATETRUSTEDDOMAINS);
1541 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1546 pull = ndr_pull_init_blob(&blob, r);
1552 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1553 status = call->ndr_pull(pull, NDR_IN, r);
1554 if (NT_STATUS_IS_ERR(status)) {
1559 if (DEBUGLEVEL >= 10)
1560 NDR_PRINT_IN_DEBUG(netr_NETRENUMERATETRUSTEDDOMAINS, r);
1562 r->out.result = _netr_NETRENUMERATETRUSTEDDOMAINS(p, r);
1564 if (p->rng_fault_state) {
1566 /* Return True here, srv_pipe_hnd.c will take care */
1570 if (DEBUGLEVEL >= 10)
1571 NDR_PRINT_OUT_DEBUG(netr_NETRENUMERATETRUSTEDDOMAINS, r);
1573 push = ndr_push_init_ctx(r);
1579 status = call->ndr_push(push, NDR_OUT, r);
1580 if (NT_STATUS_IS_ERR(status)) {
1585 blob = ndr_push_blob(push);
1586 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
1596 static bool api_netr_DsRGetDCName(pipes_struct *p)
1598 const struct ndr_interface_call *call;
1599 struct ndr_pull *pull;
1600 struct ndr_push *push;
1603 struct netr_DsRGetDCName *r;
1605 call = &ndr_table_netlogon.calls[NDR_NETR_DSRGETDCNAME];
1607 r = talloc(NULL, struct netr_DsRGetDCName);
1612 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1617 pull = ndr_pull_init_blob(&blob, r);
1623 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1624 status = call->ndr_pull(pull, NDR_IN, r);
1625 if (NT_STATUS_IS_ERR(status)) {
1630 if (DEBUGLEVEL >= 10)
1631 NDR_PRINT_IN_DEBUG(netr_DsRGetDCName, r);
1633 ZERO_STRUCT(r->out);
1634 r->out.info = talloc_zero(r, struct netr_DsRGetDCNameInfo);
1635 if (r->out.info == NULL) {
1640 r->out.result = _netr_DsRGetDCName(p, r);
1642 if (p->rng_fault_state) {
1644 /* Return True here, srv_pipe_hnd.c will take care */
1648 if (DEBUGLEVEL >= 10)
1649 NDR_PRINT_OUT_DEBUG(netr_DsRGetDCName, r);
1651 push = ndr_push_init_ctx(r);
1657 status = call->ndr_push(push, NDR_OUT, r);
1658 if (NT_STATUS_IS_ERR(status)) {
1663 blob = ndr_push_blob(push);
1664 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
1674 static bool api_netr_NETRLOGONDUMMYROUTINE1(pipes_struct *p)
1676 const struct ndr_interface_call *call;
1677 struct ndr_pull *pull;
1678 struct ndr_push *push;
1681 struct netr_NETRLOGONDUMMYROUTINE1 *r;
1683 call = &ndr_table_netlogon.calls[NDR_NETR_NETRLOGONDUMMYROUTINE1];
1685 r = talloc(NULL, struct netr_NETRLOGONDUMMYROUTINE1);
1690 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1695 pull = ndr_pull_init_blob(&blob, r);
1701 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1702 status = call->ndr_pull(pull, NDR_IN, r);
1703 if (NT_STATUS_IS_ERR(status)) {
1708 if (DEBUGLEVEL >= 10)
1709 NDR_PRINT_IN_DEBUG(netr_NETRLOGONDUMMYROUTINE1, r);
1711 r->out.result = _netr_NETRLOGONDUMMYROUTINE1(p, r);
1713 if (p->rng_fault_state) {
1715 /* Return True here, srv_pipe_hnd.c will take care */
1719 if (DEBUGLEVEL >= 10)
1720 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONDUMMYROUTINE1, r);
1722 push = ndr_push_init_ctx(r);
1728 status = call->ndr_push(push, NDR_OUT, r);
1729 if (NT_STATUS_IS_ERR(status)) {
1734 blob = ndr_push_blob(push);
1735 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
1745 static bool api_netr_NETRLOGONSETSERVICEBITS(pipes_struct *p)
1747 const struct ndr_interface_call *call;
1748 struct ndr_pull *pull;
1749 struct ndr_push *push;
1752 struct netr_NETRLOGONSETSERVICEBITS *r;
1754 call = &ndr_table_netlogon.calls[NDR_NETR_NETRLOGONSETSERVICEBITS];
1756 r = talloc(NULL, struct netr_NETRLOGONSETSERVICEBITS);
1761 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1766 pull = ndr_pull_init_blob(&blob, r);
1772 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1773 status = call->ndr_pull(pull, NDR_IN, r);
1774 if (NT_STATUS_IS_ERR(status)) {
1779 if (DEBUGLEVEL >= 10)
1780 NDR_PRINT_IN_DEBUG(netr_NETRLOGONSETSERVICEBITS, r);
1782 r->out.result = _netr_NETRLOGONSETSERVICEBITS(p, r);
1784 if (p->rng_fault_state) {
1786 /* Return True here, srv_pipe_hnd.c will take care */
1790 if (DEBUGLEVEL >= 10)
1791 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONSETSERVICEBITS, r);
1793 push = ndr_push_init_ctx(r);
1799 status = call->ndr_push(push, NDR_OUT, r);
1800 if (NT_STATUS_IS_ERR(status)) {
1805 blob = ndr_push_blob(push);
1806 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
1816 static bool api_netr_NETRLOGONGETTRUSTRID(pipes_struct *p)
1818 const struct ndr_interface_call *call;
1819 struct ndr_pull *pull;
1820 struct ndr_push *push;
1823 struct netr_NETRLOGONGETTRUSTRID *r;
1825 call = &ndr_table_netlogon.calls[NDR_NETR_NETRLOGONGETTRUSTRID];
1827 r = talloc(NULL, struct netr_NETRLOGONGETTRUSTRID);
1832 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1837 pull = ndr_pull_init_blob(&blob, r);
1843 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1844 status = call->ndr_pull(pull, NDR_IN, r);
1845 if (NT_STATUS_IS_ERR(status)) {
1850 if (DEBUGLEVEL >= 10)
1851 NDR_PRINT_IN_DEBUG(netr_NETRLOGONGETTRUSTRID, r);
1853 r->out.result = _netr_NETRLOGONGETTRUSTRID(p, r);
1855 if (p->rng_fault_state) {
1857 /* Return True here, srv_pipe_hnd.c will take care */
1861 if (DEBUGLEVEL >= 10)
1862 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONGETTRUSTRID, r);
1864 push = ndr_push_init_ctx(r);
1870 status = call->ndr_push(push, NDR_OUT, r);
1871 if (NT_STATUS_IS_ERR(status)) {
1876 blob = ndr_push_blob(push);
1877 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
1887 static bool api_netr_NETRLOGONCOMPUTESERVERDIGEST(pipes_struct *p)
1889 const struct ndr_interface_call *call;
1890 struct ndr_pull *pull;
1891 struct ndr_push *push;
1894 struct netr_NETRLOGONCOMPUTESERVERDIGEST *r;
1896 call = &ndr_table_netlogon.calls[NDR_NETR_NETRLOGONCOMPUTESERVERDIGEST];
1898 r = talloc(NULL, struct netr_NETRLOGONCOMPUTESERVERDIGEST);
1903 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1908 pull = ndr_pull_init_blob(&blob, r);
1914 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1915 status = call->ndr_pull(pull, NDR_IN, r);
1916 if (NT_STATUS_IS_ERR(status)) {
1921 if (DEBUGLEVEL >= 10)
1922 NDR_PRINT_IN_DEBUG(netr_NETRLOGONCOMPUTESERVERDIGEST, r);
1924 r->out.result = _netr_NETRLOGONCOMPUTESERVERDIGEST(p, r);
1926 if (p->rng_fault_state) {
1928 /* Return True here, srv_pipe_hnd.c will take care */
1932 if (DEBUGLEVEL >= 10)
1933 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONCOMPUTESERVERDIGEST, r);
1935 push = ndr_push_init_ctx(r);
1941 status = call->ndr_push(push, NDR_OUT, r);
1942 if (NT_STATUS_IS_ERR(status)) {
1947 blob = ndr_push_blob(push);
1948 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
1958 static bool api_netr_NETRLOGONCOMPUTECLIENTDIGEST(pipes_struct *p)
1960 const struct ndr_interface_call *call;
1961 struct ndr_pull *pull;
1962 struct ndr_push *push;
1965 struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r;
1967 call = &ndr_table_netlogon.calls[NDR_NETR_NETRLOGONCOMPUTECLIENTDIGEST];
1969 r = talloc(NULL, struct netr_NETRLOGONCOMPUTECLIENTDIGEST);
1974 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
1979 pull = ndr_pull_init_blob(&blob, r);
1985 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
1986 status = call->ndr_pull(pull, NDR_IN, r);
1987 if (NT_STATUS_IS_ERR(status)) {
1992 if (DEBUGLEVEL >= 10)
1993 NDR_PRINT_IN_DEBUG(netr_NETRLOGONCOMPUTECLIENTDIGEST, r);
1995 r->out.result = _netr_NETRLOGONCOMPUTECLIENTDIGEST(p, r);
1997 if (p->rng_fault_state) {
1999 /* Return True here, srv_pipe_hnd.c will take care */
2003 if (DEBUGLEVEL >= 10)
2004 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONCOMPUTECLIENTDIGEST, r);
2006 push = ndr_push_init_ctx(r);
2012 status = call->ndr_push(push, NDR_OUT, r);
2013 if (NT_STATUS_IS_ERR(status)) {
2018 blob = ndr_push_blob(push);
2019 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
2029 static bool api_netr_ServerAuthenticate3(pipes_struct *p)
2031 const struct ndr_interface_call *call;
2032 struct ndr_pull *pull;
2033 struct ndr_push *push;
2036 struct netr_ServerAuthenticate3 *r;
2038 call = &ndr_table_netlogon.calls[NDR_NETR_SERVERAUTHENTICATE3];
2040 r = talloc(NULL, struct netr_ServerAuthenticate3);
2045 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2050 pull = ndr_pull_init_blob(&blob, r);
2056 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2057 status = call->ndr_pull(pull, NDR_IN, r);
2058 if (NT_STATUS_IS_ERR(status)) {
2063 if (DEBUGLEVEL >= 10)
2064 NDR_PRINT_IN_DEBUG(netr_ServerAuthenticate3, r);
2066 ZERO_STRUCT(r->out);
2067 r->out.credentials = r->in.credentials;
2068 r->out.negotiate_flags = r->in.negotiate_flags;
2069 r->out.rid = talloc_zero(r, uint32_t);
2070 if (r->out.rid == NULL) {
2075 r->out.result = _netr_ServerAuthenticate3(p, r);
2077 if (p->rng_fault_state) {
2079 /* Return True here, srv_pipe_hnd.c will take care */
2083 if (DEBUGLEVEL >= 10)
2084 NDR_PRINT_OUT_DEBUG(netr_ServerAuthenticate3, r);
2086 push = ndr_push_init_ctx(r);
2092 status = call->ndr_push(push, NDR_OUT, r);
2093 if (NT_STATUS_IS_ERR(status)) {
2098 blob = ndr_push_blob(push);
2099 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
2109 static bool api_netr_DsRGetDCNameEx(pipes_struct *p)
2111 const struct ndr_interface_call *call;
2112 struct ndr_pull *pull;
2113 struct ndr_push *push;
2116 struct netr_DsRGetDCNameEx *r;
2118 call = &ndr_table_netlogon.calls[NDR_NETR_DSRGETDCNAMEEX];
2120 r = talloc(NULL, struct netr_DsRGetDCNameEx);
2125 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2130 pull = ndr_pull_init_blob(&blob, r);
2136 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2137 status = call->ndr_pull(pull, NDR_IN, r);
2138 if (NT_STATUS_IS_ERR(status)) {
2143 if (DEBUGLEVEL >= 10)
2144 NDR_PRINT_IN_DEBUG(netr_DsRGetDCNameEx, r);
2146 ZERO_STRUCT(r->out);
2147 r->out.info = talloc_zero(r, struct netr_DsRGetDCNameInfo);
2148 if (r->out.info == NULL) {
2153 r->out.result = _netr_DsRGetDCNameEx(p, r);
2155 if (p->rng_fault_state) {
2157 /* Return True here, srv_pipe_hnd.c will take care */
2161 if (DEBUGLEVEL >= 10)
2162 NDR_PRINT_OUT_DEBUG(netr_DsRGetDCNameEx, r);
2164 push = ndr_push_init_ctx(r);
2170 status = call->ndr_push(push, NDR_OUT, r);
2171 if (NT_STATUS_IS_ERR(status)) {
2176 blob = ndr_push_blob(push);
2177 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
2187 static bool api_netr_DsRGetSiteName(pipes_struct *p)
2189 const struct ndr_interface_call *call;
2190 struct ndr_pull *pull;
2191 struct ndr_push *push;
2194 struct netr_DsRGetSiteName *r;
2196 call = &ndr_table_netlogon.calls[NDR_NETR_DSRGETSITENAME];
2198 r = talloc(NULL, struct netr_DsRGetSiteName);
2203 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2208 pull = ndr_pull_init_blob(&blob, r);
2214 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2215 status = call->ndr_pull(pull, NDR_IN, r);
2216 if (NT_STATUS_IS_ERR(status)) {
2221 if (DEBUGLEVEL >= 10)
2222 NDR_PRINT_IN_DEBUG(netr_DsRGetSiteName, r);
2224 ZERO_STRUCT(r->out);
2225 r->out.site = talloc_zero(r, const char *);
2226 if (r->out.site == NULL) {
2231 r->out.result = _netr_DsRGetSiteName(p, r);
2233 if (p->rng_fault_state) {
2235 /* Return True here, srv_pipe_hnd.c will take care */
2239 if (DEBUGLEVEL >= 10)
2240 NDR_PRINT_OUT_DEBUG(netr_DsRGetSiteName, r);
2242 push = ndr_push_init_ctx(r);
2248 status = call->ndr_push(push, NDR_OUT, r);
2249 if (NT_STATUS_IS_ERR(status)) {
2254 blob = ndr_push_blob(push);
2255 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
2265 static bool api_netr_LogonGetDomainInfo(pipes_struct *p)
2267 const struct ndr_interface_call *call;
2268 struct ndr_pull *pull;
2269 struct ndr_push *push;
2272 struct netr_LogonGetDomainInfo *r;
2274 call = &ndr_table_netlogon.calls[NDR_NETR_LOGONGETDOMAININFO];
2276 r = talloc(NULL, struct netr_LogonGetDomainInfo);
2281 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2286 pull = ndr_pull_init_blob(&blob, r);
2292 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2293 status = call->ndr_pull(pull, NDR_IN, r);
2294 if (NT_STATUS_IS_ERR(status)) {
2299 if (DEBUGLEVEL >= 10)
2300 NDR_PRINT_IN_DEBUG(netr_LogonGetDomainInfo, r);
2302 ZERO_STRUCT(r->out);
2303 r->out.return_authenticator = r->in.return_authenticator;
2304 r->out.info = talloc_zero(r, union netr_DomainInfo);
2305 if (r->out.info == NULL) {
2310 r->out.result = _netr_LogonGetDomainInfo(p, r);
2312 if (p->rng_fault_state) {
2314 /* Return True here, srv_pipe_hnd.c will take care */
2318 if (DEBUGLEVEL >= 10)
2319 NDR_PRINT_OUT_DEBUG(netr_LogonGetDomainInfo, r);
2321 push = ndr_push_init_ctx(r);
2327 status = call->ndr_push(push, NDR_OUT, r);
2328 if (NT_STATUS_IS_ERR(status)) {
2333 blob = ndr_push_blob(push);
2334 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
2344 static bool api_netr_ServerPasswordSet2(pipes_struct *p)
2346 const struct ndr_interface_call *call;
2347 struct ndr_pull *pull;
2348 struct ndr_push *push;
2351 struct netr_ServerPasswordSet2 *r;
2353 call = &ndr_table_netlogon.calls[NDR_NETR_SERVERPASSWORDSET2];
2355 r = talloc(NULL, struct netr_ServerPasswordSet2);
2360 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2365 pull = ndr_pull_init_blob(&blob, r);
2371 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2372 status = call->ndr_pull(pull, NDR_IN, r);
2373 if (NT_STATUS_IS_ERR(status)) {
2378 if (DEBUGLEVEL >= 10)
2379 NDR_PRINT_IN_DEBUG(netr_ServerPasswordSet2, r);
2381 ZERO_STRUCT(r->out);
2382 r->out.return_authenticator = talloc_zero(r, struct netr_Authenticator);
2383 if (r->out.return_authenticator == NULL) {
2388 r->out.result = _netr_ServerPasswordSet2(p, r);
2390 if (p->rng_fault_state) {
2392 /* Return True here, srv_pipe_hnd.c will take care */
2396 if (DEBUGLEVEL >= 10)
2397 NDR_PRINT_OUT_DEBUG(netr_ServerPasswordSet2, r);
2399 push = ndr_push_init_ctx(r);
2405 status = call->ndr_push(push, NDR_OUT, r);
2406 if (NT_STATUS_IS_ERR(status)) {
2411 blob = ndr_push_blob(push);
2412 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
2422 static bool api_netr_NETRSERVERPASSWORDGET(pipes_struct *p)
2424 const struct ndr_interface_call *call;
2425 struct ndr_pull *pull;
2426 struct ndr_push *push;
2429 struct netr_NETRSERVERPASSWORDGET *r;
2431 call = &ndr_table_netlogon.calls[NDR_NETR_NETRSERVERPASSWORDGET];
2433 r = talloc(NULL, struct netr_NETRSERVERPASSWORDGET);
2438 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2443 pull = ndr_pull_init_blob(&blob, r);
2449 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2450 status = call->ndr_pull(pull, NDR_IN, r);
2451 if (NT_STATUS_IS_ERR(status)) {
2456 if (DEBUGLEVEL >= 10)
2457 NDR_PRINT_IN_DEBUG(netr_NETRSERVERPASSWORDGET, r);
2459 r->out.result = _netr_NETRSERVERPASSWORDGET(p, r);
2461 if (p->rng_fault_state) {
2463 /* Return True here, srv_pipe_hnd.c will take care */
2467 if (DEBUGLEVEL >= 10)
2468 NDR_PRINT_OUT_DEBUG(netr_NETRSERVERPASSWORDGET, r);
2470 push = ndr_push_init_ctx(r);
2476 status = call->ndr_push(push, NDR_OUT, r);
2477 if (NT_STATUS_IS_ERR(status)) {
2482 blob = ndr_push_blob(push);
2483 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
2493 static bool api_netr_NETRLOGONSENDTOSAM(pipes_struct *p)
2495 const struct ndr_interface_call *call;
2496 struct ndr_pull *pull;
2497 struct ndr_push *push;
2500 struct netr_NETRLOGONSENDTOSAM *r;
2502 call = &ndr_table_netlogon.calls[NDR_NETR_NETRLOGONSENDTOSAM];
2504 r = talloc(NULL, struct netr_NETRLOGONSENDTOSAM);
2509 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2514 pull = ndr_pull_init_blob(&blob, r);
2520 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2521 status = call->ndr_pull(pull, NDR_IN, r);
2522 if (NT_STATUS_IS_ERR(status)) {
2527 if (DEBUGLEVEL >= 10)
2528 NDR_PRINT_IN_DEBUG(netr_NETRLOGONSENDTOSAM, r);
2530 r->out.result = _netr_NETRLOGONSENDTOSAM(p, r);
2532 if (p->rng_fault_state) {
2534 /* Return True here, srv_pipe_hnd.c will take care */
2538 if (DEBUGLEVEL >= 10)
2539 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONSENDTOSAM, r);
2541 push = ndr_push_init_ctx(r);
2547 status = call->ndr_push(push, NDR_OUT, r);
2548 if (NT_STATUS_IS_ERR(status)) {
2553 blob = ndr_push_blob(push);
2554 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
2564 static bool api_netr_DSRADDRESSTOSITENAMESW(pipes_struct *p)
2566 const struct ndr_interface_call *call;
2567 struct ndr_pull *pull;
2568 struct ndr_push *push;
2571 struct netr_DSRADDRESSTOSITENAMESW *r;
2573 call = &ndr_table_netlogon.calls[NDR_NETR_DSRADDRESSTOSITENAMESW];
2575 r = talloc(NULL, struct netr_DSRADDRESSTOSITENAMESW);
2580 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2585 pull = ndr_pull_init_blob(&blob, r);
2591 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2592 status = call->ndr_pull(pull, NDR_IN, r);
2593 if (NT_STATUS_IS_ERR(status)) {
2598 if (DEBUGLEVEL >= 10)
2599 NDR_PRINT_IN_DEBUG(netr_DSRADDRESSTOSITENAMESW, r);
2601 r->out.result = _netr_DSRADDRESSTOSITENAMESW(p, r);
2603 if (p->rng_fault_state) {
2605 /* Return True here, srv_pipe_hnd.c will take care */
2609 if (DEBUGLEVEL >= 10)
2610 NDR_PRINT_OUT_DEBUG(netr_DSRADDRESSTOSITENAMESW, r);
2612 push = ndr_push_init_ctx(r);
2618 status = call->ndr_push(push, NDR_OUT, r);
2619 if (NT_STATUS_IS_ERR(status)) {
2624 blob = ndr_push_blob(push);
2625 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
2635 static bool api_netr_DsRGetDCNameEx2(pipes_struct *p)
2637 const struct ndr_interface_call *call;
2638 struct ndr_pull *pull;
2639 struct ndr_push *push;
2642 struct netr_DsRGetDCNameEx2 *r;
2644 call = &ndr_table_netlogon.calls[NDR_NETR_DSRGETDCNAMEEX2];
2646 r = talloc(NULL, struct netr_DsRGetDCNameEx2);
2651 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2656 pull = ndr_pull_init_blob(&blob, r);
2662 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2663 status = call->ndr_pull(pull, NDR_IN, r);
2664 if (NT_STATUS_IS_ERR(status)) {
2669 if (DEBUGLEVEL >= 10)
2670 NDR_PRINT_IN_DEBUG(netr_DsRGetDCNameEx2, r);
2672 ZERO_STRUCT(r->out);
2673 r->out.info = talloc_zero(r, struct netr_DsRGetDCNameInfo);
2674 if (r->out.info == NULL) {
2679 r->out.result = _netr_DsRGetDCNameEx2(p, r);
2681 if (p->rng_fault_state) {
2683 /* Return True here, srv_pipe_hnd.c will take care */
2687 if (DEBUGLEVEL >= 10)
2688 NDR_PRINT_OUT_DEBUG(netr_DsRGetDCNameEx2, r);
2690 push = ndr_push_init_ctx(r);
2696 status = call->ndr_push(push, NDR_OUT, r);
2697 if (NT_STATUS_IS_ERR(status)) {
2702 blob = ndr_push_blob(push);
2703 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
2713 static bool api_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(pipes_struct *p)
2715 const struct ndr_interface_call *call;
2716 struct ndr_pull *pull;
2717 struct ndr_push *push;
2720 struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r;
2722 call = &ndr_table_netlogon.calls[NDR_NETR_NETRLOGONGETTIMESERVICEPARENTDOMAIN];
2724 r = talloc(NULL, struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN);
2729 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2734 pull = ndr_pull_init_blob(&blob, r);
2740 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2741 status = call->ndr_pull(pull, NDR_IN, r);
2742 if (NT_STATUS_IS_ERR(status)) {
2747 if (DEBUGLEVEL >= 10)
2748 NDR_PRINT_IN_DEBUG(netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN, r);
2750 r->out.result = _netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(p, r);
2752 if (p->rng_fault_state) {
2754 /* Return True here, srv_pipe_hnd.c will take care */
2758 if (DEBUGLEVEL >= 10)
2759 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN, r);
2761 push = ndr_push_init_ctx(r);
2767 status = call->ndr_push(push, NDR_OUT, r);
2768 if (NT_STATUS_IS_ERR(status)) {
2773 blob = ndr_push_blob(push);
2774 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
2784 static bool api_netr_NETRENUMERATETRUSTEDDOMAINSEX(pipes_struct *p)
2786 const struct ndr_interface_call *call;
2787 struct ndr_pull *pull;
2788 struct ndr_push *push;
2791 struct netr_NETRENUMERATETRUSTEDDOMAINSEX *r;
2793 call = &ndr_table_netlogon.calls[NDR_NETR_NETRENUMERATETRUSTEDDOMAINSEX];
2795 r = talloc(NULL, struct netr_NETRENUMERATETRUSTEDDOMAINSEX);
2800 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2805 pull = ndr_pull_init_blob(&blob, r);
2811 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2812 status = call->ndr_pull(pull, NDR_IN, r);
2813 if (NT_STATUS_IS_ERR(status)) {
2818 if (DEBUGLEVEL >= 10)
2819 NDR_PRINT_IN_DEBUG(netr_NETRENUMERATETRUSTEDDOMAINSEX, r);
2821 r->out.result = _netr_NETRENUMERATETRUSTEDDOMAINSEX(p, r);
2823 if (p->rng_fault_state) {
2825 /* Return True here, srv_pipe_hnd.c will take care */
2829 if (DEBUGLEVEL >= 10)
2830 NDR_PRINT_OUT_DEBUG(netr_NETRENUMERATETRUSTEDDOMAINSEX, r);
2832 push = ndr_push_init_ctx(r);
2838 status = call->ndr_push(push, NDR_OUT, r);
2839 if (NT_STATUS_IS_ERR(status)) {
2844 blob = ndr_push_blob(push);
2845 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
2855 static bool api_netr_DSRADDRESSTOSITENAMESEXW(pipes_struct *p)
2857 const struct ndr_interface_call *call;
2858 struct ndr_pull *pull;
2859 struct ndr_push *push;
2862 struct netr_DSRADDRESSTOSITENAMESEXW *r;
2864 call = &ndr_table_netlogon.calls[NDR_NETR_DSRADDRESSTOSITENAMESEXW];
2866 r = talloc(NULL, struct netr_DSRADDRESSTOSITENAMESEXW);
2871 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2876 pull = ndr_pull_init_blob(&blob, r);
2882 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2883 status = call->ndr_pull(pull, NDR_IN, r);
2884 if (NT_STATUS_IS_ERR(status)) {
2889 if (DEBUGLEVEL >= 10)
2890 NDR_PRINT_IN_DEBUG(netr_DSRADDRESSTOSITENAMESEXW, r);
2892 r->out.result = _netr_DSRADDRESSTOSITENAMESEXW(p, r);
2894 if (p->rng_fault_state) {
2896 /* Return True here, srv_pipe_hnd.c will take care */
2900 if (DEBUGLEVEL >= 10)
2901 NDR_PRINT_OUT_DEBUG(netr_DSRADDRESSTOSITENAMESEXW, r);
2903 push = ndr_push_init_ctx(r);
2909 status = call->ndr_push(push, NDR_OUT, r);
2910 if (NT_STATUS_IS_ERR(status)) {
2915 blob = ndr_push_blob(push);
2916 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
2926 static bool api_netr_DSRGETDCSITECOVERAGEW(pipes_struct *p)
2928 const struct ndr_interface_call *call;
2929 struct ndr_pull *pull;
2930 struct ndr_push *push;
2933 struct netr_DSRGETDCSITECOVERAGEW *r;
2935 call = &ndr_table_netlogon.calls[NDR_NETR_DSRGETDCSITECOVERAGEW];
2937 r = talloc(NULL, struct netr_DSRGETDCSITECOVERAGEW);
2942 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
2947 pull = ndr_pull_init_blob(&blob, r);
2953 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
2954 status = call->ndr_pull(pull, NDR_IN, r);
2955 if (NT_STATUS_IS_ERR(status)) {
2960 if (DEBUGLEVEL >= 10)
2961 NDR_PRINT_IN_DEBUG(netr_DSRGETDCSITECOVERAGEW, r);
2963 r->out.result = _netr_DSRGETDCSITECOVERAGEW(p, r);
2965 if (p->rng_fault_state) {
2967 /* Return True here, srv_pipe_hnd.c will take care */
2971 if (DEBUGLEVEL >= 10)
2972 NDR_PRINT_OUT_DEBUG(netr_DSRGETDCSITECOVERAGEW, r);
2974 push = ndr_push_init_ctx(r);
2980 status = call->ndr_push(push, NDR_OUT, r);
2981 if (NT_STATUS_IS_ERR(status)) {
2986 blob = ndr_push_blob(push);
2987 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
2997 static bool api_netr_LogonSamLogonEx(pipes_struct *p)
2999 const struct ndr_interface_call *call;
3000 struct ndr_pull *pull;
3001 struct ndr_push *push;
3004 struct netr_LogonSamLogonEx *r;
3006 call = &ndr_table_netlogon.calls[NDR_NETR_LOGONSAMLOGONEX];
3008 r = talloc(NULL, struct netr_LogonSamLogonEx);
3013 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
3018 pull = ndr_pull_init_blob(&blob, r);
3024 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3025 status = call->ndr_pull(pull, NDR_IN, r);
3026 if (NT_STATUS_IS_ERR(status)) {
3031 if (DEBUGLEVEL >= 10)
3032 NDR_PRINT_IN_DEBUG(netr_LogonSamLogonEx, r);
3034 ZERO_STRUCT(r->out);
3035 r->out.validation = talloc_zero(r, union netr_Validation);
3036 if (r->out.validation == NULL) {
3041 r->out.authoritative = talloc_zero(r, uint8_t);
3042 if (r->out.authoritative == NULL) {
3047 r->out.flags = r->in.flags;
3048 r->out.result = _netr_LogonSamLogonEx(p, r);
3050 if (p->rng_fault_state) {
3052 /* Return True here, srv_pipe_hnd.c will take care */
3056 if (DEBUGLEVEL >= 10)
3057 NDR_PRINT_OUT_DEBUG(netr_LogonSamLogonEx, r);
3059 push = ndr_push_init_ctx(r);
3065 status = call->ndr_push(push, NDR_OUT, r);
3066 if (NT_STATUS_IS_ERR(status)) {
3071 blob = ndr_push_blob(push);
3072 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
3082 static bool api_netr_DsrEnumerateDomainTrusts(pipes_struct *p)
3084 const struct ndr_interface_call *call;
3085 struct ndr_pull *pull;
3086 struct ndr_push *push;
3089 struct netr_DsrEnumerateDomainTrusts *r;
3091 call = &ndr_table_netlogon.calls[NDR_NETR_DSRENUMERATEDOMAINTRUSTS];
3093 r = talloc(NULL, struct netr_DsrEnumerateDomainTrusts);
3098 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
3103 pull = ndr_pull_init_blob(&blob, r);
3109 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3110 status = call->ndr_pull(pull, NDR_IN, r);
3111 if (NT_STATUS_IS_ERR(status)) {
3116 if (DEBUGLEVEL >= 10)
3117 NDR_PRINT_IN_DEBUG(netr_DsrEnumerateDomainTrusts, r);
3119 ZERO_STRUCT(r->out);
3120 r->out.count = talloc_zero(r, uint32_t);
3121 if (r->out.count == NULL) {
3126 r->out.trusts = talloc_zero_array(r, struct netr_DomainTrust *, r->out.count);
3127 if (r->out.trusts == NULL) {
3132 r->out.result = _netr_DsrEnumerateDomainTrusts(p, r);
3134 if (p->rng_fault_state) {
3136 /* Return True here, srv_pipe_hnd.c will take care */
3140 if (DEBUGLEVEL >= 10)
3141 NDR_PRINT_OUT_DEBUG(netr_DsrEnumerateDomainTrusts, r);
3143 push = ndr_push_init_ctx(r);
3149 status = call->ndr_push(push, NDR_OUT, r);
3150 if (NT_STATUS_IS_ERR(status)) {
3155 blob = ndr_push_blob(push);
3156 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
3166 static bool api_netr_DSRDEREGISTERDNSHOSTRECORDS(pipes_struct *p)
3168 const struct ndr_interface_call *call;
3169 struct ndr_pull *pull;
3170 struct ndr_push *push;
3173 struct netr_DSRDEREGISTERDNSHOSTRECORDS *r;
3175 call = &ndr_table_netlogon.calls[NDR_NETR_DSRDEREGISTERDNSHOSTRECORDS];
3177 r = talloc(NULL, struct netr_DSRDEREGISTERDNSHOSTRECORDS);
3182 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
3187 pull = ndr_pull_init_blob(&blob, r);
3193 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3194 status = call->ndr_pull(pull, NDR_IN, r);
3195 if (NT_STATUS_IS_ERR(status)) {
3200 if (DEBUGLEVEL >= 10)
3201 NDR_PRINT_IN_DEBUG(netr_DSRDEREGISTERDNSHOSTRECORDS, r);
3203 r->out.result = _netr_DSRDEREGISTERDNSHOSTRECORDS(p, r);
3205 if (p->rng_fault_state) {
3207 /* Return True here, srv_pipe_hnd.c will take care */
3211 if (DEBUGLEVEL >= 10)
3212 NDR_PRINT_OUT_DEBUG(netr_DSRDEREGISTERDNSHOSTRECORDS, r);
3214 push = ndr_push_init_ctx(r);
3220 status = call->ndr_push(push, NDR_OUT, r);
3221 if (NT_STATUS_IS_ERR(status)) {
3226 blob = ndr_push_blob(push);
3227 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
3237 static bool api_netr_NETRSERVERTRUSTPASSWORDSGET(pipes_struct *p)
3239 const struct ndr_interface_call *call;
3240 struct ndr_pull *pull;
3241 struct ndr_push *push;
3244 struct netr_NETRSERVERTRUSTPASSWORDSGET *r;
3246 call = &ndr_table_netlogon.calls[NDR_NETR_NETRSERVERTRUSTPASSWORDSGET];
3248 r = talloc(NULL, struct netr_NETRSERVERTRUSTPASSWORDSGET);
3253 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
3258 pull = ndr_pull_init_blob(&blob, r);
3264 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3265 status = call->ndr_pull(pull, NDR_IN, r);
3266 if (NT_STATUS_IS_ERR(status)) {
3271 if (DEBUGLEVEL >= 10)
3272 NDR_PRINT_IN_DEBUG(netr_NETRSERVERTRUSTPASSWORDSGET, r);
3274 r->out.result = _netr_NETRSERVERTRUSTPASSWORDSGET(p, r);
3276 if (p->rng_fault_state) {
3278 /* Return True here, srv_pipe_hnd.c will take care */
3282 if (DEBUGLEVEL >= 10)
3283 NDR_PRINT_OUT_DEBUG(netr_NETRSERVERTRUSTPASSWORDSGET, r);
3285 push = ndr_push_init_ctx(r);
3291 status = call->ndr_push(push, NDR_OUT, r);
3292 if (NT_STATUS_IS_ERR(status)) {
3297 blob = ndr_push_blob(push);
3298 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
3308 static bool api_netr_DSRGETFORESTTRUSTINFORMATION(pipes_struct *p)
3310 const struct ndr_interface_call *call;
3311 struct ndr_pull *pull;
3312 struct ndr_push *push;
3315 struct netr_DSRGETFORESTTRUSTINFORMATION *r;
3317 call = &ndr_table_netlogon.calls[NDR_NETR_DSRGETFORESTTRUSTINFORMATION];
3319 r = talloc(NULL, struct netr_DSRGETFORESTTRUSTINFORMATION);
3324 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
3329 pull = ndr_pull_init_blob(&blob, r);
3335 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3336 status = call->ndr_pull(pull, NDR_IN, r);
3337 if (NT_STATUS_IS_ERR(status)) {
3342 if (DEBUGLEVEL >= 10)
3343 NDR_PRINT_IN_DEBUG(netr_DSRGETFORESTTRUSTINFORMATION, r);
3345 r->out.result = _netr_DSRGETFORESTTRUSTINFORMATION(p, r);
3347 if (p->rng_fault_state) {
3349 /* Return True here, srv_pipe_hnd.c will take care */
3353 if (DEBUGLEVEL >= 10)
3354 NDR_PRINT_OUT_DEBUG(netr_DSRGETFORESTTRUSTINFORMATION, r);
3356 push = ndr_push_init_ctx(r);
3362 status = call->ndr_push(push, NDR_OUT, r);
3363 if (NT_STATUS_IS_ERR(status)) {
3368 blob = ndr_push_blob(push);
3369 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
3379 static bool api_netr_NETRGETFORESTTRUSTINFORMATION(pipes_struct *p)
3381 const struct ndr_interface_call *call;
3382 struct ndr_pull *pull;
3383 struct ndr_push *push;
3386 struct netr_NETRGETFORESTTRUSTINFORMATION *r;
3388 call = &ndr_table_netlogon.calls[NDR_NETR_NETRGETFORESTTRUSTINFORMATION];
3390 r = talloc(NULL, struct netr_NETRGETFORESTTRUSTINFORMATION);
3395 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
3400 pull = ndr_pull_init_blob(&blob, r);
3406 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3407 status = call->ndr_pull(pull, NDR_IN, r);
3408 if (NT_STATUS_IS_ERR(status)) {
3413 if (DEBUGLEVEL >= 10)
3414 NDR_PRINT_IN_DEBUG(netr_NETRGETFORESTTRUSTINFORMATION, r);
3416 r->out.result = _netr_NETRGETFORESTTRUSTINFORMATION(p, r);
3418 if (p->rng_fault_state) {
3420 /* Return True here, srv_pipe_hnd.c will take care */
3424 if (DEBUGLEVEL >= 10)
3425 NDR_PRINT_OUT_DEBUG(netr_NETRGETFORESTTRUSTINFORMATION, r);
3427 push = ndr_push_init_ctx(r);
3433 status = call->ndr_push(push, NDR_OUT, r);
3434 if (NT_STATUS_IS_ERR(status)) {
3439 blob = ndr_push_blob(push);
3440 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
3450 static bool api_netr_LogonSamLogonWithFlags(pipes_struct *p)
3452 const struct ndr_interface_call *call;
3453 struct ndr_pull *pull;
3454 struct ndr_push *push;
3457 struct netr_LogonSamLogonWithFlags *r;
3459 call = &ndr_table_netlogon.calls[NDR_NETR_LOGONSAMLOGONWITHFLAGS];
3461 r = talloc(NULL, struct netr_LogonSamLogonWithFlags);
3466 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
3471 pull = ndr_pull_init_blob(&blob, r);
3477 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3478 status = call->ndr_pull(pull, NDR_IN, r);
3479 if (NT_STATUS_IS_ERR(status)) {
3484 if (DEBUGLEVEL >= 10)
3485 NDR_PRINT_IN_DEBUG(netr_LogonSamLogonWithFlags, r);
3487 ZERO_STRUCT(r->out);
3488 r->out.return_authenticator = r->in.return_authenticator;
3489 r->out.validation = talloc_zero(r, union netr_Validation);
3490 if (r->out.validation == NULL) {
3495 r->out.authoritative = talloc_zero(r, uint8_t);
3496 if (r->out.authoritative == NULL) {
3501 r->out.flags = r->in.flags;
3502 r->out.result = _netr_LogonSamLogonWithFlags(p, r);
3504 if (p->rng_fault_state) {
3506 /* Return True here, srv_pipe_hnd.c will take care */
3510 if (DEBUGLEVEL >= 10)
3511 NDR_PRINT_OUT_DEBUG(netr_LogonSamLogonWithFlags, r);
3513 push = ndr_push_init_ctx(r);
3519 status = call->ndr_push(push, NDR_OUT, r);
3520 if (NT_STATUS_IS_ERR(status)) {
3525 blob = ndr_push_blob(push);
3526 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
3536 static bool api_netr_NETRSERVERGETTRUSTINFO(pipes_struct *p)
3538 const struct ndr_interface_call *call;
3539 struct ndr_pull *pull;
3540 struct ndr_push *push;
3543 struct netr_NETRSERVERGETTRUSTINFO *r;
3545 call = &ndr_table_netlogon.calls[NDR_NETR_NETRSERVERGETTRUSTINFO];
3547 r = talloc(NULL, struct netr_NETRSERVERGETTRUSTINFO);
3552 if (!prs_data_blob(&p->in_data.data, &blob, r)) {
3557 pull = ndr_pull_init_blob(&blob, r);
3563 pull->flags |= LIBNDR_FLAG_REF_ALLOC;
3564 status = call->ndr_pull(pull, NDR_IN, r);
3565 if (NT_STATUS_IS_ERR(status)) {
3570 if (DEBUGLEVEL >= 10)
3571 NDR_PRINT_IN_DEBUG(netr_NETRSERVERGETTRUSTINFO, r);
3573 r->out.result = _netr_NETRSERVERGETTRUSTINFO(p, r);
3575 if (p->rng_fault_state) {
3577 /* Return True here, srv_pipe_hnd.c will take care */
3581 if (DEBUGLEVEL >= 10)
3582 NDR_PRINT_OUT_DEBUG(netr_NETRSERVERGETTRUSTINFO, r);
3584 push = ndr_push_init_ctx(r);
3590 status = call->ndr_push(push, NDR_OUT, r);
3591 if (NT_STATUS_IS_ERR(status)) {
3596 blob = ndr_push_blob(push);
3597 if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32)blob.length)) {
3609 static struct api_struct api_netlogon_cmds[] =
3611 {"NETR_LOGONUASLOGON", NDR_NETR_LOGONUASLOGON, api_netr_LogonUasLogon},
3612 {"NETR_LOGONUASLOGOFF", NDR_NETR_LOGONUASLOGOFF, api_netr_LogonUasLogoff},
3613 {"NETR_LOGONSAMLOGON", NDR_NETR_LOGONSAMLOGON, api_netr_LogonSamLogon},
3614 {"NETR_LOGONSAMLOGOFF", NDR_NETR_LOGONSAMLOGOFF, api_netr_LogonSamLogoff},
3615 {"NETR_SERVERREQCHALLENGE", NDR_NETR_SERVERREQCHALLENGE, api_netr_ServerReqChallenge},
3616 {"NETR_SERVERAUTHENTICATE", NDR_NETR_SERVERAUTHENTICATE, api_netr_ServerAuthenticate},
3617 {"NETR_SERVERPASSWORDSET", NDR_NETR_SERVERPASSWORDSET, api_netr_ServerPasswordSet},
3618 {"NETR_DATABASEDELTAS", NDR_NETR_DATABASEDELTAS, api_netr_DatabaseDeltas},
3619 {"NETR_DATABASESYNC", NDR_NETR_DATABASESYNC, api_netr_DatabaseSync},
3620 {"NETR_ACCOUNTDELTAS", NDR_NETR_ACCOUNTDELTAS, api_netr_AccountDeltas},
3621 {"NETR_ACCOUNTSYNC", NDR_NETR_ACCOUNTSYNC, api_netr_AccountSync},
3622 {"NETR_GETDCNAME", NDR_NETR_GETDCNAME, api_netr_GetDcName},
3623 {"NETR_LOGONCONTROL", NDR_NETR_LOGONCONTROL, api_netr_LogonControl},
3624 {"NETR_GETANYDCNAME", NDR_NETR_GETANYDCNAME, api_netr_GetAnyDCName},
3625 {"NETR_LOGONCONTROL2", NDR_NETR_LOGONCONTROL2, api_netr_LogonControl2},
3626 {"NETR_SERVERAUTHENTICATE2", NDR_NETR_SERVERAUTHENTICATE2, api_netr_ServerAuthenticate2},
3627 {"NETR_DATABASESYNC2", NDR_NETR_DATABASESYNC2, api_netr_DatabaseSync2},
3628 {"NETR_DATABASEREDO", NDR_NETR_DATABASEREDO, api_netr_DatabaseRedo},
3629 {"NETR_LOGONCONTROL2EX", NDR_NETR_LOGONCONTROL2EX, api_netr_LogonControl2Ex},
3630 {"NETR_NETRENUMERATETRUSTEDDOMAINS", NDR_NETR_NETRENUMERATETRUSTEDDOMAINS, api_netr_NETRENUMERATETRUSTEDDOMAINS},
3631 {"NETR_DSRGETDCNAME", NDR_NETR_DSRGETDCNAME, api_netr_DsRGetDCName},
3632 {"NETR_NETRLOGONDUMMYROUTINE1", NDR_NETR_NETRLOGONDUMMYROUTINE1, api_netr_NETRLOGONDUMMYROUTINE1},
3633 {"NETR_NETRLOGONSETSERVICEBITS", NDR_NETR_NETRLOGONSETSERVICEBITS, api_netr_NETRLOGONSETSERVICEBITS},
3634 {"NETR_NETRLOGONGETTRUSTRID", NDR_NETR_NETRLOGONGETTRUSTRID, api_netr_NETRLOGONGETTRUSTRID},
3635 {"NETR_NETRLOGONCOMPUTESERVERDIGEST", NDR_NETR_NETRLOGONCOMPUTESERVERDIGEST, api_netr_NETRLOGONCOMPUTESERVERDIGEST},
3636 {"NETR_NETRLOGONCOMPUTECLIENTDIGEST", NDR_NETR_NETRLOGONCOMPUTECLIENTDIGEST, api_netr_NETRLOGONCOMPUTECLIENTDIGEST},
3637 {"NETR_SERVERAUTHENTICATE3", NDR_NETR_SERVERAUTHENTICATE3, api_netr_ServerAuthenticate3},
3638 {"NETR_DSRGETDCNAMEEX", NDR_NETR_DSRGETDCNAMEEX, api_netr_DsRGetDCNameEx},
3639 {"NETR_DSRGETSITENAME", NDR_NETR_DSRGETSITENAME, api_netr_DsRGetSiteName},
3640 {"NETR_LOGONGETDOMAININFO", NDR_NETR_LOGONGETDOMAININFO, api_netr_LogonGetDomainInfo},
3641 {"NETR_SERVERPASSWORDSET2", NDR_NETR_SERVERPASSWORDSET2, api_netr_ServerPasswordSet2},
3642 {"NETR_NETRSERVERPASSWORDGET", NDR_NETR_NETRSERVERPASSWORDGET, api_netr_NETRSERVERPASSWORDGET},
3643 {"NETR_NETRLOGONSENDTOSAM", NDR_NETR_NETRLOGONSENDTOSAM, api_netr_NETRLOGONSENDTOSAM},
3644 {"NETR_DSRADDRESSTOSITENAMESW", NDR_NETR_DSRADDRESSTOSITENAMESW, api_netr_DSRADDRESSTOSITENAMESW},
3645 {"NETR_DSRGETDCNAMEEX2", NDR_NETR_DSRGETDCNAMEEX2, api_netr_DsRGetDCNameEx2},
3646 {"NETR_NETRLOGONGETTIMESERVICEPARENTDOMAIN", NDR_NETR_NETRLOGONGETTIMESERVICEPARENTDOMAIN, api_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN},
3647 {"NETR_NETRENUMERATETRUSTEDDOMAINSEX", NDR_NETR_NETRENUMERATETRUSTEDDOMAINSEX, api_netr_NETRENUMERATETRUSTEDDOMAINSEX},
3648 {"NETR_DSRADDRESSTOSITENAMESEXW", NDR_NETR_DSRADDRESSTOSITENAMESEXW, api_netr_DSRADDRESSTOSITENAMESEXW},
3649 {"NETR_DSRGETDCSITECOVERAGEW", NDR_NETR_DSRGETDCSITECOVERAGEW, api_netr_DSRGETDCSITECOVERAGEW},
3650 {"NETR_LOGONSAMLOGONEX", NDR_NETR_LOGONSAMLOGONEX, api_netr_LogonSamLogonEx},
3651 {"NETR_DSRENUMERATEDOMAINTRUSTS", NDR_NETR_DSRENUMERATEDOMAINTRUSTS, api_netr_DsrEnumerateDomainTrusts},
3652 {"NETR_DSRDEREGISTERDNSHOSTRECORDS", NDR_NETR_DSRDEREGISTERDNSHOSTRECORDS, api_netr_DSRDEREGISTERDNSHOSTRECORDS},
3653 {"NETR_NETRSERVERTRUSTPASSWORDSGET", NDR_NETR_NETRSERVERTRUSTPASSWORDSGET, api_netr_NETRSERVERTRUSTPASSWORDSGET},
3654 {"NETR_DSRGETFORESTTRUSTINFORMATION", NDR_NETR_DSRGETFORESTTRUSTINFORMATION, api_netr_DSRGETFORESTTRUSTINFORMATION},
3655 {"NETR_NETRGETFORESTTRUSTINFORMATION", NDR_NETR_NETRGETFORESTTRUSTINFORMATION, api_netr_NETRGETFORESTTRUSTINFORMATION},
3656 {"NETR_LOGONSAMLOGONWITHFLAGS", NDR_NETR_LOGONSAMLOGONWITHFLAGS, api_netr_LogonSamLogonWithFlags},
3657 {"NETR_NETRSERVERGETTRUSTINFO", NDR_NETR_NETRSERVERGETTRUSTINFO, api_netr_NETRSERVERGETTRUSTINFO},
3660 void netlogon_get_pipe_fns(struct api_struct **fns, int *n_fns)
3662 *fns = api_netlogon_cmds;
3663 *n_fns = sizeof(api_netlogon_cmds) / sizeof(struct api_struct);
3666 NTSTATUS rpc_netlogon_init(void)
3668 return rpc_pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "netlogon", "netlogon", api_netlogon_cmds, sizeof(api_netlogon_cmds) / sizeof(struct api_struct));