uint32_t ptr_count;
};
-struct ndr_pull_save {
- uint32_t data_size;
- uint32_t offset;
- struct ndr_pull_save *next;
-};
-
/* structure passed to functions that generate NDR formatted data */
struct ndr_push {
uint32_t flags; /* LIBNDR_FLAG_* */
uint32_t ptr_count;
};
-struct ndr_push_save {
- uint32_t offset;
- struct ndr_push_save *next;
-};
-
-
/* structure passed to functions that print IDL structures */
struct ndr_print {
uint32_t flags; /* LIBNDR_FLAG_* */
return NDR_ERR_SUCCESS;
}
-/* save the offset/size of the current ndr state */
-_PUBLIC_ void ndr_pull_save(struct ndr_pull *ndr, struct ndr_pull_save *save)
-{
- save->offset = ndr->offset;
- save->data_size = ndr->data_size;
-}
-
-/* restore the size/offset of a ndr structure */
-_PUBLIC_ void ndr_pull_restore(struct ndr_pull *ndr, struct ndr_pull_save *save)
-{
- ndr->offset = save->offset;
- ndr->data_size = save->data_size;
-}
-
-
/* create a ndr_push structure, ready for some marshalling */
_PUBLIC_ struct ndr_push *ndr_push_init_ctx(TALLOC_CTX *mem_ctx)
{
return ndr_push_bytes(ndr, data, n);
}
-/*
- save the current position
- */
-_PUBLIC_ void ndr_push_save(struct ndr_push *ndr, struct ndr_push_save *save)
-{
- save->offset = ndr->offset;
-}
-
-/*
- restore the position
- */
-_PUBLIC_ void ndr_push_restore(struct ndr_push *ndr, struct ndr_push_save *save)
-{
- ndr->offset = save->offset;
-}
-
/*
push a unique non-zero value if a pointer is non-NULL, otherwise 0
*/