1 // Generated Code - DO NOT EDIT !!
2 // generated by 'emugen'
3 #include <stdio.h>
4 #include <stdlib.h>
5 #include "magma_client_context.h"
6 
7 extern "C" {
8 	magma_status_t magma_device_import(magma_handle_t device_channel, magma_device_t* device_out);
9 	void magma_device_release(magma_device_t device);
10 	magma_status_t magma_device_query(magma_device_t device, uint64_t id, magma_handle_t* result_buffer_out, uint64_t* result_out);
11 	magma_status_t magma_device_create_connection(magma_device_t device, magma_connection_t* connection_out);
12 	void magma_connection_release(magma_connection_t connection);
13 	magma_status_t magma_connection_get_error(magma_connection_t connection);
14 	magma_status_t magma_connection_create_context(magma_connection_t connection, uint32_t* context_id_out);
15 	void magma_connection_release_context(magma_connection_t connection, uint32_t context_id);
16 	magma_status_t magma_connection_create_buffer(magma_connection_t connection, uint64_t size, uint64_t* size_out, magma_buffer_t* buffer_out, magma_buffer_id_t* id_out);
17 	void magma_connection_release_buffer(magma_connection_t connection, magma_buffer_t buffer);
18 	magma_status_t magma_connection_import_buffer(magma_connection_t connection, magma_handle_t buffer_handle, uint64_t* size_out, magma_buffer_t* buffer_out, magma_buffer_id_t* id_out);
19 	magma_status_t magma_connection_create_semaphore(magma_connection_t connection, magma_semaphore_t* semaphore_out, magma_semaphore_id_t* id_out);
20 	void magma_connection_release_semaphore(magma_connection_t connection, magma_semaphore_t semaphore);
21 	magma_status_t magma_connection_import_semaphore(magma_connection_t connection, magma_handle_t semaphore_handle, magma_semaphore_t* semaphore_out, magma_semaphore_id_t* id_out);
22 	magma_status_t magma_connection_perform_buffer_op(magma_connection_t connection, magma_buffer_t buffer, uint32_t options, uint64_t start_offset, uint64_t length);
23 	magma_status_t magma_connection_map_buffer(magma_connection_t connection, uint64_t hw_va, magma_buffer_t buffer, uint64_t offset, uint64_t length, uint64_t map_flags);
24 	void magma_connection_unmap_buffer(magma_connection_t connection, uint64_t hw_va, magma_buffer_t buffer);
25 	magma_status_t magma_connection_execute_command(uint64_t* parameters, uint64_t parameter_count);
26 	magma_status_t magma_connection_execute_immediate_commands(uint64_t* parameters, uint64_t parameter_count);
27 	magma_status_t magma_connection_flush(magma_connection_t connection);
28 	magma_handle_t magma_connection_get_notification_channel_handle(magma_connection_t connection);
29 	magma_status_t magma_connection_read_notification_channel(magma_connection_t connection, void* buffer, uint64_t buffer_size, uint64_t* buffer_size_out, magma_bool_t* more_data_out);
30 	magma_status_t magma_buffer_clean_cache(magma_buffer_t buffer, uint64_t offset, uint64_t size, magma_cache_operation_t operation);
31 	magma_status_t magma_buffer_set_cache_policy(magma_buffer_t buffer, magma_cache_policy_t policy);
32 	magma_status_t magma_buffer_get_cache_policy(magma_buffer_t buffer, magma_cache_policy_t* cache_policy_out);
33 	magma_status_t magma_buffer_set_name(magma_buffer_t buffer, void* name, uint64_t name_size);
34 	magma_status_t magma_buffer_get_info(uint64_t* parameters, uint64_t parameter_count);
35 	magma_status_t magma_buffer_get_handle(magma_buffer_t buffer, magma_handle_t* handle_out);
36 	magma_status_t magma_buffer_export(magma_buffer_t buffer, magma_handle_t* buffer_handle_out);
37 	void magma_semaphore_signal(magma_semaphore_t semaphore);
38 	void magma_semaphore_reset(magma_semaphore_t semaphore);
39 	magma_status_t magma_semaphore_export(magma_semaphore_t semaphore, magma_handle_t* semaphore_handle_out);
40 	magma_status_t magma_poll(magma_poll_item_t* items, uint32_t count, uint64_t timeout_ns);
41 	magma_status_t magma_initialize_tracing(magma_handle_t channel);
42 	magma_status_t magma_initialize_logging(magma_handle_t channel);
43 	magma_status_t magma_connection_enable_performance_counter_access(magma_connection_t connection, magma_handle_t channel);
44 	magma_status_t magma_connection_enable_performance_counters(magma_connection_t connection, uint64_t* counters, uint64_t counters_count);
45 	magma_status_t magma_connection_create_performance_counter_buffer_pool(magma_connection_t connection, magma_perf_count_pool_t* pool_id_out, magma_handle_t* notification_handle_out);
46 	magma_status_t magma_connection_release_performance_counter_buffer_pool(magma_connection_t connection, magma_perf_count_pool_t pool_id);
47 	magma_status_t magma_connection_add_performance_counter_buffer_offsets_to_pool(uint64_t* parameters, uint64_t parameter_count);
48 	magma_status_t magma_connection_remove_performance_counter_buffer_from_pool(magma_connection_t connection, magma_perf_count_pool_t pool_id, magma_buffer_t buffer);
49 	magma_status_t magma_connection_dump_performance_counters(magma_connection_t connection, magma_perf_count_pool_t pool_id, uint32_t trigger_id);
50 	magma_status_t magma_connection_clear_performance_counters(magma_connection_t connection, uint64_t* counters, uint64_t counters_count);
51 	magma_status_t magma_connection_read_performance_counter_completion(magma_connection_t connection, magma_perf_count_pool_t pool_id, uint32_t* trigger_id_out, uint64_t* buffer_id_out, uint32_t* buffer_offset_out, uint64_t* time_out, uint32_t* result_flags_out);
52 	magma_status_t magma_virt_connection_create_image(uint64_t* parameters, uint64_t parameter_count);
53 	magma_status_t magma_virt_connection_get_image_info(uint64_t* parameters, uint64_t parameter_count);
54 };
55 
56 #ifndef GET_CONTEXT
57 static magma_client_context_t::CONTEXT_ACCESSOR_TYPE *getCurrentContext = NULL;
setContextAccessor(CONTEXT_ACCESSOR_TYPE * f)58 void magma_client_context_t::setContextAccessor(CONTEXT_ACCESSOR_TYPE *f) { getCurrentContext = f; }
59 #define GET_CONTEXT magma_client_context_t * ctx = getCurrentContext()
60 #endif
61 
magma_device_import(magma_handle_t device_channel,magma_device_t * device_out)62 magma_status_t magma_device_import(magma_handle_t device_channel, magma_device_t* device_out)
63 {
64 	GET_CONTEXT;
65 	return ctx->magma_device_import(ctx, device_channel, device_out);
66 }
67 
magma_device_release(magma_device_t device)68 void magma_device_release(magma_device_t device)
69 {
70 	GET_CONTEXT;
71 	ctx->magma_device_release(ctx, device);
72 }
73 
magma_device_query(magma_device_t device,uint64_t id,magma_handle_t * result_buffer_out,uint64_t * result_out)74 magma_status_t magma_device_query(magma_device_t device, uint64_t id, magma_handle_t* result_buffer_out, uint64_t* result_out)
75 {
76 	GET_CONTEXT;
77 	return ctx->magma_device_query(ctx, device, id, result_buffer_out, result_out);
78 }
79 
magma_device_create_connection(magma_device_t device,magma_connection_t * connection_out)80 magma_status_t magma_device_create_connection(magma_device_t device, magma_connection_t* connection_out)
81 {
82 	GET_CONTEXT;
83 	return ctx->magma_device_create_connection(ctx, device, connection_out);
84 }
85 
magma_connection_release(magma_connection_t connection)86 void magma_connection_release(magma_connection_t connection)
87 {
88 	GET_CONTEXT;
89 	ctx->magma_connection_release(ctx, connection);
90 }
91 
magma_connection_get_error(magma_connection_t connection)92 magma_status_t magma_connection_get_error(magma_connection_t connection)
93 {
94 	GET_CONTEXT;
95 	return ctx->magma_connection_get_error(ctx, connection);
96 }
97 
magma_connection_create_context(magma_connection_t connection,uint32_t * context_id_out)98 magma_status_t magma_connection_create_context(magma_connection_t connection, uint32_t* context_id_out)
99 {
100 	GET_CONTEXT;
101 	return ctx->magma_connection_create_context(ctx, connection, context_id_out);
102 }
103 
magma_connection_release_context(magma_connection_t connection,uint32_t context_id)104 void magma_connection_release_context(magma_connection_t connection, uint32_t context_id)
105 {
106 	GET_CONTEXT;
107 	ctx->magma_connection_release_context(ctx, connection, context_id);
108 }
109 
magma_connection_create_buffer(magma_connection_t connection,uint64_t size,uint64_t * size_out,magma_buffer_t * buffer_out,magma_buffer_id_t * id_out)110 magma_status_t magma_connection_create_buffer(magma_connection_t connection, uint64_t size, uint64_t* size_out, magma_buffer_t* buffer_out, magma_buffer_id_t* id_out)
111 {
112 	GET_CONTEXT;
113 	return ctx->magma_connection_create_buffer(ctx, connection, size, size_out, buffer_out, id_out);
114 }
115 
magma_connection_release_buffer(magma_connection_t connection,magma_buffer_t buffer)116 void magma_connection_release_buffer(magma_connection_t connection, magma_buffer_t buffer)
117 {
118 	GET_CONTEXT;
119 	ctx->magma_connection_release_buffer(ctx, connection, buffer);
120 }
121 
magma_connection_import_buffer(magma_connection_t connection,magma_handle_t buffer_handle,uint64_t * size_out,magma_buffer_t * buffer_out,magma_buffer_id_t * id_out)122 magma_status_t magma_connection_import_buffer(magma_connection_t connection, magma_handle_t buffer_handle, uint64_t* size_out, magma_buffer_t* buffer_out, magma_buffer_id_t* id_out)
123 {
124 	GET_CONTEXT;
125 	return ctx->magma_connection_import_buffer(ctx, connection, buffer_handle, size_out, buffer_out, id_out);
126 }
127 
magma_connection_create_semaphore(magma_connection_t connection,magma_semaphore_t * semaphore_out,magma_semaphore_id_t * id_out)128 magma_status_t magma_connection_create_semaphore(magma_connection_t connection, magma_semaphore_t* semaphore_out, magma_semaphore_id_t* id_out)
129 {
130 	GET_CONTEXT;
131 	return ctx->magma_connection_create_semaphore(ctx, connection, semaphore_out, id_out);
132 }
133 
magma_connection_release_semaphore(magma_connection_t connection,magma_semaphore_t semaphore)134 void magma_connection_release_semaphore(magma_connection_t connection, magma_semaphore_t semaphore)
135 {
136 	GET_CONTEXT;
137 	ctx->magma_connection_release_semaphore(ctx, connection, semaphore);
138 }
139 
magma_connection_import_semaphore(magma_connection_t connection,magma_handle_t semaphore_handle,magma_semaphore_t * semaphore_out,magma_semaphore_id_t * id_out)140 magma_status_t magma_connection_import_semaphore(magma_connection_t connection, magma_handle_t semaphore_handle, magma_semaphore_t* semaphore_out, magma_semaphore_id_t* id_out)
141 {
142 	GET_CONTEXT;
143 	return ctx->magma_connection_import_semaphore(ctx, connection, semaphore_handle, semaphore_out, id_out);
144 }
145 
magma_connection_perform_buffer_op(magma_connection_t connection,magma_buffer_t buffer,uint32_t options,uint64_t start_offset,uint64_t length)146 magma_status_t magma_connection_perform_buffer_op(magma_connection_t connection, magma_buffer_t buffer, uint32_t options, uint64_t start_offset, uint64_t length)
147 {
148 	GET_CONTEXT;
149 	return ctx->magma_connection_perform_buffer_op(ctx, connection, buffer, options, start_offset, length);
150 }
151 
magma_connection_map_buffer(magma_connection_t connection,uint64_t hw_va,magma_buffer_t buffer,uint64_t offset,uint64_t length,uint64_t map_flags)152 magma_status_t magma_connection_map_buffer(magma_connection_t connection, uint64_t hw_va, magma_buffer_t buffer, uint64_t offset, uint64_t length, uint64_t map_flags)
153 {
154 	GET_CONTEXT;
155 	return ctx->magma_connection_map_buffer(ctx, connection, hw_va, buffer, offset, length, map_flags);
156 }
157 
magma_connection_unmap_buffer(magma_connection_t connection,uint64_t hw_va,magma_buffer_t buffer)158 void magma_connection_unmap_buffer(magma_connection_t connection, uint64_t hw_va, magma_buffer_t buffer)
159 {
160 	GET_CONTEXT;
161 	ctx->magma_connection_unmap_buffer(ctx, connection, hw_va, buffer);
162 }
163 
magma_connection_execute_command(uint64_t * parameters,uint64_t parameter_count)164 magma_status_t magma_connection_execute_command(uint64_t* parameters, uint64_t parameter_count)
165 {
166 	GET_CONTEXT;
167 	return ctx->magma_connection_execute_command(ctx, parameters, parameter_count);
168 }
169 
magma_connection_execute_immediate_commands(uint64_t * parameters,uint64_t parameter_count)170 magma_status_t magma_connection_execute_immediate_commands(uint64_t* parameters, uint64_t parameter_count)
171 {
172 	GET_CONTEXT;
173 	return ctx->magma_connection_execute_immediate_commands(ctx, parameters, parameter_count);
174 }
175 
magma_connection_flush(magma_connection_t connection)176 magma_status_t magma_connection_flush(magma_connection_t connection)
177 {
178 	GET_CONTEXT;
179 	return ctx->magma_connection_flush(ctx, connection);
180 }
181 
magma_connection_get_notification_channel_handle(magma_connection_t connection)182 magma_handle_t magma_connection_get_notification_channel_handle(magma_connection_t connection)
183 {
184 	GET_CONTEXT;
185 	return ctx->magma_connection_get_notification_channel_handle(ctx, connection);
186 }
187 
magma_connection_read_notification_channel(magma_connection_t connection,void * buffer,uint64_t buffer_size,uint64_t * buffer_size_out,magma_bool_t * more_data_out)188 magma_status_t magma_connection_read_notification_channel(magma_connection_t connection, void* buffer, uint64_t buffer_size, uint64_t* buffer_size_out, magma_bool_t* more_data_out)
189 {
190 	GET_CONTEXT;
191 	return ctx->magma_connection_read_notification_channel(ctx, connection, buffer, buffer_size, buffer_size_out, more_data_out);
192 }
193 
magma_buffer_clean_cache(magma_buffer_t buffer,uint64_t offset,uint64_t size,magma_cache_operation_t operation)194 magma_status_t magma_buffer_clean_cache(magma_buffer_t buffer, uint64_t offset, uint64_t size, magma_cache_operation_t operation)
195 {
196 	GET_CONTEXT;
197 	return ctx->magma_buffer_clean_cache(ctx, buffer, offset, size, operation);
198 }
199 
magma_buffer_set_cache_policy(magma_buffer_t buffer,magma_cache_policy_t policy)200 magma_status_t magma_buffer_set_cache_policy(magma_buffer_t buffer, magma_cache_policy_t policy)
201 {
202 	GET_CONTEXT;
203 	return ctx->magma_buffer_set_cache_policy(ctx, buffer, policy);
204 }
205 
magma_buffer_get_cache_policy(magma_buffer_t buffer,magma_cache_policy_t * cache_policy_out)206 magma_status_t magma_buffer_get_cache_policy(magma_buffer_t buffer, magma_cache_policy_t* cache_policy_out)
207 {
208 	GET_CONTEXT;
209 	return ctx->magma_buffer_get_cache_policy(ctx, buffer, cache_policy_out);
210 }
211 
magma_buffer_set_name(magma_buffer_t buffer,void * name,uint64_t name_size)212 magma_status_t magma_buffer_set_name(magma_buffer_t buffer, void* name, uint64_t name_size)
213 {
214 	GET_CONTEXT;
215 	return ctx->magma_buffer_set_name(ctx, buffer, name, name_size);
216 }
217 
magma_buffer_get_info(uint64_t * parameters,uint64_t parameter_count)218 magma_status_t magma_buffer_get_info(uint64_t* parameters, uint64_t parameter_count)
219 {
220 	GET_CONTEXT;
221 	return ctx->magma_buffer_get_info(ctx, parameters, parameter_count);
222 }
223 
magma_buffer_get_handle(magma_buffer_t buffer,magma_handle_t * handle_out)224 magma_status_t magma_buffer_get_handle(magma_buffer_t buffer, magma_handle_t* handle_out)
225 {
226 	GET_CONTEXT;
227 	return ctx->magma_buffer_get_handle(ctx, buffer, handle_out);
228 }
229 
magma_buffer_export(magma_buffer_t buffer,magma_handle_t * buffer_handle_out)230 magma_status_t magma_buffer_export(magma_buffer_t buffer, magma_handle_t* buffer_handle_out)
231 {
232 	GET_CONTEXT;
233 	return ctx->magma_buffer_export(ctx, buffer, buffer_handle_out);
234 }
235 
magma_semaphore_signal(magma_semaphore_t semaphore)236 void magma_semaphore_signal(magma_semaphore_t semaphore)
237 {
238 	GET_CONTEXT;
239 	ctx->magma_semaphore_signal(ctx, semaphore);
240 }
241 
magma_semaphore_reset(magma_semaphore_t semaphore)242 void magma_semaphore_reset(magma_semaphore_t semaphore)
243 {
244 	GET_CONTEXT;
245 	ctx->magma_semaphore_reset(ctx, semaphore);
246 }
247 
magma_semaphore_export(magma_semaphore_t semaphore,magma_handle_t * semaphore_handle_out)248 magma_status_t magma_semaphore_export(magma_semaphore_t semaphore, magma_handle_t* semaphore_handle_out)
249 {
250 	GET_CONTEXT;
251 	return ctx->magma_semaphore_export(ctx, semaphore, semaphore_handle_out);
252 }
253 
magma_poll(magma_poll_item_t * items,uint32_t count,uint64_t timeout_ns)254 magma_status_t magma_poll(magma_poll_item_t* items, uint32_t count, uint64_t timeout_ns)
255 {
256 	GET_CONTEXT;
257 	return ctx->magma_poll(ctx, items, count, timeout_ns);
258 }
259 
magma_initialize_tracing(magma_handle_t channel)260 magma_status_t magma_initialize_tracing(magma_handle_t channel)
261 {
262 	GET_CONTEXT;
263 	return ctx->magma_initialize_tracing(ctx, channel);
264 }
265 
magma_initialize_logging(magma_handle_t channel)266 magma_status_t magma_initialize_logging(magma_handle_t channel)
267 {
268 	GET_CONTEXT;
269 	return ctx->magma_initialize_logging(ctx, channel);
270 }
271 
magma_connection_enable_performance_counter_access(magma_connection_t connection,magma_handle_t channel)272 magma_status_t magma_connection_enable_performance_counter_access(magma_connection_t connection, magma_handle_t channel)
273 {
274 	GET_CONTEXT;
275 	return ctx->magma_connection_enable_performance_counter_access(ctx, connection, channel);
276 }
277 
magma_connection_enable_performance_counters(magma_connection_t connection,uint64_t * counters,uint64_t counters_count)278 magma_status_t magma_connection_enable_performance_counters(magma_connection_t connection, uint64_t* counters, uint64_t counters_count)
279 {
280 	GET_CONTEXT;
281 	return ctx->magma_connection_enable_performance_counters(ctx, connection, counters, counters_count);
282 }
283 
magma_connection_create_performance_counter_buffer_pool(magma_connection_t connection,magma_perf_count_pool_t * pool_id_out,magma_handle_t * notification_handle_out)284 magma_status_t magma_connection_create_performance_counter_buffer_pool(magma_connection_t connection, magma_perf_count_pool_t* pool_id_out, magma_handle_t* notification_handle_out)
285 {
286 	GET_CONTEXT;
287 	return ctx->magma_connection_create_performance_counter_buffer_pool(ctx, connection, pool_id_out, notification_handle_out);
288 }
289 
magma_connection_release_performance_counter_buffer_pool(magma_connection_t connection,magma_perf_count_pool_t pool_id)290 magma_status_t magma_connection_release_performance_counter_buffer_pool(magma_connection_t connection, magma_perf_count_pool_t pool_id)
291 {
292 	GET_CONTEXT;
293 	return ctx->magma_connection_release_performance_counter_buffer_pool(ctx, connection, pool_id);
294 }
295 
magma_connection_add_performance_counter_buffer_offsets_to_pool(uint64_t * parameters,uint64_t parameter_count)296 magma_status_t magma_connection_add_performance_counter_buffer_offsets_to_pool(uint64_t* parameters, uint64_t parameter_count)
297 {
298 	GET_CONTEXT;
299 	return ctx->magma_connection_add_performance_counter_buffer_offsets_to_pool(ctx, parameters, parameter_count);
300 }
301 
magma_connection_remove_performance_counter_buffer_from_pool(magma_connection_t connection,magma_perf_count_pool_t pool_id,magma_buffer_t buffer)302 magma_status_t magma_connection_remove_performance_counter_buffer_from_pool(magma_connection_t connection, magma_perf_count_pool_t pool_id, magma_buffer_t buffer)
303 {
304 	GET_CONTEXT;
305 	return ctx->magma_connection_remove_performance_counter_buffer_from_pool(ctx, connection, pool_id, buffer);
306 }
307 
magma_connection_dump_performance_counters(magma_connection_t connection,magma_perf_count_pool_t pool_id,uint32_t trigger_id)308 magma_status_t magma_connection_dump_performance_counters(magma_connection_t connection, magma_perf_count_pool_t pool_id, uint32_t trigger_id)
309 {
310 	GET_CONTEXT;
311 	return ctx->magma_connection_dump_performance_counters(ctx, connection, pool_id, trigger_id);
312 }
313 
magma_connection_clear_performance_counters(magma_connection_t connection,uint64_t * counters,uint64_t counters_count)314 magma_status_t magma_connection_clear_performance_counters(magma_connection_t connection, uint64_t* counters, uint64_t counters_count)
315 {
316 	GET_CONTEXT;
317 	return ctx->magma_connection_clear_performance_counters(ctx, connection, counters, counters_count);
318 }
319 
magma_connection_read_performance_counter_completion(magma_connection_t connection,magma_perf_count_pool_t pool_id,uint32_t * trigger_id_out,uint64_t * buffer_id_out,uint32_t * buffer_offset_out,uint64_t * time_out,uint32_t * result_flags_out)320 magma_status_t magma_connection_read_performance_counter_completion(magma_connection_t connection, magma_perf_count_pool_t pool_id, uint32_t* trigger_id_out, uint64_t* buffer_id_out, uint32_t* buffer_offset_out, uint64_t* time_out, uint32_t* result_flags_out)
321 {
322 	GET_CONTEXT;
323 	return ctx->magma_connection_read_performance_counter_completion(ctx, connection, pool_id, trigger_id_out, buffer_id_out, buffer_offset_out, time_out, result_flags_out);
324 }
325 
magma_virt_connection_create_image(uint64_t * parameters,uint64_t parameter_count)326 magma_status_t magma_virt_connection_create_image(uint64_t* parameters, uint64_t parameter_count)
327 {
328 	GET_CONTEXT;
329 	return ctx->magma_virt_connection_create_image(ctx, parameters, parameter_count);
330 }
331 
magma_virt_connection_get_image_info(uint64_t * parameters,uint64_t parameter_count)332 magma_status_t magma_virt_connection_get_image_info(uint64_t* parameters, uint64_t parameter_count)
333 {
334 	GET_CONTEXT;
335 	return ctx->magma_virt_connection_get_image_info(ctx, parameters, parameter_count);
336 }
337 
338