Lines Matching defs:bop
56 static void bootpart_sync_complete(block_op_t* bop, zx_status_t status) {
57 bop->command = status;
58 sync_completion_signal((sync_completion_t*)bop->cookie);
62 block_op_t* bop = calloc(1, dev->block_op_size);
63 if (bop == NULL) {
69 bop->command = BLOCK_OP_FLUSH;
70 bop->completion_cb = bootpart_sync_complete;
71 bop->cookie = &cplt;
73 dev->bp.ops->queue(dev->bp.ctx, bop);
75 zx_status_t status = bop->command;
76 free(bop);
128 static void bootpart_queue(void* ctx, block_op_t* bop) {
131 switch (bop->command & BLOCK_OP_MASK) {
134 size_t blocks = bop->rw.length;
138 if ((bop->rw.offset_dev >= max) ||
139 ((max - bop->rw.offset_dev) < blocks)) {
140 bop->completion_cb(bop, ZX_ERR_OUT_OF_RANGE);
145 bop->rw.offset_dev += bootpart->part.first_block;
151 bop->completion_cb(bop, ZX_ERR_NOT_SUPPORTED);
155 bootpart->bp.ops->queue(bootpart->bp.ctx, bop);