emscripten_functions_sys/
emscripten.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
/* automatically generated by rust-bindgen 0.66.1 */

pub const LONG_CODE: u8 = 105u8;
pub const EM_TRUE: u32 = 1;
pub const EM_FALSE: u32 = 0;
pub const EMSCRIPTEN_RESULT_SUCCESS: u32 = 0;
pub const EMSCRIPTEN_RESULT_DEFERRED: u32 = 1;
pub const EMSCRIPTEN_RESULT_NOT_SUPPORTED: i32 = -1;
pub const EMSCRIPTEN_RESULT_FAILED_NOT_DEFERRED: i32 = -2;
pub const EMSCRIPTEN_RESULT_INVALID_TARGET: i32 = -3;
pub const EMSCRIPTEN_RESULT_UNKNOWN_TARGET: i32 = -4;
pub const EMSCRIPTEN_RESULT_INVALID_PARAM: i32 = -5;
pub const EMSCRIPTEN_RESULT_FAILED: i32 = -6;
pub const EMSCRIPTEN_RESULT_NO_DATA: i32 = -7;
pub const EMSCRIPTEN_RESULT_TIMED_OUT: i32 = -8;
pub const __EMSCRIPTEN_major__: u32 = 3;
pub const __EMSCRIPTEN_minor__: u32 = 1;
pub const __EMSCRIPTEN_tiny__: u32 = 67;
pub const EM_TIMING_SETTIMEOUT: u32 = 0;
pub const EM_TIMING_RAF: u32 = 1;
pub const EM_TIMING_SETIMMEDIATE: u32 = 2;
pub const EM_LOG_CONSOLE: u32 = 1;
pub const EM_LOG_WARN: u32 = 2;
pub const EM_LOG_ERROR: u32 = 4;
pub const EM_LOG_C_STACK: u32 = 8;
pub const EM_LOG_JS_STACK: u32 = 16;
pub const EM_LOG_DEMANGLE: u32 = 32;
pub const EM_LOG_NO_PATHS: u32 = 64;
pub const EM_LOG_FUNC_PARAMS: u32 = 128;
pub const EM_LOG_DEBUG: u32 = 256;
pub const EM_LOG_INFO: u32 = 512;
extern "C" {
    pub fn emscripten_asm_const_int(
        code: *const ::std::os::raw::c_char,
        arg_sigs: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn emscripten_asm_const_ptr(
        code: *const ::std::os::raw::c_char,
        arg_sigs: *const ::std::os::raw::c_char,
        ...
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn emscripten_asm_const_double(
        code: *const ::std::os::raw::c_char,
        arg_sigs: *const ::std::os::raw::c_char,
        ...
    ) -> f64;
}
extern "C" {
    pub fn emscripten_asm_const_int_sync_on_main_thread(
        code: *const ::std::os::raw::c_char,
        arg_sigs: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn emscripten_asm_const_ptr_sync_on_main_thread(
        code: *const ::std::os::raw::c_char,
        arg_sigs: *const ::std::os::raw::c_char,
        ...
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn emscripten_asm_const_double_sync_on_main_thread(
        code: *const ::std::os::raw::c_char,
        arg_sigs: *const ::std::os::raw::c_char,
        ...
    ) -> f64;
}
extern "C" {
    pub fn emscripten_asm_const_async_on_main_thread(
        code: *const ::std::os::raw::c_char,
        arg_sigs: *const ::std::os::raw::c_char,
        ...
    );
}
pub type emscripten_align1_short = ::std::os::raw::c_short;
pub type emscripten_align4_int64 = ::std::os::raw::c_longlong;
pub type emscripten_align2_int64 = ::std::os::raw::c_longlong;
pub type emscripten_align1_int64 = ::std::os::raw::c_longlong;
pub type emscripten_align2_int = ::std::os::raw::c_int;
pub type emscripten_align1_int = ::std::os::raw::c_int;
pub type emscripten_align2_float = f32;
pub type emscripten_align1_float = f32;
pub type emscripten_align4_double = f64;
pub type emscripten_align2_double = f64;
pub type emscripten_align1_double = f64;
pub type em_callback_func = ::std::option::Option<unsafe extern "C" fn()>;
pub type em_arg_callback_func =
    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
pub type em_str_callback_func =
    ::std::option::Option<unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char)>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _em_promise {
    _unused: [u8; 0],
}
pub type em_promise_t = *mut _em_promise;
pub const em_promise_result_t_EM_PROMISE_FULFILL: em_promise_result_t = 0;
pub const em_promise_result_t_EM_PROMISE_MATCH: em_promise_result_t = 1;
pub const em_promise_result_t_EM_PROMISE_MATCH_RELEASE: em_promise_result_t = 2;
pub const em_promise_result_t_EM_PROMISE_REJECT: em_promise_result_t = 3;
pub type em_promise_result_t = ::std::os::raw::c_uint;
pub type em_promise_callback_t = ::std::option::Option<
    unsafe extern "C" fn(
        result: *mut *mut ::std::os::raw::c_void,
        data: *mut ::std::os::raw::c_void,
        value: *mut ::std::os::raw::c_void,
    ) -> em_promise_result_t,
>;
extern "C" {
    pub fn emscripten_promise_create() -> em_promise_t;
}
extern "C" {
    pub fn emscripten_promise_destroy(promise: em_promise_t);
}
extern "C" {
    pub fn emscripten_promise_resolve(
        promise: em_promise_t,
        result: em_promise_result_t,
        value: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn emscripten_promise_then(
        promise: em_promise_t,
        on_fulfilled: em_promise_callback_t,
        on_rejected: em_promise_callback_t,
        data: *mut ::std::os::raw::c_void,
    ) -> em_promise_t;
}
extern "C" {
    pub fn emscripten_promise_all(
        promises: *mut em_promise_t,
        results: *mut *mut ::std::os::raw::c_void,
        num_promises: usize,
    ) -> em_promise_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct em_settled_result_t {
    pub result: em_promise_result_t,
    pub value: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout_em_settled_result_t() {
    const UNINIT: ::std::mem::MaybeUninit<em_settled_result_t> = ::std::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::std::mem::size_of::<em_settled_result_t>(),
        16usize,
        concat!("Size of: ", stringify!(em_settled_result_t))
    );
    assert_eq!(
        ::std::mem::align_of::<em_settled_result_t>(),
        8usize,
        concat!("Alignment of ", stringify!(em_settled_result_t))
    );
    assert_eq!(
        unsafe { ::std::ptr::addr_of!((*ptr).result) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(em_settled_result_t),
            "::",
            stringify!(result)
        )
    );
    assert_eq!(
        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(em_settled_result_t),
            "::",
            stringify!(value)
        )
    );
}
extern "C" {
    pub fn emscripten_promise_all_settled(
        promises: *mut em_promise_t,
        results: *mut em_settled_result_t,
        num_promises: usize,
    ) -> em_promise_t;
}
extern "C" {
    pub fn emscripten_promise_any(
        promises: *mut em_promise_t,
        errors: *mut *mut ::std::os::raw::c_void,
        num_promises: usize,
    ) -> em_promise_t;
}
extern "C" {
    pub fn emscripten_promise_race(
        promises: *mut em_promise_t,
        num_promises: usize,
    ) -> em_promise_t;
}
extern "C" {
    pub fn emscripten_promise_await(promise: em_promise_t) -> em_settled_result_t;
}
extern "C" {
    pub fn emscripten_async_wget(
        url: *const ::std::os::raw::c_char,
        file: *const ::std::os::raw::c_char,
        onload: em_str_callback_func,
        onerror: em_str_callback_func,
    );
}
pub type em_async_wget_onload_func = ::std::option::Option<
    unsafe extern "C" fn(
        userdata: *mut ::std::os::raw::c_void,
        data: *mut ::std::os::raw::c_void,
        size: ::std::os::raw::c_int,
    ),
>;
extern "C" {
    pub fn emscripten_async_wget_data(
        url: *const ::std::os::raw::c_char,
        userdata: *mut ::std::os::raw::c_void,
        onload: em_async_wget_onload_func,
        onerror: em_arg_callback_func,
    );
}
pub type em_async_wget2_onload_func = ::std::option::Option<
    unsafe extern "C" fn(
        handle: ::std::os::raw::c_uint,
        userdata: *mut ::std::os::raw::c_void,
        data: *const ::std::os::raw::c_char,
    ),
>;
pub type em_async_wget2_onstatus_func = ::std::option::Option<
    unsafe extern "C" fn(
        handle: ::std::os::raw::c_uint,
        userdata: *mut ::std::os::raw::c_void,
        status: ::std::os::raw::c_int,
    ),
>;
extern "C" {
    pub fn emscripten_async_wget2(
        url: *const ::std::os::raw::c_char,
        file: *const ::std::os::raw::c_char,
        requesttype: *const ::std::os::raw::c_char,
        param: *const ::std::os::raw::c_char,
        userdata: *mut ::std::os::raw::c_void,
        onload: em_async_wget2_onload_func,
        onerror: em_async_wget2_onstatus_func,
        onprogress: em_async_wget2_onstatus_func,
    ) -> ::std::os::raw::c_int;
}
pub type em_async_wget2_data_onload_func = ::std::option::Option<
    unsafe extern "C" fn(
        handle: ::std::os::raw::c_uint,
        userdata: *mut ::std::os::raw::c_void,
        data: *mut ::std::os::raw::c_void,
        size: ::std::os::raw::c_uint,
    ),
>;
pub type em_async_wget2_data_onerror_func = ::std::option::Option<
    unsafe extern "C" fn(
        handle: ::std::os::raw::c_uint,
        userdata: *mut ::std::os::raw::c_void,
        status: ::std::os::raw::c_int,
        status_text: *const ::std::os::raw::c_char,
    ),
>;
pub type em_async_wget2_data_onprogress_func = ::std::option::Option<
    unsafe extern "C" fn(
        handle: ::std::os::raw::c_uint,
        userdata: *mut ::std::os::raw::c_void,
        loaded: ::std::os::raw::c_int,
        total: ::std::os::raw::c_int,
    ),
>;
extern "C" {
    pub fn emscripten_async_wget2_data(
        url: *const ::std::os::raw::c_char,
        requesttype: *const ::std::os::raw::c_char,
        param: *const ::std::os::raw::c_char,
        arg: *mut ::std::os::raw::c_void,
        free: ::std::os::raw::c_int,
        onload: em_async_wget2_data_onload_func,
        onerror: em_async_wget2_data_onerror_func,
        onprogress: em_async_wget2_data_onprogress_func,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn emscripten_async_wget2_abort(handle: ::std::os::raw::c_int);
}
extern "C" {
    pub fn emscripten_wget(
        url: *const ::std::os::raw::c_char,
        file: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn emscripten_wget_data(
        url: *const ::std::os::raw::c_char,
        pbuffer: *mut *mut ::std::os::raw::c_void,
        pnum: *mut ::std::os::raw::c_int,
        perror: *mut ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn emscripten_run_script(script: *const ::std::os::raw::c_char);
}
extern "C" {
    pub fn emscripten_run_script_int(
        script: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn emscripten_run_script_string(
        script: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn emscripten_async_run_script(
        script: *const ::std::os::raw::c_char,
        millis: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn emscripten_async_load_script(
        script: *const ::std::os::raw::c_char,
        onload: em_callback_func,
        onerror: em_callback_func,
    );
}
extern "C" {
    pub fn emscripten_set_main_loop(
        func: em_callback_func,
        fps: ::std::os::raw::c_int,
        simulate_infinite_loop: bool,
    );
}
extern "C" {
    pub fn emscripten_set_main_loop_timing(
        mode: ::std::os::raw::c_int,
        value: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn emscripten_get_main_loop_timing(
        mode: *mut ::std::os::raw::c_int,
        value: *mut ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn emscripten_set_main_loop_arg(
        func: em_arg_callback_func,
        arg: *mut ::std::os::raw::c_void,
        fps: ::std::os::raw::c_int,
        simulate_infinite_loop: bool,
    );
}
extern "C" {
    pub fn emscripten_pause_main_loop();
}
extern "C" {
    pub fn emscripten_resume_main_loop();
}
extern "C" {
    pub fn emscripten_cancel_main_loop();
}
pub type em_socket_callback = ::std::option::Option<
    unsafe extern "C" fn(fd: ::std::os::raw::c_int, userData: *mut ::std::os::raw::c_void),
>;
pub type em_socket_error_callback = ::std::option::Option<
    unsafe extern "C" fn(
        fd: ::std::os::raw::c_int,
        err: ::std::os::raw::c_int,
        msg: *const ::std::os::raw::c_char,
        userData: *mut ::std::os::raw::c_void,
    ),
>;
extern "C" {
    pub fn emscripten_set_socket_error_callback(
        userData: *mut ::std::os::raw::c_void,
        callback: em_socket_error_callback,
    );
}
extern "C" {
    pub fn emscripten_set_socket_open_callback(
        userData: *mut ::std::os::raw::c_void,
        callback: em_socket_callback,
    );
}
extern "C" {
    pub fn emscripten_set_socket_listen_callback(
        userData: *mut ::std::os::raw::c_void,
        callback: em_socket_callback,
    );
}
extern "C" {
    pub fn emscripten_set_socket_connection_callback(
        userData: *mut ::std::os::raw::c_void,
        callback: em_socket_callback,
    );
}
extern "C" {
    pub fn emscripten_set_socket_message_callback(
        userData: *mut ::std::os::raw::c_void,
        callback: em_socket_callback,
    );
}
extern "C" {
    pub fn emscripten_set_socket_close_callback(
        userData: *mut ::std::os::raw::c_void,
        callback: em_socket_callback,
    );
}
extern "C" {
    pub fn _emscripten_push_main_loop_blocker(
        func: em_arg_callback_func,
        arg: *mut ::std::os::raw::c_void,
        name: *const ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn _emscripten_push_uncounted_main_loop_blocker(
        func: em_arg_callback_func,
        arg: *mut ::std::os::raw::c_void,
        name: *const ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn emscripten_set_main_loop_expected_blockers(num: ::std::os::raw::c_int);
}
extern "C" {
    pub fn emscripten_async_call(
        func: em_arg_callback_func,
        arg: *mut ::std::os::raw::c_void,
        millis: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn emscripten_exit_with_live_runtime() -> !;
}
extern "C" {
    pub fn emscripten_force_exit(status: ::std::os::raw::c_int) -> !;
}
extern "C" {
    pub fn emscripten_get_device_pixel_ratio() -> f64;
}
extern "C" {
    pub fn emscripten_get_window_title() -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn emscripten_set_window_title(arg1: *const ::std::os::raw::c_char);
}
extern "C" {
    pub fn emscripten_get_screen_size(
        width: *mut ::std::os::raw::c_int,
        height: *mut ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn emscripten_hide_mouse();
}
extern "C" {
    pub fn emscripten_set_canvas_size(width: ::std::os::raw::c_int, height: ::std::os::raw::c_int);
}
extern "C" {
    pub fn emscripten_get_canvas_size(
        width: *mut ::std::os::raw::c_int,
        height: *mut ::std::os::raw::c_int,
        isFullscreen: *mut ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn emscripten_get_now() -> f64;
}
extern "C" {
    pub fn emscripten_random() -> f32;
}
pub type em_idb_onload_func = ::std::option::Option<
    unsafe extern "C" fn(
        arg1: *mut ::std::os::raw::c_void,
        arg2: *mut ::std::os::raw::c_void,
        arg3: ::std::os::raw::c_int,
    ),
>;
extern "C" {
    pub fn emscripten_idb_async_load(
        db_name: *const ::std::os::raw::c_char,
        file_id: *const ::std::os::raw::c_char,
        arg: *mut ::std::os::raw::c_void,
        onload: em_idb_onload_func,
        onerror: em_arg_callback_func,
    );
}
extern "C" {
    pub fn emscripten_idb_async_store(
        db_name: *const ::std::os::raw::c_char,
        file_id: *const ::std::os::raw::c_char,
        ptr: *mut ::std::os::raw::c_void,
        num: ::std::os::raw::c_int,
        arg: *mut ::std::os::raw::c_void,
        onstore: em_arg_callback_func,
        onerror: em_arg_callback_func,
    );
}
extern "C" {
    pub fn emscripten_idb_async_delete(
        db_name: *const ::std::os::raw::c_char,
        file_id: *const ::std::os::raw::c_char,
        arg: *mut ::std::os::raw::c_void,
        ondelete: em_arg_callback_func,
        onerror: em_arg_callback_func,
    );
}
pub type em_idb_exists_func = ::std::option::Option<
    unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, arg2: ::std::os::raw::c_int),
>;
extern "C" {
    pub fn emscripten_idb_async_exists(
        db_name: *const ::std::os::raw::c_char,
        file_id: *const ::std::os::raw::c_char,
        arg: *mut ::std::os::raw::c_void,
        oncheck: em_idb_exists_func,
        onerror: em_arg_callback_func,
    );
}
extern "C" {
    pub fn emscripten_idb_async_clear(
        db_name: *const ::std::os::raw::c_char,
        arg: *mut ::std::os::raw::c_void,
        onclear: em_arg_callback_func,
        onerror: em_arg_callback_func,
    );
}
extern "C" {
    pub fn emscripten_idb_load(
        db_name: *const ::std::os::raw::c_char,
        file_id: *const ::std::os::raw::c_char,
        pbuffer: *mut *mut ::std::os::raw::c_void,
        pnum: *mut ::std::os::raw::c_int,
        perror: *mut ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn emscripten_idb_store(
        db_name: *const ::std::os::raw::c_char,
        file_id: *const ::std::os::raw::c_char,
        buffer: *mut ::std::os::raw::c_void,
        num: ::std::os::raw::c_int,
        perror: *mut ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn emscripten_idb_delete(
        db_name: *const ::std::os::raw::c_char,
        file_id: *const ::std::os::raw::c_char,
        perror: *mut ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn emscripten_idb_exists(
        db_name: *const ::std::os::raw::c_char,
        file_id: *const ::std::os::raw::c_char,
        pexists: *mut ::std::os::raw::c_int,
        perror: *mut ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn emscripten_idb_clear(
        db_name: *const ::std::os::raw::c_char,
        perror: *mut ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn emscripten_idb_load_blob(
        db_name: *const ::std::os::raw::c_char,
        file_id: *const ::std::os::raw::c_char,
        pblob: *mut ::std::os::raw::c_int,
        perror: *mut ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn emscripten_idb_store_blob(
        db_name: *const ::std::os::raw::c_char,
        file_id: *const ::std::os::raw::c_char,
        buffer: *mut ::std::os::raw::c_void,
        num: ::std::os::raw::c_int,
        perror: *mut ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn emscripten_idb_read_from_blob(
        blob: ::std::os::raw::c_int,
        start: ::std::os::raw::c_int,
        num: ::std::os::raw::c_int,
        buffer: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn emscripten_idb_free_blob(blob: ::std::os::raw::c_int);
}
extern "C" {
    pub fn emscripten_run_preload_plugins(
        file: *const ::std::os::raw::c_char,
        onload: em_str_callback_func,
        onerror: em_str_callback_func,
    ) -> ::std::os::raw::c_int;
}
pub type em_run_preload_plugins_data_onload_func = ::std::option::Option<
    unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, arg2: *const ::std::os::raw::c_char),
>;
extern "C" {
    pub fn emscripten_run_preload_plugins_data(
        data: *mut ::std::os::raw::c_char,
        size: ::std::os::raw::c_int,
        suffix: *const ::std::os::raw::c_char,
        arg: *mut ::std::os::raw::c_void,
        onload: em_run_preload_plugins_data_onload_func,
        onerror: em_arg_callback_func,
    );
}
extern "C" {
    pub fn emscripten_lazy_load_code();
}
pub type worker_handle = ::std::os::raw::c_int;
extern "C" {
    pub fn emscripten_create_worker(url: *const ::std::os::raw::c_char) -> worker_handle;
}
extern "C" {
    pub fn emscripten_destroy_worker(worker: worker_handle);
}
pub type em_worker_callback_func = ::std::option::Option<
    unsafe extern "C" fn(
        arg1: *mut ::std::os::raw::c_char,
        arg2: ::std::os::raw::c_int,
        arg3: *mut ::std::os::raw::c_void,
    ),
>;
extern "C" {
    pub fn emscripten_call_worker(
        worker: worker_handle,
        funcname: *const ::std::os::raw::c_char,
        data: *mut ::std::os::raw::c_char,
        size: ::std::os::raw::c_int,
        callback: em_worker_callback_func,
        arg: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn emscripten_worker_respond(
        data: *mut ::std::os::raw::c_char,
        size: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn emscripten_worker_respond_provisionally(
        data: *mut ::std::os::raw::c_char,
        size: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn emscripten_get_worker_queue_size(worker: worker_handle) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn emscripten_get_compiler_setting(
        name: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn emscripten_has_asyncify() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn emscripten_debugger();
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_FILE {
    _unused: [u8; 0],
}
pub type FILE = _IO_FILE;
extern "C" {
    pub fn emscripten_get_preloaded_image_data(
        path: *const ::std::os::raw::c_char,
        w: *mut ::std::os::raw::c_int,
        h: *mut ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn emscripten_get_preloaded_image_data_from_FILE(
        file: *mut FILE,
        w: *mut ::std::os::raw::c_int,
        h: *mut ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn emscripten_log(flags: ::std::os::raw::c_int, format: *const ::std::os::raw::c_char, ...);
}
extern "C" {
    pub fn emscripten_get_callstack(
        flags: ::std::os::raw::c_int,
        out: *mut ::std::os::raw::c_char,
        maxbytes: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn emscripten_print_double(
        x: f64,
        to: *mut ::std::os::raw::c_char,
        max: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
pub type em_scan_func = ::std::option::Option<
    unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, arg2: *mut ::std::os::raw::c_void),
>;
extern "C" {
    pub fn emscripten_scan_registers(func: em_scan_func);
}
extern "C" {
    pub fn emscripten_scan_stack(func: em_scan_func);
}
pub type em_dlopen_callback = ::std::option::Option<
    unsafe extern "C" fn(
        user_data: *mut ::std::os::raw::c_void,
        handle: *mut ::std::os::raw::c_void,
    ),
>;
extern "C" {
    pub fn emscripten_dlopen(
        filename: *const ::std::os::raw::c_char,
        flags: ::std::os::raw::c_int,
        user_data: *mut ::std::os::raw::c_void,
        onsuccess: em_dlopen_callback,
        onerror: em_arg_callback_func,
    );
}
extern "C" {
    pub fn emscripten_dlopen_promise(
        filename: *const ::std::os::raw::c_char,
        flags: ::std::os::raw::c_int,
    ) -> em_promise_t;
}
extern "C" {
    pub fn emscripten_throw_number(number: f64);
}
extern "C" {
    pub fn emscripten_throw_string(utf8String: *const ::std::os::raw::c_char);
}
extern "C" {
    pub fn emscripten_sleep(ms: ::std::os::raw::c_uint);
}