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_COMMON_H
14#define QAPI_TYPES_COMMON_H
15
16#include "qapi/qapi-builtin-types.h"
17
18typedef enum IoOperationType {
19 IO_OPERATION_TYPE_READ,
20 IO_OPERATION_TYPE_WRITE,
21 IO_OPERATION_TYPE__MAX,
22} IoOperationType;
23
24#define IoOperationType_str(val) \
25 qapi_enum_lookup(&IoOperationType_lookup, (val))
26
27extern const QEnumLookup IoOperationType_lookup;
28
29typedef enum OnOffAuto {
30 ON_OFF_AUTO_AUTO,
31 ON_OFF_AUTO_ON,
32 ON_OFF_AUTO_OFF,
33 ON_OFF_AUTO__MAX,
34} OnOffAuto;
35
36#define OnOffAuto_str(val) \
37 qapi_enum_lookup(&OnOffAuto_lookup, (val))
38
39extern const QEnumLookup OnOffAuto_lookup;
40
41typedef enum OnOffSplit {
42 ON_OFF_SPLIT_ON,
43 ON_OFF_SPLIT_OFF,
44 ON_OFF_SPLIT_SPLIT,
45 ON_OFF_SPLIT__MAX,
46} OnOffSplit;
47
48#define OnOffSplit_str(val) \
49 qapi_enum_lookup(&OnOffSplit_lookup, (val))
50
51extern const QEnumLookup OnOffSplit_lookup;
52
53typedef struct String String;
54
55typedef struct StrOrNull StrOrNull;
56
57typedef enum OffAutoPCIBAR {
58 OFF_AUTOPCIBAR_OFF,
59 OFF_AUTOPCIBAR_AUTO,
60 OFF_AUTOPCIBAR_BAR0,
61 OFF_AUTOPCIBAR_BAR1,
62 OFF_AUTOPCIBAR_BAR2,
63 OFF_AUTOPCIBAR_BAR3,
64 OFF_AUTOPCIBAR_BAR4,
65 OFF_AUTOPCIBAR_BAR5,
66 OFF_AUTOPCIBAR__MAX,
67} OffAutoPCIBAR;
68
69#define OffAutoPCIBAR_str(val) \
70 qapi_enum_lookup(&OffAutoPCIBAR_lookup, (val))
71
72extern const QEnumLookup OffAutoPCIBAR_lookup;
73
74typedef enum PCIELinkSpeed {
75 PCIE_LINK_SPEED_2_5,
76 PCIE_LINK_SPEED_5,
77 PCIE_LINK_SPEED_8,
78 PCIE_LINK_SPEED_16,
79 PCIE_LINK_SPEED__MAX,
80} PCIELinkSpeed;
81
82#define PCIELinkSpeed_str(val) \
83 qapi_enum_lookup(&PCIELinkSpeed_lookup, (val))
84
85extern const QEnumLookup PCIELinkSpeed_lookup;
86
87typedef enum PCIELinkWidth {
88 PCIE_LINK_WIDTH_1,
89 PCIE_LINK_WIDTH_2,
90 PCIE_LINK_WIDTH_4,
91 PCIE_LINK_WIDTH_8,
92 PCIE_LINK_WIDTH_12,
93 PCIE_LINK_WIDTH_16,
94 PCIE_LINK_WIDTH_32,
95 PCIE_LINK_WIDTH__MAX,
96} PCIELinkWidth;
97
98#define PCIELinkWidth_str(val) \
99 qapi_enum_lookup(&PCIELinkWidth_lookup, (val))
100
101extern const QEnumLookup PCIELinkWidth_lookup;
102
103typedef struct StringList StringList;
104
105struct String {
106 char *str;
107};
108
109void qapi_free_String(String *obj);
110
111struct StrOrNull {
112 QType type;
113 union { /* union tag is @type */
114 char *s;
115 QNull *n;
116 } u;
117};
118
119void qapi_free_StrOrNull(StrOrNull *obj);
120
121struct StringList {
122 StringList *next;
123 String *value;
124};
125
126void qapi_free_StringList(StringList *obj);
127
128#endif /* QAPI_TYPES_COMMON_H */
129