struct ndr_token_list *relative_list;
struct ndr_token_list *array_size_list;
struct ndr_token_list *array_length_list;
- struct ndr_token_list *switch_list;
/* this is used to ensure we generate unique reference IDs
between request and reply */
uint32_t alloc_size;
uint32_t offset;
- struct ndr_token_list *switch_list;
struct ndr_token_list *relative_list;
/* this is used to ensure we generate unique reference IDs */
return NT_STATUS_OK;
}
-/*
- store a switch value
- */
-NTSTATUS ndr_push_set_switch_value(struct ndr_push *ndr, void *p, uint32_t val)
-{
- return ndr_token_store(ndr, &ndr->switch_list, p, val);
-}
-
-NTSTATUS ndr_pull_set_switch_value(struct ndr_pull *ndr, void *p, uint32_t val)
-{
- return ndr_token_store(ndr, &ndr->switch_list, p, val);
-}
-
-/*
- retrieve a switch value
- */
-uint32_t ndr_push_get_switch_value(struct ndr_push *ndr, void *p)
-{
- return ndr_token_peek(&ndr->switch_list, p);
-}
-
-uint32_t ndr_pull_get_switch_value(struct ndr_pull *ndr, void *p)
-{
- return ndr_token_peek(&ndr->switch_list, p);
-}
-
/*
pull a relative object - stage1
called during SCALARS processing
for (i=0;i<r->out.count;i++) {\
ndr2->data += ndr2->offset;\
ndr2->offset = 0;\
- NDR_CHECK(ndr_push_set_switch_value(ndr2, &(*r->out.info)[i], r->in.level)); \
- NDR_CHECK(ndr_push_##type(ndr2, NDR_SCALARS|NDR_BUFFERS, &(*r->out.info)[i]));\
+ NDR_CHECK(ndr_push_##type(ndr2, NDR_SCALARS|NDR_BUFFERS, r->in.level, &(*r->out.info)[i]));\
}\
if (*r->in.buf_size >= ndr2->offset) {\
buffer = data_blob_const(ndr2->data, ndr2->offset);\
for (i=0;i<r->out.count;i++) {\
ndr2->data += ndr2->offset;\
ndr2->offset = 0;\
- NDR_CHECK(ndr_pull_set_switch_value(ndr2, &(*r->out.info)[i], r->in.level)); \
- NDR_CHECK(ndr_pull_##type(ndr2, NDR_SCALARS|NDR_BUFFERS, &(*r->out.info)[i]));\
+ NDR_CHECK(ndr_pull_##type(ndr2, NDR_SCALARS|NDR_BUFFERS, r->in.level, &(*r->out.info)[i]));\
}\
}\
} while(0)