/* 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_MACHINE_S390X_H
#define QAPI_TYPES_MACHINE_S390X_H

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

typedef enum S390CpuPolarization {
    S390_CPU_POLARIZATION_HORIZONTAL,
    S390_CPU_POLARIZATION_VERTICAL,
    S390_CPU_POLARIZATION__MAX,
} S390CpuPolarization;

#define S390CpuPolarization_str(val) \
    qapi_enum_lookup(&S390CpuPolarization_lookup, (val))

extern const QEnumLookup S390CpuPolarization_lookup;

typedef struct q_obj_set_cpu_topology_arg q_obj_set_cpu_topology_arg;

typedef struct q_obj_CPU_POLARIZATION_CHANGE_arg q_obj_CPU_POLARIZATION_CHANGE_arg;

typedef struct CpuPolarizationInfo CpuPolarizationInfo;

struct q_obj_set_cpu_topology_arg {
    uint16_t core_id;
    bool has_socket_id;
    uint16_t socket_id;
    bool has_book_id;
    uint16_t book_id;
    bool has_drawer_id;
    uint16_t drawer_id;
    bool has_entitlement;
    S390CpuEntitlement entitlement;
    bool has_dedicated;
    bool dedicated;
};

struct q_obj_CPU_POLARIZATION_CHANGE_arg {
    S390CpuPolarization polarization;
};

struct CpuPolarizationInfo {
    S390CpuPolarization polarization;
};

void qapi_free_CpuPolarizationInfo(CpuPolarizationInfo *obj);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(CpuPolarizationInfo, qapi_free_CpuPolarizationInfo)

#endif /* QAPI_TYPES_MACHINE_S390X_H */
