int qemu_savevm_state_complete(Monitor *mon, QEMUFile *f)

{

    SaveStateEntry *se;



    cpu_synchronize_all_states();



    QTAILQ_FOREACH(se, &savevm_handlers, entry) {

        if (se->save_live_state == NULL)

            continue;



        /* Section type */

        qemu_put_byte(f, QEMU_VM_SECTION_END);

        qemu_put_be32(f, se->section_id);



        se->save_live_state(mon, f, QEMU_VM_SECTION_END, se->opaque);

    }



    QTAILQ_FOREACH(se, &savevm_handlers, entry) {

        int len;



	if (se->save_state == NULL && se->vmsd == NULL)

	    continue;



        /* Section type */

        qemu_put_byte(f, QEMU_VM_SECTION_FULL);

        qemu_put_be32(f, se->section_id);



        /* ID string */

        len = strlen(se->idstr);

        qemu_put_byte(f, len);

        qemu_put_buffer(f, (uint8_t *)se->idstr, len);



        qemu_put_be32(f, se->instance_id);

        qemu_put_be32(f, se->version_id);



        vmstate_save(f, se);

    }



    qemu_put_byte(f, QEMU_VM_EOF);



    return qemu_file_get_error(f);

}

int qemu_savevm_state_complete(Monitor *mon, QEMUFile *f)

{

    SaveStateEntry *se;



    cpu_synchronize_all_states();



    QTAILQ_FOREACH(se, &savevm_handlers, entry) {

        if (se->save_live_state == NULL)

            continue;



        

        qemu_put_byte(f, QEMU_VM_SECTION_END);

        qemu_put_be32(f, se->section_id);



        se->save_live_state(mon, f, QEMU_VM_SECTION_END, se->opaque);

    }



    QTAILQ_FOREACH(se, &savevm_handlers, entry) {

        int len;



	if (se->save_state == NULL && se->vmsd == NULL)

	    continue;



        

        qemu_put_byte(f, QEMU_VM_SECTION_FULL);

        qemu_put_be32(f, se->section_id);



        

        len = strlen(se->idstr);

        qemu_put_byte(f, len);

        qemu_put_buffer(f, (uint8_t *)se->idstr, len);



        qemu_put_be32(f, se->instance_id);

        qemu_put_be32(f, se->version_id);



        vmstate_save(f, se);

    }



    qemu_put_byte(f, QEMU_VM_EOF);



    return qemu_file_get_error(f);

}

int FUNC_0(Monitor *VAR_0, QEMUFile *VAR_1)

{

    SaveStateEntry *se;



    cpu_synchronize_all_states();



    QTAILQ_FOREACH(se, &savevm_handlers, entry) {

        if (se->save_live_state == NULL)

            continue;



        

        qemu_put_byte(VAR_1, QEMU_VM_SECTION_END);

        qemu_put_be32(VAR_1, se->section_id);



        se->save_live_state(VAR_0, VAR_1, QEMU_VM_SECTION_END, se->opaque);

    }



    QTAILQ_FOREACH(se, &savevm_handlers, entry) {

        int len;



	if (se->save_state == NULL && se->vmsd == NULL)

	    continue;



        

        qemu_put_byte(VAR_1, QEMU_VM_SECTION_FULL);

        qemu_put_be32(VAR_1, se->section_id);



        

        len = strlen(se->idstr);

        qemu_put_byte(VAR_1, len);

        qemu_put_buffer(VAR_1, (uint8_t *)se->idstr, len);



        qemu_put_be32(VAR_1, se->instance_id);

        qemu_put_be32(VAR_1, se->version_id);



        vmstate_save(VAR_1, se);

    }



    qemu_put_byte(VAR_1, QEMU_VM_EOF);



    return qemu_file_get_error(VAR_1);

}

int FUNC_0(Monitor *VAR_0, QEMUFile *VAR_1)
{ SaveStateEntry *se; cpu_synchronize_all_states(); QTAILQ_FOREACH(se, &savevm_handlers, entry) { if (se->save_live_state == NULL)
continue; qemu_put_byte(VAR_1, QEMU_VM_SECTION_END); qemu_put_be32(VAR_1, se->section_id); se->save_live_state(VAR_0, VAR_1, QEMU_VM_SECTION_END, se->opaque); } QTAILQ_FOREACH(se, &savevm_handlers, entry) { int len; if (se->save_state == NULL && se->vmsd == NULL)
continue; qemu_put_byte(VAR_1, QEMU_VM_SECTION_FULL); qemu_put_be32(VAR_1, se->section_id); len = strlen(se->idstr); qemu_put_byte(VAR_1, len); qemu_put_buffer(VAR_1, (uint8_t *)se->idstr, len); qemu_put_be32(VAR_1, se->instance_id); qemu_put_be32(VAR_1, se->version_id); vmstate_save(VAR_1, se); } qemu_put_byte(VAR_1, QEMU_VM_EOF); return qemu_file_get_error(VAR_1); }