2
* Unix SMB/CIFS implementation.
3
* server auto-generated by pidl. DO NOT MODIFY!
8
#include "librpc/gen_ndr/srv_frsrpc.h"
10
static bool api_frsrpc_FrsSendCommPkt(struct pipes_struct *p)
12
const struct ndr_interface_call *call;
13
struct ndr_pull *pull;
14
struct ndr_push *push;
15
enum ndr_err_code ndr_err;
16
struct frsrpc_FrsSendCommPkt *r;
18
call = &ndr_table_frsrpc.calls[NDR_FRSRPC_FRSSENDCOMMPKT];
20
r = talloc(talloc_tos(), struct frsrpc_FrsSendCommPkt);
25
pull = ndr_pull_init_blob(&p->in_data.data, r);
31
pull->flags |= LIBNDR_FLAG_REF_ALLOC;
33
pull->flags |= LIBNDR_FLAG_BIGENDIAN;
35
ndr_err = call->ndr_pull(pull, NDR_IN, r);
36
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
41
if (DEBUGLEVEL >= 10) {
42
NDR_PRINT_FUNCTION_DEBUG(frsrpc_FrsSendCommPkt, NDR_IN, r);
45
r->out.result = _frsrpc_FrsSendCommPkt(p, r);
47
if (p->rng_fault_state) {
49
/* Return true here, srv_pipe_hnd.c will take care */
53
if (DEBUGLEVEL >= 10) {
54
NDR_PRINT_FUNCTION_DEBUG(frsrpc_FrsSendCommPkt, NDR_OUT | NDR_SET_VALUES, r);
57
push = ndr_push_init_ctx(r);
64
* carry over the pointer count to the reply in case we are
65
* using full pointer. See NDR specification for full pointers
67
push->ptr_count = pull->ptr_count;
69
ndr_err = call->ndr_push(push, NDR_OUT, r);
70
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
75
p->out_data.rdata = ndr_push_blob(push);
76
talloc_steal(p->mem_ctx, p->out_data.rdata.data);
83
static bool api_frsrpc_FrsVerifyPromotionParent(struct pipes_struct *p)
85
const struct ndr_interface_call *call;
86
struct ndr_pull *pull;
87
struct ndr_push *push;
88
enum ndr_err_code ndr_err;
89
struct frsrpc_FrsVerifyPromotionParent *r;
91
call = &ndr_table_frsrpc.calls[NDR_FRSRPC_FRSVERIFYPROMOTIONPARENT];
93
r = talloc(talloc_tos(), struct frsrpc_FrsVerifyPromotionParent);
98
pull = ndr_pull_init_blob(&p->in_data.data, r);
104
pull->flags |= LIBNDR_FLAG_REF_ALLOC;
106
pull->flags |= LIBNDR_FLAG_BIGENDIAN;
108
ndr_err = call->ndr_pull(pull, NDR_IN, r);
109
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
114
if (DEBUGLEVEL >= 10) {
115
NDR_PRINT_FUNCTION_DEBUG(frsrpc_FrsVerifyPromotionParent, NDR_IN, r);
118
r->out.result = _frsrpc_FrsVerifyPromotionParent(p, r);
120
if (p->rng_fault_state) {
122
/* Return true here, srv_pipe_hnd.c will take care */
126
if (DEBUGLEVEL >= 10) {
127
NDR_PRINT_FUNCTION_DEBUG(frsrpc_FrsVerifyPromotionParent, NDR_OUT | NDR_SET_VALUES, r);
130
push = ndr_push_init_ctx(r);
137
* carry over the pointer count to the reply in case we are
138
* using full pointer. See NDR specification for full pointers
140
push->ptr_count = pull->ptr_count;
142
ndr_err = call->ndr_push(push, NDR_OUT, r);
143
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
148
p->out_data.rdata = ndr_push_blob(push);
149
talloc_steal(p->mem_ctx, p->out_data.rdata.data);
156
static bool api_frsrpc_FrsStartPromotionParent(struct pipes_struct *p)
158
const struct ndr_interface_call *call;
159
struct ndr_pull *pull;
160
struct ndr_push *push;
161
enum ndr_err_code ndr_err;
162
struct frsrpc_FrsStartPromotionParent *r;
164
call = &ndr_table_frsrpc.calls[NDR_FRSRPC_FRSSTARTPROMOTIONPARENT];
166
r = talloc(talloc_tos(), struct frsrpc_FrsStartPromotionParent);
171
pull = ndr_pull_init_blob(&p->in_data.data, r);
177
pull->flags |= LIBNDR_FLAG_REF_ALLOC;
179
pull->flags |= LIBNDR_FLAG_BIGENDIAN;
181
ndr_err = call->ndr_pull(pull, NDR_IN, r);
182
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
187
if (DEBUGLEVEL >= 10) {
188
NDR_PRINT_FUNCTION_DEBUG(frsrpc_FrsStartPromotionParent, NDR_IN, r);
192
r->out.parent_guid = r->in.parent_guid;
193
r->out.result = _frsrpc_FrsStartPromotionParent(p, r);
195
if (p->rng_fault_state) {
197
/* Return true here, srv_pipe_hnd.c will take care */
201
if (DEBUGLEVEL >= 10) {
202
NDR_PRINT_FUNCTION_DEBUG(frsrpc_FrsStartPromotionParent, NDR_OUT | NDR_SET_VALUES, r);
205
push = ndr_push_init_ctx(r);
212
* carry over the pointer count to the reply in case we are
213
* using full pointer. See NDR specification for full pointers
215
push->ptr_count = pull->ptr_count;
217
ndr_err = call->ndr_push(push, NDR_OUT, r);
218
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
223
p->out_data.rdata = ndr_push_blob(push);
224
talloc_steal(p->mem_ctx, p->out_data.rdata.data);
231
static bool api_frsrpc_FrsNOP(struct pipes_struct *p)
233
const struct ndr_interface_call *call;
234
struct ndr_pull *pull;
235
struct ndr_push *push;
236
enum ndr_err_code ndr_err;
237
struct frsrpc_FrsNOP *r;
239
call = &ndr_table_frsrpc.calls[NDR_FRSRPC_FRSNOP];
241
r = talloc(talloc_tos(), struct frsrpc_FrsNOP);
246
pull = ndr_pull_init_blob(&p->in_data.data, r);
252
pull->flags |= LIBNDR_FLAG_REF_ALLOC;
254
pull->flags |= LIBNDR_FLAG_BIGENDIAN;
256
ndr_err = call->ndr_pull(pull, NDR_IN, r);
257
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
262
if (DEBUGLEVEL >= 10) {
263
NDR_PRINT_FUNCTION_DEBUG(frsrpc_FrsNOP, NDR_IN, r);
266
r->out.result = _frsrpc_FrsNOP(p, r);
268
if (p->rng_fault_state) {
270
/* Return true here, srv_pipe_hnd.c will take care */
274
if (DEBUGLEVEL >= 10) {
275
NDR_PRINT_FUNCTION_DEBUG(frsrpc_FrsNOP, NDR_OUT | NDR_SET_VALUES, r);
278
push = ndr_push_init_ctx(r);
285
* carry over the pointer count to the reply in case we are
286
* using full pointer. See NDR specification for full pointers
288
push->ptr_count = pull->ptr_count;
290
ndr_err = call->ndr_push(push, NDR_OUT, r);
291
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
296
p->out_data.rdata = ndr_push_blob(push);
297
talloc_steal(p->mem_ctx, p->out_data.rdata.data);
304
static bool api_FRSRPC_BACKUP_COMPLETE(struct pipes_struct *p)
306
const struct ndr_interface_call *call;
307
struct ndr_pull *pull;
308
struct ndr_push *push;
309
enum ndr_err_code ndr_err;
310
struct FRSRPC_BACKUP_COMPLETE *r;
312
call = &ndr_table_frsrpc.calls[NDR_FRSRPC_BACKUP_COMPLETE];
314
r = talloc(talloc_tos(), struct FRSRPC_BACKUP_COMPLETE);
319
pull = ndr_pull_init_blob(&p->in_data.data, r);
325
pull->flags |= LIBNDR_FLAG_REF_ALLOC;
327
pull->flags |= LIBNDR_FLAG_BIGENDIAN;
329
ndr_err = call->ndr_pull(pull, NDR_IN, r);
330
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
335
if (DEBUGLEVEL >= 10) {
336
NDR_PRINT_FUNCTION_DEBUG(FRSRPC_BACKUP_COMPLETE, NDR_IN, r);
339
_FRSRPC_BACKUP_COMPLETE(p, r);
341
if (p->rng_fault_state) {
343
/* Return true here, srv_pipe_hnd.c will take care */
347
if (DEBUGLEVEL >= 10) {
348
NDR_PRINT_FUNCTION_DEBUG(FRSRPC_BACKUP_COMPLETE, NDR_OUT | NDR_SET_VALUES, r);
351
push = ndr_push_init_ctx(r);
358
* carry over the pointer count to the reply in case we are
359
* using full pointer. See NDR specification for full pointers
361
push->ptr_count = pull->ptr_count;
363
ndr_err = call->ndr_push(push, NDR_OUT, r);
364
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
369
p->out_data.rdata = ndr_push_blob(push);
370
talloc_steal(p->mem_ctx, p->out_data.rdata.data);
377
static bool api_FRSRPC_BACKUP_COMPLETE_5(struct pipes_struct *p)
379
const struct ndr_interface_call *call;
380
struct ndr_pull *pull;
381
struct ndr_push *push;
382
enum ndr_err_code ndr_err;
383
struct FRSRPC_BACKUP_COMPLETE_5 *r;
385
call = &ndr_table_frsrpc.calls[NDR_FRSRPC_BACKUP_COMPLETE_5];
387
r = talloc(talloc_tos(), struct FRSRPC_BACKUP_COMPLETE_5);
392
pull = ndr_pull_init_blob(&p->in_data.data, r);
398
pull->flags |= LIBNDR_FLAG_REF_ALLOC;
400
pull->flags |= LIBNDR_FLAG_BIGENDIAN;
402
ndr_err = call->ndr_pull(pull, NDR_IN, r);
403
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
408
if (DEBUGLEVEL >= 10) {
409
NDR_PRINT_FUNCTION_DEBUG(FRSRPC_BACKUP_COMPLETE_5, NDR_IN, r);
412
_FRSRPC_BACKUP_COMPLETE_5(p, r);
414
if (p->rng_fault_state) {
416
/* Return true here, srv_pipe_hnd.c will take care */
420
if (DEBUGLEVEL >= 10) {
421
NDR_PRINT_FUNCTION_DEBUG(FRSRPC_BACKUP_COMPLETE_5, NDR_OUT | NDR_SET_VALUES, r);
424
push = ndr_push_init_ctx(r);
431
* carry over the pointer count to the reply in case we are
432
* using full pointer. See NDR specification for full pointers
434
push->ptr_count = pull->ptr_count;
436
ndr_err = call->ndr_push(push, NDR_OUT, r);
437
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
442
p->out_data.rdata = ndr_push_blob(push);
443
talloc_steal(p->mem_ctx, p->out_data.rdata.data);
450
static bool api_FRSRPC_BACKUP_COMPLETE_6(struct pipes_struct *p)
452
const struct ndr_interface_call *call;
453
struct ndr_pull *pull;
454
struct ndr_push *push;
455
enum ndr_err_code ndr_err;
456
struct FRSRPC_BACKUP_COMPLETE_6 *r;
458
call = &ndr_table_frsrpc.calls[NDR_FRSRPC_BACKUP_COMPLETE_6];
460
r = talloc(talloc_tos(), struct FRSRPC_BACKUP_COMPLETE_6);
465
pull = ndr_pull_init_blob(&p->in_data.data, r);
471
pull->flags |= LIBNDR_FLAG_REF_ALLOC;
473
pull->flags |= LIBNDR_FLAG_BIGENDIAN;
475
ndr_err = call->ndr_pull(pull, NDR_IN, r);
476
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
481
if (DEBUGLEVEL >= 10) {
482
NDR_PRINT_FUNCTION_DEBUG(FRSRPC_BACKUP_COMPLETE_6, NDR_IN, r);
485
_FRSRPC_BACKUP_COMPLETE_6(p, r);
487
if (p->rng_fault_state) {
489
/* Return true here, srv_pipe_hnd.c will take care */
493
if (DEBUGLEVEL >= 10) {
494
NDR_PRINT_FUNCTION_DEBUG(FRSRPC_BACKUP_COMPLETE_6, NDR_OUT | NDR_SET_VALUES, r);
497
push = ndr_push_init_ctx(r);
504
* carry over the pointer count to the reply in case we are
505
* using full pointer. See NDR specification for full pointers
507
push->ptr_count = pull->ptr_count;
509
ndr_err = call->ndr_push(push, NDR_OUT, r);
510
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
515
p->out_data.rdata = ndr_push_blob(push);
516
talloc_steal(p->mem_ctx, p->out_data.rdata.data);
523
static bool api_FRSRPC_BACKUP_COMPLETE_7(struct pipes_struct *p)
525
const struct ndr_interface_call *call;
526
struct ndr_pull *pull;
527
struct ndr_push *push;
528
enum ndr_err_code ndr_err;
529
struct FRSRPC_BACKUP_COMPLETE_7 *r;
531
call = &ndr_table_frsrpc.calls[NDR_FRSRPC_BACKUP_COMPLETE_7];
533
r = talloc(talloc_tos(), struct FRSRPC_BACKUP_COMPLETE_7);
538
pull = ndr_pull_init_blob(&p->in_data.data, r);
544
pull->flags |= LIBNDR_FLAG_REF_ALLOC;
546
pull->flags |= LIBNDR_FLAG_BIGENDIAN;
548
ndr_err = call->ndr_pull(pull, NDR_IN, r);
549
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
554
if (DEBUGLEVEL >= 10) {
555
NDR_PRINT_FUNCTION_DEBUG(FRSRPC_BACKUP_COMPLETE_7, NDR_IN, r);
558
_FRSRPC_BACKUP_COMPLETE_7(p, r);
560
if (p->rng_fault_state) {
562
/* Return true here, srv_pipe_hnd.c will take care */
566
if (DEBUGLEVEL >= 10) {
567
NDR_PRINT_FUNCTION_DEBUG(FRSRPC_BACKUP_COMPLETE_7, NDR_OUT | NDR_SET_VALUES, r);
570
push = ndr_push_init_ctx(r);
577
* carry over the pointer count to the reply in case we are
578
* using full pointer. See NDR specification for full pointers
580
push->ptr_count = pull->ptr_count;
582
ndr_err = call->ndr_push(push, NDR_OUT, r);
583
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
588
p->out_data.rdata = ndr_push_blob(push);
589
talloc_steal(p->mem_ctx, p->out_data.rdata.data);
596
static bool api_FRSRPC_BACKUP_COMPLETE_8(struct pipes_struct *p)
598
const struct ndr_interface_call *call;
599
struct ndr_pull *pull;
600
struct ndr_push *push;
601
enum ndr_err_code ndr_err;
602
struct FRSRPC_BACKUP_COMPLETE_8 *r;
604
call = &ndr_table_frsrpc.calls[NDR_FRSRPC_BACKUP_COMPLETE_8];
606
r = talloc(talloc_tos(), struct FRSRPC_BACKUP_COMPLETE_8);
611
pull = ndr_pull_init_blob(&p->in_data.data, r);
617
pull->flags |= LIBNDR_FLAG_REF_ALLOC;
619
pull->flags |= LIBNDR_FLAG_BIGENDIAN;
621
ndr_err = call->ndr_pull(pull, NDR_IN, r);
622
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
627
if (DEBUGLEVEL >= 10) {
628
NDR_PRINT_FUNCTION_DEBUG(FRSRPC_BACKUP_COMPLETE_8, NDR_IN, r);
631
_FRSRPC_BACKUP_COMPLETE_8(p, r);
633
if (p->rng_fault_state) {
635
/* Return true here, srv_pipe_hnd.c will take care */
639
if (DEBUGLEVEL >= 10) {
640
NDR_PRINT_FUNCTION_DEBUG(FRSRPC_BACKUP_COMPLETE_8, NDR_OUT | NDR_SET_VALUES, r);
643
push = ndr_push_init_ctx(r);
650
* carry over the pointer count to the reply in case we are
651
* using full pointer. See NDR specification for full pointers
653
push->ptr_count = pull->ptr_count;
655
ndr_err = call->ndr_push(push, NDR_OUT, r);
656
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
661
p->out_data.rdata = ndr_push_blob(push);
662
talloc_steal(p->mem_ctx, p->out_data.rdata.data);
669
static bool api_FRSRPC_BACKUP_COMPLETE_9(struct pipes_struct *p)
671
const struct ndr_interface_call *call;
672
struct ndr_pull *pull;
673
struct ndr_push *push;
674
enum ndr_err_code ndr_err;
675
struct FRSRPC_BACKUP_COMPLETE_9 *r;
677
call = &ndr_table_frsrpc.calls[NDR_FRSRPC_BACKUP_COMPLETE_9];
679
r = talloc(talloc_tos(), struct FRSRPC_BACKUP_COMPLETE_9);
684
pull = ndr_pull_init_blob(&p->in_data.data, r);
690
pull->flags |= LIBNDR_FLAG_REF_ALLOC;
692
pull->flags |= LIBNDR_FLAG_BIGENDIAN;
694
ndr_err = call->ndr_pull(pull, NDR_IN, r);
695
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
700
if (DEBUGLEVEL >= 10) {
701
NDR_PRINT_FUNCTION_DEBUG(FRSRPC_BACKUP_COMPLETE_9, NDR_IN, r);
704
_FRSRPC_BACKUP_COMPLETE_9(p, r);
706
if (p->rng_fault_state) {
708
/* Return true here, srv_pipe_hnd.c will take care */
712
if (DEBUGLEVEL >= 10) {
713
NDR_PRINT_FUNCTION_DEBUG(FRSRPC_BACKUP_COMPLETE_9, NDR_OUT | NDR_SET_VALUES, r);
716
push = ndr_push_init_ctx(r);
723
* carry over the pointer count to the reply in case we are
724
* using full pointer. See NDR specification for full pointers
726
push->ptr_count = pull->ptr_count;
728
ndr_err = call->ndr_push(push, NDR_OUT, r);
729
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
734
p->out_data.rdata = ndr_push_blob(push);
735
talloc_steal(p->mem_ctx, p->out_data.rdata.data);
742
static bool api_FRSRPC_VERIFY_PROMOTION_PARENT_EX(struct pipes_struct *p)
744
const struct ndr_interface_call *call;
745
struct ndr_pull *pull;
746
struct ndr_push *push;
747
enum ndr_err_code ndr_err;
748
struct FRSRPC_VERIFY_PROMOTION_PARENT_EX *r;
750
call = &ndr_table_frsrpc.calls[NDR_FRSRPC_VERIFY_PROMOTION_PARENT_EX];
752
r = talloc(talloc_tos(), struct FRSRPC_VERIFY_PROMOTION_PARENT_EX);
757
pull = ndr_pull_init_blob(&p->in_data.data, r);
763
pull->flags |= LIBNDR_FLAG_REF_ALLOC;
765
pull->flags |= LIBNDR_FLAG_BIGENDIAN;
767
ndr_err = call->ndr_pull(pull, NDR_IN, r);
768
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
773
if (DEBUGLEVEL >= 10) {
774
NDR_PRINT_FUNCTION_DEBUG(FRSRPC_VERIFY_PROMOTION_PARENT_EX, NDR_IN, r);
777
_FRSRPC_VERIFY_PROMOTION_PARENT_EX(p, r);
779
if (p->rng_fault_state) {
781
/* Return true here, srv_pipe_hnd.c will take care */
785
if (DEBUGLEVEL >= 10) {
786
NDR_PRINT_FUNCTION_DEBUG(FRSRPC_VERIFY_PROMOTION_PARENT_EX, NDR_OUT | NDR_SET_VALUES, r);
789
push = ndr_push_init_ctx(r);
796
* carry over the pointer count to the reply in case we are
797
* using full pointer. See NDR specification for full pointers
799
push->ptr_count = pull->ptr_count;
801
ndr_err = call->ndr_push(push, NDR_OUT, r);
802
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
807
p->out_data.rdata = ndr_push_blob(push);
808
talloc_steal(p->mem_ctx, p->out_data.rdata.data);
817
static struct api_struct api_frsrpc_cmds[] =
819
{"FRSRPC_FRSSENDCOMMPKT", NDR_FRSRPC_FRSSENDCOMMPKT, api_frsrpc_FrsSendCommPkt},
820
{"FRSRPC_FRSVERIFYPROMOTIONPARENT", NDR_FRSRPC_FRSVERIFYPROMOTIONPARENT, api_frsrpc_FrsVerifyPromotionParent},
821
{"FRSRPC_FRSSTARTPROMOTIONPARENT", NDR_FRSRPC_FRSSTARTPROMOTIONPARENT, api_frsrpc_FrsStartPromotionParent},
822
{"FRSRPC_FRSNOP", NDR_FRSRPC_FRSNOP, api_frsrpc_FrsNOP},
823
{"FRSRPC_BACKUP_COMPLETE", NDR_FRSRPC_BACKUP_COMPLETE, api_FRSRPC_BACKUP_COMPLETE},
824
{"FRSRPC_BACKUP_COMPLETE_5", NDR_FRSRPC_BACKUP_COMPLETE_5, api_FRSRPC_BACKUP_COMPLETE_5},
825
{"FRSRPC_BACKUP_COMPLETE_6", NDR_FRSRPC_BACKUP_COMPLETE_6, api_FRSRPC_BACKUP_COMPLETE_6},
826
{"FRSRPC_BACKUP_COMPLETE_7", NDR_FRSRPC_BACKUP_COMPLETE_7, api_FRSRPC_BACKUP_COMPLETE_7},
827
{"FRSRPC_BACKUP_COMPLETE_8", NDR_FRSRPC_BACKUP_COMPLETE_8, api_FRSRPC_BACKUP_COMPLETE_8},
828
{"FRSRPC_BACKUP_COMPLETE_9", NDR_FRSRPC_BACKUP_COMPLETE_9, api_FRSRPC_BACKUP_COMPLETE_9},
829
{"FRSRPC_VERIFY_PROMOTION_PARENT_EX", NDR_FRSRPC_VERIFY_PROMOTION_PARENT_EX, api_FRSRPC_VERIFY_PROMOTION_PARENT_EX},
832
void frsrpc_get_pipe_fns(struct api_struct **fns, int *n_fns)
834
*fns = api_frsrpc_cmds;
835
*n_fns = sizeof(api_frsrpc_cmds) / sizeof(struct api_struct);
838
NTSTATUS rpc_frsrpc_init(const struct rpc_srv_callbacks *rpc_srv_cb)
840
return rpc_srv_register(SMB_RPC_INTERFACE_VERSION, "frsrpc", "frsrpc", &ndr_table_frsrpc, api_frsrpc_cmds, sizeof(api_frsrpc_cmds) / sizeof(struct api_struct), rpc_srv_cb);
843
NTSTATUS rpc_frsrpc_shutdown(void)
845
return rpc_srv_unregister(&ndr_table_frsrpc);