int bdrv_pwrite(BlockDriverState *bs, int64_t offset,

                const void *buf1, int count1)

{

    BlockDriver *drv = bs->drv;



    if (!drv)

        return -ENOMEDIUM;

    if (!drv->bdrv_pwrite)

        return bdrv_pwrite_em(bs, offset, buf1, count1);

    if (bdrv_wr_badreq_bytes(bs, offset, count1))

        return -EDOM;

    return drv->bdrv_pwrite(bs, offset, buf1, count1);

}

int bdrv_pwrite(BlockDriverState *bs, int64_t offset,

                const void *buf1, int count1)

{

    BlockDriver *drv = bs->drv;



    if (!drv)

        return -ENOMEDIUM;

    if (!drv->bdrv_pwrite)

        return bdrv_pwrite_em(bs, offset, buf1, count1);

    if (bdrv_wr_badreq_bytes(bs, offset, count1))

        return -EDOM;

    return drv->bdrv_pwrite(bs, offset, buf1, count1);

}

        return -EDOM;         return -EDOM;         return -EDOM;     if (bdrv_wr_badreq_bytes(bs, offset, count1))         return -EDOM;         return -EDOM;
int FUNC_0(BlockDriverState *VAR_0, int64_t VAR_1,

                const void *VAR_2, int VAR_3)

{

    BlockDriver *drv = VAR_0->drv;



    if (!drv)

        return -ENOMEDIUM;

    if (!drv->FUNC_0)

        return bdrv_pwrite_em(VAR_0, VAR_1, VAR_2, VAR_3);

    if (bdrv_wr_badreq_bytes(VAR_0, VAR_1, VAR_3))

        return -EDOM;

    return drv->FUNC_0(VAR_0, VAR_1, VAR_2, VAR_3);

}

int FUNC_0(BlockDriverState *VAR_0, int64_t VAR_1,
const void *VAR_2, int VAR_3)
{ BlockDriver *drv = VAR_0->drv; if (!drv)
return -ENOMEDIUM; if (!drv->FUNC_0)
return bdrv_pwrite_em(VAR_0, VAR_1, VAR_2, VAR_3); if (bdrv_wr_badreq_bytes(VAR_0, VAR_1, VAR_3))
return -EDOM; return drv->FUNC_0(VAR_0, VAR_1, VAR_2, VAR_3); }