Lines Matching refs:nds

30  * returning NULL, it should set the nds->error to indicate what went
124 nds_initialize(ndr_stream_t *nds, unsigned pdu_size_hint,
129 assert(nds);
132 bzero(nds, sizeof (*nds));
133 nds->ndo = &nds_ops;
134 nds->heap = (struct ndr_heap *)heap;
137 nds->error = NDR_ERR_BOUNDS_CHECK;
138 nds->error_ref = __LINE__;
139 NDS_TATTLE_ERROR(nds, NULL, NULL);
145 if ((nds->pdu_base_addr = malloc(size)) == NULL) {
146 nds->error = NDR_ERR_MALLOC_FAILED;
147 nds->error_ref = __LINE__;
148 NDS_TATTLE_ERROR(nds, NULL, NULL);
152 nds->pdu_max_size = size;
153 nds->pdu_size = 0;
154 nds->pdu_base_offset = (unsigned long)nds->pdu_base_addr;
156 nds->m_op = NDR_MODE_TO_M_OP(composite_op);
157 nds->dir = NDR_MODE_TO_DIR(composite_op);
159 nds->outer_queue_tailp = &nds->outer_queue_head;
164 nds_finalize(ndr_stream_t *nds, ndr_fraglist_t *frags)
172 for (frag = nds->frags.head; frag; frag = frag->next)
178 frags->iov = malloc(nds->frags.nfrag * sizeof (iovec_t));
182 frags->head = nds->frags.head;
183 frags->tail = nds->frags.tail;
184 frags->nfrag = nds->frags.nfrag;
185 bzero(&nds->frags, sizeof (ndr_fraglist_t));
208 nds_destruct(ndr_stream_t *nds)
210 if ((nds == NULL) || (nds->ndo == NULL))
213 NDS_DESTRUCT(nds);
220 nds_show_state(ndr_stream_t *nds)
222 if (nds == NULL) {
223 ndo_printf(NULL, NULL, "nds: <null");
227 ndo_printf(NULL, NULL, "nds: base=0x%x, size=%d, max=%d, scan=%d",
228 nds->pdu_base_offset, nds->pdu_size, nds->pdu_max_size,
229 nds->pdu_scan_offset);
239 ndo_malloc(ndr_stream_t *nds, unsigned len, ndr_ref_t *ref)
241 return (ndr_heap_malloc((ndr_heap_t *)nds->heap, len));
251 ndo_free(ndr_stream_t *nds, char *p, ndr_ref_t *ref)
268 ndo_grow_pdu(ndr_stream_t *nds, unsigned long want_end_offset, ndr_ref_t *ref)
273 ndo_printf(nds, ref, "grow %d", want_end_offset);
275 pdu_max_size = nds->pdu_max_size;
283 pdu_addr = realloc(nds->pdu_base_addr, pdu_max_size);
287 nds->pdu_max_size = pdu_max_size;
288 nds->pdu_base_addr = pdu_addr;
289 nds->pdu_base_offset = (unsigned long)pdu_addr;
292 nds->pdu_size = want_end_offset;
297 ndo_pad_pdu(ndr_stream_t *nds, unsigned long pdu_offset,
302 data = (unsigned char *)nds->pdu_base_offset;
305 ndo_printf(nds, ref, "pad %d@%-3d", n_bytes, pdu_offset);
320 ndo_get_pdu(ndr_stream_t *nds, unsigned long pdu_offset,
326 data = (unsigned char *)nds->pdu_base_offset;
331 ndo_printf(nds, ref, "get %d@%-3d = %s",
350 ndo_put_pdu(ndr_stream_t *nds, unsigned long pdu_offset,
356 data = (unsigned char *)nds->pdu_base_offset;
361 ndo_printf(nds, ref, "put %d@%-3d = %s",
369 ndo_tattle(ndr_stream_t *nds, char *what, ndr_ref_t *ref)
371 ndo_printf(nds, ref, what);
375 ndo_tattle_error(ndr_stream_t *nds, ndr_ref_t *ref)
380 if (nds->pdu_base_addr != NULL) {
381 data = (unsigned char *)nds->pdu_base_offset;
385 data += nds->pdu_scan_offset;
392 ndo_printf(nds, ref, "ERROR=%d REF=%d OFFSET=%d SIZE=%d/%d",
393 nds->error, nds->error_ref, nds->pdu_scan_offset,
394 nds->pdu_size, nds->pdu_max_size);
395 ndo_printf(nds, ref, " %s", hexbuf);
405 ndo_reset(ndr_stream_t *nds)
407 ndo_printf(nds, 0, "reset");
409 nds->pdu_size = 0;
410 nds->pdu_scan_offset = 0;
411 nds->outer_queue_head = 0;
412 nds->outer_current = 0;
413 nds->outer_queue_tailp = &nds->outer_queue_head;
425 ndo_destruct(ndr_stream_t *nds)
429 ndo_printf(nds, 0, "destruct");
431 if (nds == NULL)
434 if (nds->pdu_base_addr != NULL) {
435 free(nds->pdu_base_addr);
436 nds->pdu_base_addr = NULL;
437 nds->pdu_base_offset = 0;
440 while ((frag = nds->frags.head) != NULL) {
441 nds->frags.head = frag->next;
445 bzero(&nds->frags, sizeof (ndr_fraglist_t));
447 nds->outer_queue_head = 0;
448 nds->outer_current = 0;
449 nds->outer_queue_tailp = &nds->outer_queue_head;
456 ndo_printf(ndr_stream_t *nds, ndr_ref_t *ref, const char *fmt, ...)
465 if (nds)
466 ndo_fmt(nds, ref, buf);
485 ndo_fmt(ndr_stream_t *nds, ndr_ref_t *ref, char *note)
493 switch (nds->m_op) {
500 switch (nds->dir) {