void kfiledebug_init(KFileDebug *kd) { ASSERT(kd); memset(kd, 0, sizeof(*kd)); kfile_init(&kd->fd); kd->fd.write = kfiledebug_write; DB(kd->fd._type = KFT_KFILEDEBUG); }
void kfileblock_init(KFileBlock *fb, KBlock *blk) { ASSERT(fb); ASSERT(blk); memset(fb, 0, sizeof(*fb)); kfile_init(&fb->fd); DB(fb->fd._type = KFT_KFILEBLOCK); fb->blk = blk; fb->fd.size = blk->blk_cnt * blk->blk_size; fb->fd.read = kfileblock_read; fb->fd.write = kfileblock_write; fb->fd.flush = kfileblock_flush; fb->fd.error = kfileblock_error; fb->fd.clearerr = kfileblock_clearerr; fb->fd.close = kfileblock_close; }