/* AUTOMATICALLY GENERATED by qapi-gen.py DO NOT MODIFY */

/*
 * Schema-defined QAPI types
 *
 * Copyright IBM, Corp. 2011
 * Copyright (c) 2013-2018 Red Hat Inc.
 *
 * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
 * See the COPYING.LIB file in the top-level directory.
 */

#include "qemu/osdep.h"
#include "qapi/dealloc-visitor.h"
#include "qapi-types-virtio.h"
#include "qapi-visit-virtio.h"

void qapi_free_VirtioInfo(VirtioInfo *obj)
{
    Visitor *v;

    if (!obj) {
        return;
    }

    v = qapi_dealloc_visitor_new();
    visit_type_VirtioInfo(v, NULL, &obj, NULL);
    visit_free(v);
}

void qapi_free_VirtioInfoList(VirtioInfoList *obj)
{
    Visitor *v;

    if (!obj) {
        return;
    }

    v = qapi_dealloc_visitor_new();
    visit_type_VirtioInfoList(v, NULL, &obj, NULL);
    visit_free(v);
}

void qapi_free_VhostStatus(VhostStatus *obj)
{
    Visitor *v;

    if (!obj) {
        return;
    }

    v = qapi_dealloc_visitor_new();
    visit_type_VhostStatus(v, NULL, &obj, NULL);
    visit_free(v);
}

void qapi_free_VirtioStatus(VirtioStatus *obj)
{
    Visitor *v;

    if (!obj) {
        return;
    }

    v = qapi_dealloc_visitor_new();
    visit_type_VirtioStatus(v, NULL, &obj, NULL);
    visit_free(v);
}

void qapi_free_VirtioDeviceStatus(VirtioDeviceStatus *obj)
{
    Visitor *v;

    if (!obj) {
        return;
    }

    v = qapi_dealloc_visitor_new();
    visit_type_VirtioDeviceStatus(v, NULL, &obj, NULL);
    visit_free(v);
}

void qapi_free_VhostDeviceProtocols(VhostDeviceProtocols *obj)
{
    Visitor *v;

    if (!obj) {
        return;
    }

    v = qapi_dealloc_visitor_new();
    visit_type_VhostDeviceProtocols(v, NULL, &obj, NULL);
    visit_free(v);
}

void qapi_free_VirtioDeviceFeatures(VirtioDeviceFeatures *obj)
{
    Visitor *v;

    if (!obj) {
        return;
    }

    v = qapi_dealloc_visitor_new();
    visit_type_VirtioDeviceFeatures(v, NULL, &obj, NULL);
    visit_free(v);
}

void qapi_free_VirtQueueStatus(VirtQueueStatus *obj)
{
    Visitor *v;

    if (!obj) {
        return;
    }

    v = qapi_dealloc_visitor_new();
    visit_type_VirtQueueStatus(v, NULL, &obj, NULL);
    visit_free(v);
}

void qapi_free_VirtVhostQueueStatus(VirtVhostQueueStatus *obj)
{
    Visitor *v;

    if (!obj) {
        return;
    }

    v = qapi_dealloc_visitor_new();
    visit_type_VirtVhostQueueStatus(v, NULL, &obj, NULL);
    visit_free(v);
}

void qapi_free_VirtioRingDesc(VirtioRingDesc *obj)
{
    Visitor *v;

    if (!obj) {
        return;
    }

    v = qapi_dealloc_visitor_new();
    visit_type_VirtioRingDesc(v, NULL, &obj, NULL);
    visit_free(v);
}

void qapi_free_VirtioRingAvail(VirtioRingAvail *obj)
{
    Visitor *v;

    if (!obj) {
        return;
    }

    v = qapi_dealloc_visitor_new();
    visit_type_VirtioRingAvail(v, NULL, &obj, NULL);
    visit_free(v);
}

void qapi_free_VirtioRingUsed(VirtioRingUsed *obj)
{
    Visitor *v;

    if (!obj) {
        return;
    }

    v = qapi_dealloc_visitor_new();
    visit_type_VirtioRingUsed(v, NULL, &obj, NULL);
    visit_free(v);
}

void qapi_free_VirtioRingDescList(VirtioRingDescList *obj)
{
    Visitor *v;

    if (!obj) {
        return;
    }

    v = qapi_dealloc_visitor_new();
    visit_type_VirtioRingDescList(v, NULL, &obj, NULL);
    visit_free(v);
}

void qapi_free_VirtioQueueElement(VirtioQueueElement *obj)
{
    Visitor *v;

    if (!obj) {
        return;
    }

    v = qapi_dealloc_visitor_new();
    visit_type_VirtioQueueElement(v, NULL, &obj, NULL);
    visit_free(v);
}

void qapi_free_IOThreadVirtQueueMapping(IOThreadVirtQueueMapping *obj)
{
    Visitor *v;

    if (!obj) {
        return;
    }

    v = qapi_dealloc_visitor_new();
    visit_type_IOThreadVirtQueueMapping(v, NULL, &obj, NULL);
    visit_free(v);
}

void qapi_free_IOThreadVirtQueueMappingList(IOThreadVirtQueueMappingList *obj)
{
    Visitor *v;

    if (!obj) {
        return;
    }

    v = qapi_dealloc_visitor_new();
    visit_type_IOThreadVirtQueueMappingList(v, NULL, &obj, NULL);
    visit_free(v);
}

void qapi_free_DummyVirtioForceArrays(DummyVirtioForceArrays *obj)
{
    Visitor *v;

    if (!obj) {
        return;
    }

    v = qapi_dealloc_visitor_new();
    visit_type_DummyVirtioForceArrays(v, NULL, &obj, NULL);
    visit_free(v);
}

const QEnumLookup GranuleMode_lookup = {
    .array = (const char *const[]) {
        [GRANULE_MODE_4K] = "4k",
        [GRANULE_MODE_8K] = "8k",
        [GRANULE_MODE_16K] = "16k",
        [GRANULE_MODE_64K] = "64k",
        [GRANULE_MODE_HOST] = "host",
    },
    .size = GRANULE_MODE__MAX
};

/* Dummy declaration to prevent empty .o file */
char qapi_dummy_qapi_types_virtio_c;
