int qemu_get_buffer(QEMUFile *f, uint8_t *buf, int size1)

{

    int size, l;



    if (f->is_write)

        abort();



    size = size1;

    while (size > 0) {

        l = f->buf_size - f->buf_index;

        if (l == 0) {

            qemu_fill_buffer(f);

            l = f->buf_size - f->buf_index;

            if (l == 0)

                break;

        }

        if (l > size)

            l = size;

        memcpy(buf, f->buf + f->buf_index, l);

        f->buf_index += l;

        buf += l;

        size -= l;

    }

    return size1 - size;

}

int qemu_get_buffer(QEMUFile *f, uint8_t *buf, int size1)

{

    int size, l;



    if (f->is_write)

        abort();



    size = size1;

    while (size > 0) {

        l = f->buf_size - f->buf_index;

        if (l == 0) {

            qemu_fill_buffer(f);

            l = f->buf_size - f->buf_index;

            if (l == 0)

                break;

        }

        if (l > size)

            l = size;

        memcpy(buf, f->buf + f->buf_index, l);

        f->buf_index += l;

        buf += l;

        size -= l;

    }

    return size1 - size;

}

int FUNC_0(QEMUFile *VAR_0, uint8_t *VAR_1, int VAR_2)

{

    int VAR_3, VAR_4;



    if (VAR_0->is_write)

        abort();



    VAR_3 = VAR_2;

    while (VAR_3 > 0) {

        VAR_4 = VAR_0->buf_size - VAR_0->buf_index;

        if (VAR_4 == 0) {

            qemu_fill_buffer(VAR_0);

            VAR_4 = VAR_0->buf_size - VAR_0->buf_index;

            if (VAR_4 == 0)

                break;

        }

        if (VAR_4 > VAR_3)

            VAR_4 = VAR_3;

        memcpy(VAR_1, VAR_0->VAR_1 + VAR_0->buf_index, VAR_4);

        VAR_0->buf_index += VAR_4;

        VAR_1 += VAR_4;

        VAR_3 -= VAR_4;

    }

    return VAR_2 - VAR_3;

}

int FUNC_0(QEMUFile *VAR_0, uint8_t *VAR_1, int VAR_2)
{ int VAR_3, VAR_4; if (VAR_0->is_write)
abort(); VAR_3 = VAR_2; while (VAR_3 > 0) { VAR_4 = VAR_0->buf_size - VAR_0->buf_index; if (VAR_4 == 0) { qemu_fill_buffer(VAR_0); VAR_4 = VAR_0->buf_size - VAR_0->buf_index; if (VAR_4 == 0)
break; } if (VAR_4 > VAR_3)
VAR_4 = VAR_3; memcpy(VAR_1, VAR_0->VAR_1 + VAR_0->buf_index, VAR_4); VAR_0->buf_index += VAR_4; VAR_1 += VAR_4; VAR_3 -= VAR_4; } return VAR_2 - VAR_3; }