1pub use functions::*;
2pub use globals::*;
3
4pub mod globals {
6 #[cfg_attr(
7 any(windows, target_os = "windows", feature = "windows"),
8 link(name = "libjulia", kind = "raw-dylib")
9 )]
10 unsafe extern "C" {
11 pub static mut jl_typeofbottom_type: *mut crate::types::jl_datatype_t;
12
13 pub static mut jl_datatype_type: *mut crate::types::jl_datatype_t;
14
15 pub static mut jl_uniontype_type: *mut crate::types::jl_datatype_t;
16
17 pub static mut jl_unionall_type: *mut crate::types::jl_datatype_t;
18
19 pub static mut jl_tvar_type: *mut crate::types::jl_datatype_t;
20
21 pub static mut jl_any_type: *mut crate::types::jl_datatype_t;
22
23 pub static mut jl_type_type: *mut crate::types::jl_unionall_t;
24
25 pub static mut jl_typename_type: *mut crate::types::jl_datatype_t;
26
27 pub static mut jl_type_typename: *mut crate::types::jl_typename_t;
28
29 pub static mut jl_symbol_type: *mut crate::types::jl_datatype_t;
30
31 pub static mut jl_const_type: *mut crate::types::jl_datatype_t;
32
33 pub static mut jl_simplevector_type: *mut crate::types::jl_datatype_t;
34
35 pub static mut jl_tuple_typename: *mut crate::types::jl_typename_t;
36
37 pub static mut jl_vecelement_typename: *mut crate::types::jl_typename_t;
38
39 pub static mut jl_anytuple_type: *mut crate::types::jl_datatype_t;
40
41 pub static mut jl_emptytuple_type: *mut crate::types::jl_datatype_t;
42
43 pub static mut jl_anytuple_type_type: *mut crate::types::jl_unionall_t;
44
45 pub static mut jl_function_type: *mut crate::types::jl_datatype_t;
46
47 pub static mut jl_bottom_type: *mut crate::types::jl_value_t;
48
49 pub static mut jl_module_type: *mut crate::types::jl_datatype_t;
50
51 pub static mut jl_abstractarray_type: *mut crate::types::jl_unionall_t;
52
53 pub static mut jl_densearray_type: *mut crate::types::jl_unionall_t;
54
55 pub static mut jl_array_type: *mut crate::types::jl_unionall_t;
56
57 pub static mut jl_array_typename: *mut crate::types::jl_typename_t;
58
59 pub static mut jl_abstractstring_type: *mut crate::types::jl_datatype_t;
60
61 pub static mut jl_string_type: *mut crate::types::jl_datatype_t;
62
63 pub static mut jl_errorexception_type: *mut crate::types::jl_datatype_t;
64
65 pub static mut jl_argumenterror_type: *mut crate::types::jl_datatype_t;
66
67 pub static mut jl_loaderror_type: *mut crate::types::jl_datatype_t;
68
69 pub static mut jl_initerror_type: *mut crate::types::jl_datatype_t;
70
71 pub static mut jl_typeerror_type: *mut crate::types::jl_datatype_t;
72
73 pub static mut jl_methoderror_type: *mut crate::types::jl_datatype_t;
74
75 pub static mut jl_undefvarerror_type: *mut crate::types::jl_datatype_t;
76
77 pub static mut jl_stackovf_exception: *mut crate::types::jl_value_t;
78
79 pub static mut jl_memory_exception: *mut crate::types::jl_value_t;
80
81 pub static mut jl_readonlymemory_exception: *mut crate::types::jl_value_t;
82
83 pub static mut jl_diverror_exception: *mut crate::types::jl_value_t;
84
85 pub static mut jl_undefref_exception: *mut crate::types::jl_value_t;
86
87 pub static mut jl_interrupt_exception: *mut crate::types::jl_value_t;
88
89 pub static mut jl_boundserror_type: *mut crate::types::jl_datatype_t;
90
91 pub static mut jl_an_empty_vec_any: *mut crate::types::jl_value_t;
92
93 pub static mut jl_an_empty_string: *mut crate::types::jl_value_t;
94
95 pub static mut jl_bool_type: *mut crate::types::jl_datatype_t;
96
97 pub static mut jl_char_type: *mut crate::types::jl_datatype_t;
98
99 pub static mut jl_int8_type: *mut crate::types::jl_datatype_t;
100
101 pub static mut jl_uint8_type: *mut crate::types::jl_datatype_t;
102
103 pub static mut jl_int16_type: *mut crate::types::jl_datatype_t;
104
105 pub static mut jl_uint16_type: *mut crate::types::jl_datatype_t;
106
107 pub static mut jl_int32_type: *mut crate::types::jl_datatype_t;
108
109 pub static mut jl_uint32_type: *mut crate::types::jl_datatype_t;
110
111 pub static mut jl_int64_type: *mut crate::types::jl_datatype_t;
112
113 pub static mut jl_uint64_type: *mut crate::types::jl_datatype_t;
114
115 pub static mut jl_float16_type: *mut crate::types::jl_datatype_t;
116
117 pub static mut jl_float32_type: *mut crate::types::jl_datatype_t;
118
119 pub static mut jl_float64_type: *mut crate::types::jl_datatype_t;
120
121 pub static mut jl_floatingpoint_type: *mut crate::types::jl_datatype_t;
122
123 pub static mut jl_number_type: *mut crate::types::jl_datatype_t;
124
125 pub static mut jl_nothing_type: *mut crate::types::jl_datatype_t;
126
127 pub static mut jl_signed_type: *mut crate::types::jl_datatype_t;
128
129 pub static mut jl_voidpointer_type: *mut crate::types::jl_datatype_t;
130
131 pub static mut jl_uint8pointer_type: *mut crate::types::jl_datatype_t;
132
133 pub static mut jl_pointer_type: *mut crate::types::jl_unionall_t;
134
135 pub static mut jl_llvmpointer_type: *mut crate::types::jl_unionall_t;
136
137 pub static mut jl_ref_type: *mut crate::types::jl_unionall_t;
138
139 pub static mut jl_pointer_typename: *mut crate::types::jl_typename_t;
140
141 pub static mut jl_llvmpointer_typename: *mut crate::types::jl_typename_t;
142
143 pub static mut jl_namedtuple_typename: *mut crate::types::jl_typename_t;
144
145 pub static mut jl_namedtuple_type: *mut crate::types::jl_unionall_t;
146
147 pub static mut jl_task_type: *mut crate::types::jl_datatype_t;
148
149 pub static mut jl_array_uint8_type: *mut crate::types::jl_value_t;
150
151 pub static mut jl_array_any_type: *mut crate::types::jl_value_t;
152
153 pub static mut jl_array_symbol_type: *mut crate::types::jl_value_t;
154
155 pub static mut jl_array_int32_type: *mut crate::types::jl_value_t;
156
157 pub static mut jl_expr_type: *mut crate::types::jl_datatype_t;
158
159 pub static mut jl_emptysvec: *mut crate::types::jl_svec_t;
160
161 pub static mut jl_emptytuple: *mut crate::types::jl_value_t;
162
163 pub static mut jl_true: *mut crate::types::jl_value_t;
164
165 pub static mut jl_false: *mut crate::types::jl_value_t;
166
167 pub static mut jl_nothing: *mut crate::types::jl_value_t;
168
169 pub static mut jl_main_module: *mut crate::types::jl_module_t;
170
171 pub static mut jl_core_module: *mut crate::types::jl_module_t;
172
173 pub static mut jl_base_module: *mut crate::types::jl_module_t;
174
175 pub static mut jl_vararg_type: *mut crate::types::jl_datatype_t;
176
177 pub static mut jl_atomicerror_type: *mut crate::types::jl_datatype_t;
178
179 pub static mut jl_pair_type: *mut crate::types::jl_value_t;
180
181 pub static mut jl_array_uint64_type: *mut crate::types::jl_value_t;
182
183 pub static jl_n_threads: std::sync::atomic::AtomicI32;
184
185 pub static jl_n_threadpools: std::cell::UnsafeCell<std::ffi::c_int>;
186
187 pub static jl_n_threads_per_pool: std::cell::UnsafeCell<*mut std::ffi::c_int>;
188
189 pub static mut jl_n_gcthreads: std::ffi::c_int;
190
191 #[cfg(not(julia_1_10))]
194 pub static mut jl_genericmemory_type: *mut crate::types::jl_unionall_t;
195
196 #[cfg(not(julia_1_10))]
197 pub static mut jl_genericmemory_typename: *mut crate::types::jl_typename_t;
198
199 #[cfg(not(julia_1_10))]
200 pub static mut jl_genericmemoryref_type: *mut crate::types::jl_unionall_t;
201
202 #[cfg(not(julia_1_10))]
203 pub static mut jl_genericmemoryref_typename: *mut crate::types::jl_typename_t;
204
205 #[cfg(not(julia_1_10))]
206 pub static mut jl_an_empty_memory_any: *mut crate::types::jl_value_t;
207
208 #[cfg(not(julia_1_10))]
209 pub static mut jl_bfloat16_type: *mut crate::types::jl_datatype_t;
210
211 #[cfg(not(julia_1_10))]
212 pub static mut jl_array_uint32_type: *mut crate::types::jl_value_t;
213
214 #[cfg(any(julia_1_10, julia_1_11))]
217 pub static mut jl_kwcall_func: *mut crate::types::jl_value_t;
218
219 #[cfg(not(any(julia_1_10, julia_1_11, julia_1_12, julia_1_13)))]
221 pub static mut jl_typeeq_type: *mut crate::types::jl_datatype_t;
222 }
223}
224
225pub mod functions {
227 #[cfg_attr(
228 any(windows, target_os = "windows", feature = "windows"),
229 link(name = "libjulia", kind = "raw-dylib")
230 )]
231 unsafe extern "C" {
232 pub fn jl_gc_enable(on: std::ffi::c_int) -> std::ffi::c_int;
233
234 pub fn jl_gc_is_enabled() -> std::ffi::c_int;
235
236 pub fn jl_get_pgcstack() -> *mut *mut crate::types::jl_gcframe_t;
237
238 pub fn jl_gc_collect(arg0: crate::types::jl_gc_collection_t);
239
240 pub fn jl_gc_add_finalizer(
241 v: *mut crate::types::jl_value_t,
242 f: *mut crate::types::jl_value_t,
243 );
244
245 pub fn jl_gc_add_ptr_finalizer(
246 ptls: *mut crate::types::jl_tls_states_t,
247 v: *mut crate::types::jl_value_t,
248 f: *mut std::ffi::c_void,
249 );
250
251 pub fn jl_subtype(
252 a: *mut crate::types::jl_value_t,
253 b: *mut crate::types::jl_value_t,
254 ) -> std::ffi::c_int;
255
256 pub fn jl_object_id(v: *mut crate::types::jl_value_t) -> usize;
257
258 pub fn jl_has_free_typevars(v: *mut crate::types::jl_value_t) -> std::ffi::c_int;
259
260 pub fn jl_has_typevar(
261 t: *mut crate::types::jl_value_t,
262 v: *mut crate::types::jl_tvar_t,
263 ) -> std::ffi::c_int;
264
265 pub fn jl_isa(
266 a: *mut crate::types::jl_value_t,
267 t: *mut crate::types::jl_value_t,
268 ) -> std::ffi::c_int;
269
270 pub fn jl_type_union(
271 ts: *mut *mut crate::types::jl_value_t,
272 n: usize,
273 ) -> *mut crate::types::jl_value_t;
274
275 pub fn jl_type_unionall(
276 v: *mut crate::types::jl_tvar_t,
277 body: *mut crate::types::jl_value_t,
278 ) -> *mut crate::types::jl_value_t;
279
280 pub fn jl_typename_str(v: *mut crate::types::jl_value_t) -> *const std::ffi::c_char;
281
282 pub fn jl_typeof_str(v: *mut crate::types::jl_value_t) -> *const std::ffi::c_char;
283
284 pub fn jl_new_typevar(
285 name: *mut crate::types::jl_sym_t,
286 lb: *mut crate::types::jl_value_t,
287 ub: *mut crate::types::jl_value_t,
288 ) -> *mut crate::types::jl_tvar_t;
289
290 pub fn jl_apply_type(
291 tc: *mut crate::types::jl_value_t,
292 params: *mut *mut crate::types::jl_value_t,
293 n: usize,
294 ) -> *mut crate::types::jl_value_t;
295
296 pub fn jl_new_datatype(
297 name: *mut crate::types::jl_sym_t,
298 module: *mut crate::types::jl_module_t,
299 sup: *mut crate::types::jl_datatype_t,
300 parameters: *mut crate::types::jl_svec_t,
301 fnames: *mut crate::types::jl_svec_t,
302 ftypes: *mut crate::types::jl_svec_t,
303 fattrs: *mut crate::types::jl_svec_t,
304 abstr: std::ffi::c_int,
305 mutabl: std::ffi::c_int,
306 ninitialized: std::ffi::c_int,
307 ) -> *mut crate::types::jl_datatype_t;
308
309 pub fn jl_new_structv(
310 ty: *mut crate::types::jl_datatype_t,
311 args: *mut *mut crate::types::jl_value_t,
312 na: u32,
313 ) -> *mut crate::types::jl_value_t;
314
315 pub fn jl_new_struct_uninit(
316 ty: *mut crate::types::jl_datatype_t,
317 ) -> *mut crate::types::jl_value_t;
318
319 pub fn jl_alloc_svec(n: usize) -> *mut crate::types::jl_svec_t;
320
321 pub fn jl_alloc_svec_uninit(n: usize) -> *mut crate::types::jl_svec_t;
322
323 pub fn jl_svec_copy(a: *mut crate::types::jl_svec_t) -> *mut crate::types::jl_svec_t;
324
325 pub fn jl_symbol_n(str: *const std::ffi::c_char, len: usize)
326 -> *mut crate::types::jl_sym_t;
327
328 pub fn jl_gensym() -> *mut crate::types::jl_sym_t;
329
330 pub fn jl_tagged_gensym(
331 str: *const std::ffi::c_char,
332 len: usize,
333 ) -> *mut crate::types::jl_sym_t;
334
335 pub fn jl_box_bool(x: i8) -> *mut crate::types::jl_value_t;
336
337 pub fn jl_box_int8(x: i8) -> *mut crate::types::jl_value_t;
338
339 pub fn jl_box_uint8(x: u8) -> *mut crate::types::jl_value_t;
340
341 pub fn jl_box_int16(x: i16) -> *mut crate::types::jl_value_t;
342
343 pub fn jl_box_uint16(x: u16) -> *mut crate::types::jl_value_t;
344
345 pub fn jl_box_int32(x: i32) -> *mut crate::types::jl_value_t;
346
347 pub fn jl_box_uint32(x: u32) -> *mut crate::types::jl_value_t;
348
349 pub fn jl_box_char(x: u32) -> *mut crate::types::jl_value_t;
350
351 pub fn jl_box_int64(x: i64) -> *mut crate::types::jl_value_t;
352
353 pub fn jl_box_uint64(x: u64) -> *mut crate::types::jl_value_t;
354
355 pub fn jl_box_float32(x: f32) -> *mut crate::types::jl_value_t;
356
357 pub fn jl_box_float64(x: f64) -> *mut crate::types::jl_value_t;
358
359 pub fn jl_box_voidpointer(x: *mut std::ffi::c_void) -> *mut crate::types::jl_value_t;
360
361 pub fn jl_unbox_bool(v: *mut crate::types::jl_value_t) -> i8;
362
363 pub fn jl_unbox_int8(v: *mut crate::types::jl_value_t) -> i8;
364
365 pub fn jl_unbox_uint8(v: *mut crate::types::jl_value_t) -> u8;
366
367 pub fn jl_unbox_int16(v: *mut crate::types::jl_value_t) -> i16;
368
369 pub fn jl_unbox_uint16(v: *mut crate::types::jl_value_t) -> u16;
370
371 pub fn jl_unbox_int32(v: *mut crate::types::jl_value_t) -> i32;
372
373 pub fn jl_unbox_uint32(v: *mut crate::types::jl_value_t) -> u32;
374
375 pub fn jl_unbox_int64(v: *mut crate::types::jl_value_t) -> i64;
376
377 pub fn jl_unbox_uint64(v: *mut crate::types::jl_value_t) -> u64;
378
379 pub fn jl_unbox_float32(v: *mut crate::types::jl_value_t) -> f32;
380
381 pub fn jl_unbox_float64(v: *mut crate::types::jl_value_t) -> f64;
382
383 pub fn jl_unbox_voidpointer(v: *mut crate::types::jl_value_t) -> *mut std::ffi::c_void;
384
385 pub fn jl_field_index(
386 t: *mut crate::types::jl_datatype_t,
387 fld: *mut crate::types::jl_sym_t,
388 err: std::ffi::c_int,
389 ) -> std::ffi::c_int;
390
391 pub fn jl_get_nth_field(
392 v: *mut crate::types::jl_value_t,
393 i: usize,
394 ) -> *mut crate::types::jl_value_t;
395
396 pub fn jl_get_nth_field_noalloc(
397 v: *mut crate::types::jl_value_t,
398 i: usize,
399 ) -> *mut crate::types::jl_value_t;
400
401 pub fn jl_set_nth_field(
402 v: *mut crate::types::jl_value_t,
403 i: usize,
404 rhs: *mut crate::types::jl_value_t,
405 );
406
407 pub fn jl_islayout_inline(
408 eltype: *mut crate::types::jl_value_t,
409 fsz: *mut usize,
410 al: *mut usize,
411 ) -> std::ffi::c_int;
412
413 pub fn jl_ptr_to_array_1d(
414 atype: *mut crate::types::jl_value_t,
415 data: *mut std::ffi::c_void,
416 nel: usize,
417 own_buffer: std::ffi::c_int,
418 ) -> *mut crate::types::jl_array_t;
419
420 pub fn jl_ptr_to_array(
421 atype: *mut crate::types::jl_value_t,
422 data: *mut std::ffi::c_void,
423 dims: *mut crate::types::jl_value_t,
424 own_buffer: std::ffi::c_int,
425 ) -> *mut crate::types::jl_array_t;
426
427 pub fn jl_alloc_array_1d(
428 atype: *mut crate::types::jl_value_t,
429 nr: usize,
430 ) -> *mut crate::types::jl_array_t;
431
432 pub fn jl_alloc_array_2d(
433 atype: *mut crate::types::jl_value_t,
434 nr: usize,
435 nc: usize,
436 ) -> *mut crate::types::jl_array_t;
437
438 pub fn jl_alloc_array_3d(
439 atype: *mut crate::types::jl_value_t,
440 nr: usize,
441 nc: usize,
442 z: usize,
443 ) -> *mut crate::types::jl_array_t;
444
445 pub fn jl_pchar_to_array(
446 str: *const std::ffi::c_char,
447 len: usize,
448 ) -> *mut crate::types::jl_array_t;
449
450 pub fn jl_pchar_to_string(
451 str: *const std::ffi::c_char,
452 len: usize,
453 ) -> *mut crate::types::jl_value_t;
454
455 pub fn jl_array_to_string(
456 a: *mut crate::types::jl_array_t,
457 ) -> *mut crate::types::jl_value_t;
458
459 pub fn jl_alloc_vec_any(n: usize) -> *mut crate::types::jl_array_t;
460
461 pub fn jl_array_grow_end(a: *mut crate::types::jl_array_t, inc: usize);
462
463 pub fn jl_array_del_end(a: *mut crate::types::jl_array_t, dec: usize);
464
465 pub fn jl_array_ptr_1d_push(
466 a: *mut crate::types::jl_array_t,
467 item: *mut crate::types::jl_value_t,
468 );
469
470 pub fn jl_array_ptr_1d_append(
471 a: *mut crate::types::jl_array_t,
472 a2: *mut crate::types::jl_array_t,
473 );
474
475 pub fn jl_apply_array_type(
476 ty: *mut crate::types::jl_value_t,
477 dim: usize,
478 ) -> *mut crate::types::jl_value_t;
479
480 pub fn jl_array_eltype(a: *mut crate::types::jl_value_t) -> *mut std::ffi::c_void;
481
482 pub fn jl_array_rank(a: *mut crate::types::jl_value_t) -> std::ffi::c_int;
483
484 pub fn jl_string_ptr(s: *mut crate::types::jl_value_t) -> *const std::ffi::c_char;
485
486 pub fn jl_is_const(
487 m: *mut crate::types::jl_module_t,
488 var: *mut crate::types::jl_sym_t,
489 ) -> std::ffi::c_int;
490
491 pub fn jl_get_global(
492 m: *mut crate::types::jl_module_t,
493 var: *mut crate::types::jl_sym_t,
494 ) -> *mut crate::types::jl_value_t;
495
496 pub fn jl_set_global(
497 m: *mut crate::types::jl_module_t,
498 var: *mut crate::types::jl_sym_t,
499 val: *mut crate::types::jl_value_t,
500 );
501
502 pub fn jl_cpu_threads() -> std::ffi::c_int;
503
504 pub fn jl_is_debugbuild() -> std::ffi::c_int;
505
506 pub fn jl_get_UNAME() -> *mut crate::types::jl_sym_t;
507
508 pub fn jl_exception_occurred() -> *mut crate::types::jl_value_t;
509
510 pub fn jl_is_initialized() -> std::ffi::c_int;
511
512 pub fn jl_atexit_hook(status: std::ffi::c_int);
513
514 pub fn jl_eval_string(str: *const std::ffi::c_char) -> *mut crate::types::jl_value_t;
515
516 pub fn jl_call(
517 f: *mut crate::types::jl_value_t,
518 args: *mut *mut crate::types::jl_value_t,
519 nargs: u32,
520 ) -> *mut crate::types::jl_value_t;
521
522 pub fn jl_call0(f: *mut crate::types::jl_value_t) -> *mut crate::types::jl_value_t;
523
524 pub fn jl_call1(
525 f: *mut crate::types::jl_value_t,
526 a: *mut crate::types::jl_value_t,
527 ) -> *mut crate::types::jl_value_t;
528
529 pub fn jl_call2(
530 f: *mut crate::types::jl_value_t,
531 a: *mut crate::types::jl_value_t,
532 b: *mut crate::types::jl_value_t,
533 ) -> *mut crate::types::jl_value_t;
534
535 pub fn jl_call3(
536 f: *mut crate::types::jl_value_t,
537 a: *mut crate::types::jl_value_t,
538 b: *mut crate::types::jl_value_t,
539 c: *mut crate::types::jl_value_t,
540 ) -> *mut crate::types::jl_value_t;
541
542 pub fn jl_throw(e: *mut crate::types::jl_value_t) -> !;
543
544 pub fn jl_rethrow() -> !;
545
546 pub fn jl_print_backtrace();
547
548 pub fn jl_rethrow_other(e: *mut crate::types::jl_value_t) -> !;
549
550 pub fn jl_stdout_stream() -> *mut crate::types::JL_STREAM;
551
552 pub fn jl_stderr_stream() -> *mut crate::types::JL_STREAM;
553
554 pub fn jl_stderr_obj() -> *mut crate::types::jl_value_t;
555
556 pub fn jl_static_show(
557 out: *mut crate::types::JL_STREAM,
558 v: *mut crate::types::jl_value_t,
559 ) -> usize;
560
561 pub fn jl_ver_major() -> std::ffi::c_int;
562
563 pub fn jl_ver_minor() -> std::ffi::c_int;
564
565 pub fn jl_ver_patch() -> std::ffi::c_int;
566
567 pub fn jl_ver_is_release() -> std::ffi::c_int;
568
569 pub fn jl_ver_string() -> *const std::ffi::c_char;
570
571 pub fn jl_new_foreign_type(
572 name: *mut crate::types::jl_sym_t,
573 module: *mut crate::types::jl_module_t,
574 sup: *mut crate::types::jl_datatype_t,
575 markfunc: crate::types::jl_markfunc_t,
576 sweepfunc: crate::types::jl_sweepfunc_t,
577 haspointers: std::ffi::c_int,
578 large: std::ffi::c_int,
579 ) -> *mut crate::types::jl_datatype_t;
580
581 pub fn jl_gc_alloc_typed(
582 ptls: *mut crate::types::jl_tls_states_t,
583 sz: usize,
584 ty: *mut std::ffi::c_void,
585 ) -> *mut std::ffi::c_void;
586
587 pub fn jl_gc_mark_queue_obj(
588 ptls: *mut crate::types::jl_tls_states_t,
589 obj: *mut crate::types::jl_value_t,
590 ) -> std::ffi::c_int;
591
592 pub fn jl_gc_mark_queue_objarray(
593 ptls: *mut crate::types::jl_tls_states_t,
594 parent: *mut crate::types::jl_value_t,
595 objs: *mut *mut crate::types::jl_value_t,
596 nobjs: usize,
597 );
598
599 pub fn jl_gc_schedule_foreign_sweepfunc(
600 ptls: *mut crate::types::jl_tls_states_t,
601 bj: *mut crate::types::jl_value_t,
602 );
603
604 pub fn jl_gc_set_cb_root_scanner(
605 cb: crate::types::jl_gc_cb_root_scanner_t,
606 enable: std::ffi::c_int,
607 );
608
609 pub fn jl_dlopen(
610 filename: *const std::ffi::c_char,
611 flags: std::ffi::c_uint,
612 ) -> *mut std::ffi::c_void;
613
614 pub fn jl_dlclose(handle: *mut std::ffi::c_void) -> std::ffi::c_int;
615
616 pub fn jl_gc_safepoint();
617
618 pub fn jl_init();
619
620 pub fn jl_symbol(str: *const std::ffi::c_char) -> *mut crate::types::jl_sym_t;
621
622 pub fn jl_egal(
623 a: *const crate::types::jl_value_t,
624 b: *const crate::types::jl_value_t,
625 ) -> std::ffi::c_int;
626
627 pub fn jl_adopt_thread() -> *mut *mut crate::types::jl_gcframe_t;
628
629 pub fn jl_reinit_foreign_type(
630 dt: *mut crate::types::jl_datatype_t,
631 markfunc: crate::types::jl_markfunc_t,
632 sweepfunc: crate::types::jl_sweepfunc_t,
633 ) -> std::ffi::c_int;
634
635 pub fn jl_enter_threaded_region();
636
637 pub fn jl_exit_threaded_region();
638
639 #[cfg(julia_1_10)]
642 pub fn jl_new_array(
643 atype: *mut crate::types::jl_value_t,
644 dims: *mut crate::types::jl_value_t,
645 ) -> *mut crate::types::jl_array_t;
646
647 #[cfg(not(julia_1_10))]
650 pub fn jl_alloc_array_nd(
651 atype: *mut crate::types::jl_value_t,
652 dims: *mut usize,
653 ndims: usize,
654 ) -> *mut crate::types::jl_array_t;
655
656 #[cfg(any(julia_1_10, julia_1_11))]
659 pub fn jl_set_const(
660 m: *mut crate::types::jl_module_t,
661 var: *mut crate::types::jl_sym_t,
662 val: *mut crate::types::jl_value_t,
663 );
664
665 #[cfg(any(julia_1_10, julia_1_11))]
666 pub fn jl_init_with_image(
667 julia_bindir: *const std::ffi::c_char,
668 image_path: *const std::ffi::c_char,
669 );
670
671 #[cfg(not(any(julia_1_10, julia_1_11)))]
674 pub fn jl_declare_constant_val(
675 b: *mut crate::types::jl_binding_t,
676 m: *mut crate::types::jl_module_t,
677 var: *mut crate::types::jl_sym_t,
678 val: *mut crate::types::jl_value_t,
679 ) -> *mut crate::types::jl_binding_partition_t;
680
681 #[cfg(not(any(julia_1_10, julia_1_11)))]
682 pub fn jl_init_with_image_file(
683 julia_bindir: *const std::ffi::c_char,
684 image_path: *const std::ffi::c_char,
685 );
686 }
687}
688
689#[cfg(any(windows, target_os = "windows", feature = "windows"))]
693mod indirect {
694 #[link(name = "libjulia", kind = "raw-dylib")]
695 unsafe extern "C" {
696 #![allow(unused)]
697
698 pub static mut jl_options: [u8; 0];
701
702 pub static mut jl_small_typeof: *mut std::ffi::c_void;
703
704 pub static mut jl_excstack_state: *mut std::ffi::c_void;
705
706 pub static mut jl_enter_handler: *mut std::ffi::c_void;
707
708 pub static mut jl_eh_restore_state: *mut std::ffi::c_void;
709
710 pub static mut jl_eh_restore_state_noexcept: *mut std::ffi::c_void;
711
712 pub static mut jl_apply_generic: *mut std::ffi::c_void;
713
714 pub static mut jl_gc_queue_multiroot: *mut std::ffi::c_void;
715
716 pub static mut jl_gc_queue_root: *mut std::ffi::c_void;
717
718 pub static mut jl_compute_fieldtypes: *mut std::ffi::c_void;
719
720 pub static mut jl_setjmp: *mut std::ffi::c_void;
721
722 pub static mut jl_current_exception: *mut std::ffi::c_void;
723
724 pub static mut jl_get_world_counter: *mut std::ffi::c_void;
725
726 pub static mut jl_egal__bitstag: *mut std::ffi::c_void;
727
728 pub static mut jl_error: *mut std::ffi::c_void;
729
730 pub static mut jl_restore_excstack: *mut std::ffi::c_void;
731
732 pub static mut jl_dlsym: *mut std::ffi::c_void;
733
734 pub static mut jl_binding_type: *mut std::ffi::c_void;
735
736 #[cfg(julia_1_10)]
739 pub static mut jl_arrayref: *mut std::ffi::c_void;
740
741 #[cfg(julia_1_10)]
742 pub static mut jl_arrayset: *mut std::ffi::c_void;
743
744 #[cfg(julia_1_10)]
745 pub static mut jl_array_typetagdata: *mut std::ffi::c_void;
746
747 #[cfg(not(julia_1_10))]
750 pub static mut jl_unwrap_unionall: *mut std::ffi::c_void;
751
752 #[cfg(not(julia_1_10))]
753 pub static mut jl_genericmemoryref: *mut std::ffi::c_void;
754 }
755}