Revision b6c4f71f hw/hw.h
b/hw/hw.h | ||
---|---|---|
39 | 39 |
int qemu_fclose(QEMUFile *f); |
40 | 40 |
void qemu_put_buffer(QEMUFile *f, const uint8_t *buf, int size); |
41 | 41 |
void qemu_put_byte(QEMUFile *f, int v); |
42 |
|
|
43 |
static inline void qemu_put_ubyte(QEMUFile *f, unsigned int v) |
|
44 |
{ |
|
45 |
qemu_put_byte(f, (int)v); |
|
46 |
} |
|
47 |
|
|
48 |
#define qemu_put_sbyte qemu_put_byte |
|
49 |
|
|
42 | 50 |
void qemu_put_be16(QEMUFile *f, unsigned int v); |
43 | 51 |
void qemu_put_be32(QEMUFile *f, unsigned int v); |
44 | 52 |
void qemu_put_be64(QEMUFile *f, uint64_t v); |
45 | 53 |
int qemu_get_buffer(QEMUFile *f, uint8_t *buf, int size); |
46 | 54 |
int qemu_get_byte(QEMUFile *f); |
55 |
|
|
56 |
static inline unsigned int qemu_get_ubyte(QEMUFile *f) |
|
57 |
{ |
|
58 |
return (unsigned int)qemu_get_byte(f); |
|
59 |
} |
|
60 |
|
|
61 |
#define qemu_get_sbyte qemu_get_byte |
|
62 |
|
|
47 | 63 |
unsigned int qemu_get_be16(QEMUFile *f); |
48 | 64 |
unsigned int qemu_get_be32(QEMUFile *f); |
49 | 65 |
uint64_t qemu_get_be64(QEMUFile *f); |
... | ... | |
94 | 110 |
*pv = qemu_get_byte(f); |
95 | 111 |
} |
96 | 112 |
|
113 |
// Signed versions for type safety |
|
114 |
static inline void qemu_put_sbuffer(QEMUFile *f, const int8_t *buf, int size) |
|
115 |
{ |
|
116 |
qemu_put_buffer(f, (const uint8_t *)buf, size); |
|
117 |
} |
|
118 |
|
|
119 |
static inline void qemu_put_sbe16(QEMUFile *f, int v) |
|
120 |
{ |
|
121 |
qemu_put_be16(f, (unsigned int)v); |
|
122 |
} |
|
123 |
|
|
124 |
static inline void qemu_put_sbe32(QEMUFile *f, int v) |
|
125 |
{ |
|
126 |
qemu_put_be32(f, (unsigned int)v); |
|
127 |
} |
|
128 |
|
|
129 |
static inline void qemu_put_sbe64(QEMUFile *f, int64_t v) |
|
130 |
{ |
|
131 |
qemu_put_be64(f, (uint64_t)v); |
|
132 |
} |
|
133 |
|
|
134 |
static inline size_t qemu_get_sbuffer(QEMUFile *f, int8_t *buf, int size) |
|
135 |
{ |
|
136 |
return qemu_get_buffer(f, (uint8_t *)buf, size); |
|
137 |
} |
|
138 |
|
|
139 |
static inline int qemu_get_sbe16(QEMUFile *f) |
|
140 |
{ |
|
141 |
return (int)qemu_get_be16(f); |
|
142 |
} |
|
143 |
|
|
144 |
static inline int qemu_get_sbe32(QEMUFile *f) |
|
145 |
{ |
|
146 |
return (int)qemu_get_be32(f); |
|
147 |
} |
|
148 |
|
|
149 |
static inline int64_t qemu_get_sbe64(QEMUFile *f) |
|
150 |
{ |
|
151 |
return (int64_t)qemu_get_be64(f); |
|
152 |
} |
|
153 |
|
|
154 |
static inline void qemu_put_s8s(QEMUFile *f, const int8_t *pv) |
|
155 |
{ |
|
156 |
qemu_put_8s(f, (const uint8_t *)pv); |
|
157 |
} |
|
158 |
|
|
159 |
static inline void qemu_put_sbe16s(QEMUFile *f, const int16_t *pv) |
|
160 |
{ |
|
161 |
qemu_put_be16s(f, (const uint16_t *)pv); |
|
162 |
} |
|
163 |
|
|
164 |
static inline void qemu_put_sbe32s(QEMUFile *f, const int32_t *pv) |
|
165 |
{ |
|
166 |
qemu_put_be32s(f, (const uint32_t *)pv); |
|
167 |
} |
|
168 |
|
|
169 |
static inline void qemu_put_sbe64s(QEMUFile *f, const int64_t *pv) |
|
170 |
{ |
|
171 |
qemu_put_be64s(f, (const uint64_t *)pv); |
|
172 |
} |
|
173 |
|
|
174 |
static inline void qemu_get_s8s(QEMUFile *f, int8_t *pv) |
|
175 |
{ |
|
176 |
qemu_get_8s(f, (uint8_t *)pv); |
|
177 |
} |
|
178 |
|
|
179 |
static inline void qemu_get_sbe16s(QEMUFile *f, int16_t *pv) |
|
180 |
{ |
|
181 |
qemu_get_be16s(f, (uint16_t *)pv); |
|
182 |
} |
|
183 |
|
|
184 |
static inline void qemu_get_sbe32s(QEMUFile *f, int32_t *pv) |
|
185 |
{ |
|
186 |
qemu_get_be32s(f, (uint32_t *)pv); |
|
187 |
} |
|
188 |
|
|
189 |
static inline void qemu_get_sbe64s(QEMUFile *f, int64_t *pv) |
|
190 |
{ |
|
191 |
qemu_get_be64s(f, (uint64_t *)pv); |
|
192 |
} |
|
193 |
|
|
97 | 194 |
#ifdef NEED_CPU_H |
98 | 195 |
#if TARGET_LONG_BITS == 64 |
99 | 196 |
#define qemu_put_betl qemu_put_be64 |
100 | 197 |
#define qemu_get_betl qemu_get_be64 |
101 | 198 |
#define qemu_put_betls qemu_put_be64s |
102 | 199 |
#define qemu_get_betls qemu_get_be64s |
200 |
#define qemu_put_sbetl qemu_put_sbe64 |
|
201 |
#define qemu_get_sbetl qemu_get_sbe64 |
|
202 |
#define qemu_put_sbetls qemu_put_sbe64s |
|
203 |
#define qemu_get_sbetls qemu_get_sbe64s |
|
103 | 204 |
#else |
104 | 205 |
#define qemu_put_betl qemu_put_be32 |
105 | 206 |
#define qemu_get_betl qemu_get_be32 |
106 | 207 |
#define qemu_put_betls qemu_put_be32s |
107 | 208 |
#define qemu_get_betls qemu_get_be32s |
209 |
#define qemu_put_sbetl qemu_put_sbe32 |
|
210 |
#define qemu_get_sbetl qemu_get_sbe32 |
|
211 |
#define qemu_put_sbetls qemu_put_sbe32s |
|
212 |
#define qemu_get_sbetls qemu_get_sbe32s |
|
108 | 213 |
#endif |
109 | 214 |
#endif |
110 | 215 |
|
Also available in: Unified diff