/* 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.
 */

#ifndef QAPI_TYPES_MISC_ARM_H
#define QAPI_TYPES_MISC_ARM_H

#include "qapi/qapi-builtin-types.h"

typedef struct GICCapability GICCapability;

typedef struct GICCapabilityList GICCapabilityList;

typedef enum SsidSizeMode {
    SSID_SIZE_MODE_AUTO,
    SSID_SIZE_MODE_0,
    SSID_SIZE_MODE_1,
    SSID_SIZE_MODE_2,
    SSID_SIZE_MODE_3,
    SSID_SIZE_MODE_4,
    SSID_SIZE_MODE_5,
    SSID_SIZE_MODE_6,
    SSID_SIZE_MODE_7,
    SSID_SIZE_MODE_8,
    SSID_SIZE_MODE_9,
    SSID_SIZE_MODE_10,
    SSID_SIZE_MODE_11,
    SSID_SIZE_MODE_12,
    SSID_SIZE_MODE_13,
    SSID_SIZE_MODE_14,
    SSID_SIZE_MODE_15,
    SSID_SIZE_MODE_16,
    SSID_SIZE_MODE_17,
    SSID_SIZE_MODE_18,
    SSID_SIZE_MODE_19,
    SSID_SIZE_MODE_20,
    SSID_SIZE_MODE__MAX,
} SsidSizeMode;

#define SsidSizeMode_str(val) \
    qapi_enum_lookup(&SsidSizeMode_lookup, (val))

extern const QEnumLookup SsidSizeMode_lookup;

typedef enum OasMode {
    OAS_MODE_AUTO,
    OAS_MODE_32,
    OAS_MODE_36,
    OAS_MODE_40,
    OAS_MODE_42,
    OAS_MODE_44,
    OAS_MODE_48,
    OAS_MODE_52,
    OAS_MODE_56,
    OAS_MODE__MAX,
} OasMode;

#define OasMode_str(val) \
    qapi_enum_lookup(&OasMode_lookup, (val))

extern const QEnumLookup OasMode_lookup;

struct GICCapability {
    int64_t version;
    bool emulated;
    bool kernel;
};

void qapi_free_GICCapability(GICCapability *obj);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GICCapability, qapi_free_GICCapability)

struct GICCapabilityList {
    GICCapabilityList *next;
    GICCapability *value;
};

void qapi_free_GICCapabilityList(GICCapabilityList *obj);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GICCapabilityList, qapi_free_GICCapabilityList)

#endif /* QAPI_TYPES_MISC_ARM_H */
