Lines Matching refs:heap
470 ndr_heap_destroy(clnt->heap);
557 * If the heap has been preserved we need to go through an xa release.
558 * The heap is preserved during an RPC call because that's where data
561 * Otherwise we destroy the heap directly.
571 ndr_heap_destroy(clnt->heap);
584 * ndr_rpc_release to release the heap. Otherwise, we release the
585 * heap here.
711 ndr_heap_t *heap;
713 if ((heap = ndr_rpc_get_heap(handle)) == NULL)
716 return (ndr_heap_malloc(heap, size));
724 if (clnt->heap == NULL)
725 clnt->heap = ndr_heap_create();
727 return (clnt->heap);
731 * Must be called by RPC clients to free the heap after a successful RPC
734 * returned data is in the heap.
744 ndr_heap_destroy(clnt->heap);
746 clnt->heap = NULL;
823 * If the caller hasn't provided a heap, create one here.
830 ndr_heap_t *heap = clnt->heap;
833 if (heap == NULL) {
834 if ((heap = ndr_heap_create()) == NULL)
837 clnt->heap = heap;
840 mxa->heap = heap;
842 rc = nds_initialize(send_nds, 0, NDR_MODE_CALL_SEND, heap);
845 NDR_MODE_RETURN_RECV, heap);
850 ndr_heap_destroy(mxa->heap);
851 mxa->heap = NULL;
852 clnt->heap = NULL;
940 * Preserve the heap so that the client application has access to data
946 assert(clnt->heap == mxa->heap);
949 mxa->heap = NULL;
953 * Dispose of the transaction streams. If the heap has not been
963 ndr_heap_destroy(mxa->heap);
964 mxa->heap = NULL;
965 clnt->heap = NULL;
970 * Dispose of a preserved heap.
976 ndr_heap_destroy(clnt->heap);
977 clnt->heap = NULL;