Home | History | Annotate | Download | only in tools

Lines Matching defs:dctx

538 static int sb_grow_dcd(struct sb_dcd_ctx *dctx, unsigned int inc_size)
545 dctx->size += inc_size;
546 tmp = realloc(dctx->payload, dctx->size);
550 dctx->payload = tmp;
553 dctx->payload[0] = htonl((SB_HAB_DCD_TAG << 24) |
554 (dctx->size << 8) |
562 struct sb_dcd_ctx *dctx;
568 dctx = calloc(1, sizeof(*dctx));
569 if (!dctx)
572 ret = sb_grow_dcd(dctx, 4);
593 dctx->id = id;
601 ictx->dcd_head = dctx;
602 ictx->dcd_tail = dctx;
604 ictx->dcd_tail->dcd = dctx;
605 ictx->dcd_tail = dctx;
611 free(dctx->payload);
612 free(dctx);
624 struct sb_dcd_ctx *dctx = ictx->dcd_tail;
627 if (dctx->prev_dcd_head && (type != SB_DCD_NOOP) &&
628 ((dctx->prev_dcd_head[0] & 0xff0000ff) == type)) {
630 ret = sb_grow_dcd(dctx, 8);
634 ret = sb_grow_dcd(dctx, 4);
639 dctx->prev_dcd_head = dctx->payload +
640 dctx->size / sizeof(*dctx->payload) - 1;
649 ret = sb_grow_dcd(dctx, 12);
654 dctx->prev_dcd_head = dctx->payload +
655 dctx->size / sizeof(*dctx->payload) - 3;
658 dcd = dctx->payload + dctx->size / sizeof(*dctx->payload) - 2;
701 length = dctx->size -
702 ((dctx->prev_dcd_head - dctx->payload) *
703 sizeof(*dctx->payload));
704 dctx->prev_dcd_head[0] = htonl(type | (length << 8));
949 struct sb_dcd_ctx *dctx = ictx->dcd_head;
962 while (dctx) {
963 if (dctx->id == dcdid)
965 dctx = dctx->dcd;
968 if (!dctx) {
974 asize = roundup(dctx->size, SB_BLOCK_SIZE);
981 memcpy(payload, dctx->payload, dctx->size);
2138 struct sb_dcd_ctx *dctx = ictx->dcd_head, *d_head;
2157 while (dctx) {
2158 d_head = dctx;
2159 dctx = dctx->dcd;