1/* AUTOMATICALLY GENERATED, DO NOT MODIFY */
2
3/*
4 * Schema-defined QAPI types
5 *
6 * Copyright IBM, Corp. 2011
7 * Copyright (c) 2013-2018 Red Hat Inc.
8 *
9 * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
10 * See the COPYING.LIB file in the top-level directory.
11 */
12
13#ifndef QAPI_TYPES_MISC_TARGET_H
14#define QAPI_TYPES_MISC_TARGET_H
15
16#include "qapi/qapi-builtin-types.h"
17
18#if defined(TARGET_ALPHA) || defined(TARGET_ARM) || defined(TARGET_HPPA) || defined(TARGET_I386) || defined(TARGET_MIPS) || defined(TARGET_MIPS64) || defined(TARGET_MOXIE) || defined(TARGET_PPC) || defined(TARGET_PPC64) || defined(TARGET_S390X) || defined(TARGET_SH4) || defined(TARGET_SPARC)
19typedef struct q_obj_RTC_CHANGE_arg q_obj_RTC_CHANGE_arg;
20#endif /* defined(TARGET_ALPHA) || defined(TARGET_ARM) || defined(TARGET_HPPA) || defined(TARGET_I386) || defined(TARGET_MIPS) || defined(TARGET_MIPS64) || defined(TARGET_MOXIE) || defined(TARGET_PPC) || defined(TARGET_PPC64) || defined(TARGET_S390X) || defined(TARGET_SH4) || defined(TARGET_SPARC) */
21
22#if defined(TARGET_I386)
23typedef enum SevState {
24 SEV_STATE_UNINIT,
25 SEV_STATE_LAUNCH_UPDATE,
26 SEV_STATE_LAUNCH_SECRET,
27 SEV_STATE_RUNNING,
28 SEV_STATE_SEND_UPDATE,
29 SEV_STATE_RECEIVE_UPDATE,
30 SEV_STATE__MAX,
31} SevState;
32
33#define SevState_str(val) \
34 qapi_enum_lookup(&SevState_lookup, (val))
35
36extern const QEnumLookup SevState_lookup;
37#endif /* defined(TARGET_I386) */
38
39#if defined(TARGET_I386)
40typedef struct SevInfo SevInfo;
41#endif /* defined(TARGET_I386) */
42
43#if defined(TARGET_I386)
44typedef struct SevLaunchMeasureInfo SevLaunchMeasureInfo;
45#endif /* defined(TARGET_I386) */
46
47#if defined(TARGET_I386)
48typedef struct SevCapability SevCapability;
49#endif /* defined(TARGET_I386) */
50
51#if defined(TARGET_S390X)
52typedef struct q_obj_dump_skeys_arg q_obj_dump_skeys_arg;
53#endif /* defined(TARGET_S390X) */
54
55#if defined(TARGET_ARM)
56typedef struct GICCapability GICCapability;
57#endif /* defined(TARGET_ARM) */
58
59#if defined(TARGET_ARM)
60typedef struct GICCapabilityList GICCapabilityList;
61#endif /* defined(TARGET_ARM) */
62
63#if defined(TARGET_ALPHA) || defined(TARGET_ARM) || defined(TARGET_HPPA) || defined(TARGET_I386) || defined(TARGET_MIPS) || defined(TARGET_MIPS64) || defined(TARGET_MOXIE) || defined(TARGET_PPC) || defined(TARGET_PPC64) || defined(TARGET_S390X) || defined(TARGET_SH4) || defined(TARGET_SPARC)
64struct q_obj_RTC_CHANGE_arg {
65 int64_t offset;
66};
67#endif /* defined(TARGET_ALPHA) || defined(TARGET_ARM) || defined(TARGET_HPPA) || defined(TARGET_I386) || defined(TARGET_MIPS) || defined(TARGET_MIPS64) || defined(TARGET_MOXIE) || defined(TARGET_PPC) || defined(TARGET_PPC64) || defined(TARGET_S390X) || defined(TARGET_SH4) || defined(TARGET_SPARC) */
68
69#if defined(TARGET_I386)
70struct SevInfo {
71 bool enabled;
72 uint8_t api_major;
73 uint8_t api_minor;
74 uint8_t build_id;
75 uint32_t policy;
76 SevState state;
77 uint32_t handle;
78};
79#endif /* defined(TARGET_I386) */
80
81#if defined(TARGET_I386)
82void qapi_free_SevInfo(SevInfo *obj);
83#endif /* defined(TARGET_I386) */
84
85#if defined(TARGET_I386)
86struct SevLaunchMeasureInfo {
87 char *data;
88};
89#endif /* defined(TARGET_I386) */
90
91#if defined(TARGET_I386)
92void qapi_free_SevLaunchMeasureInfo(SevLaunchMeasureInfo *obj);
93#endif /* defined(TARGET_I386) */
94
95#if defined(TARGET_I386)
96struct SevCapability {
97 char *pdh;
98 char *cert_chain;
99 int64_t cbitpos;
100 int64_t reduced_phys_bits;
101};
102#endif /* defined(TARGET_I386) */
103
104#if defined(TARGET_I386)
105void qapi_free_SevCapability(SevCapability *obj);
106#endif /* defined(TARGET_I386) */
107
108#if defined(TARGET_S390X)
109struct q_obj_dump_skeys_arg {
110 char *filename;
111};
112#endif /* defined(TARGET_S390X) */
113
114#if defined(TARGET_ARM)
115struct GICCapability {
116 int64_t version;
117 bool emulated;
118 bool kernel;
119};
120#endif /* defined(TARGET_ARM) */
121
122#if defined(TARGET_ARM)
123void qapi_free_GICCapability(GICCapability *obj);
124#endif /* defined(TARGET_ARM) */
125
126#if defined(TARGET_ARM)
127struct GICCapabilityList {
128 GICCapabilityList *next;
129 GICCapability *value;
130};
131
132void qapi_free_GICCapabilityList(GICCapabilityList *obj);
133#endif /* defined(TARGET_ARM) */
134
135#endif /* QAPI_TYPES_MISC_TARGET_H */
136