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 }
220}
221
222pub mod functions {
224 #[cfg_attr(
225 any(windows, target_os = "windows", feature = "windows"),
226 link(name = "libjulia", kind = "raw-dylib")
227 )]
228 unsafe extern "C" {
229 pub fn jl_gc_enable(on: std::ffi::c_int) -> std::ffi::c_int;
230
231 pub fn jl_gc_is_enabled() -> std::ffi::c_int;
232
233 pub fn jl_get_pgcstack() -> *mut *mut crate::types::jl_gcframe_t;
234
235 pub fn jl_gc_collect(arg0: crate::types::jl_gc_collection_t);
236
237 pub fn jl_gc_add_finalizer(
238 v: *mut crate::types::jl_value_t,
239 f: *mut crate::types::jl_value_t,
240 );
241
242 pub fn jl_gc_add_ptr_finalizer(
243 ptls: *mut crate::types::jl_tls_states_t,
244 v: *mut crate::types::jl_value_t,
245 f: *mut std::ffi::c_void,
246 );
247
248 pub fn jl_subtype(
249 a: *mut crate::types::jl_value_t,
250 b: *mut crate::types::jl_value_t,
251 ) -> std::ffi::c_int;
252
253 pub fn jl_object_id(v: *mut crate::types::jl_value_t) -> usize;
254
255 pub fn jl_has_free_typevars(v: *mut crate::types::jl_value_t) -> std::ffi::c_int;
256
257 pub fn jl_has_typevar(
258 t: *mut crate::types::jl_value_t,
259 v: *mut crate::types::jl_tvar_t,
260 ) -> std::ffi::c_int;
261
262 pub fn jl_isa(
263 a: *mut crate::types::jl_value_t,
264 t: *mut crate::types::jl_value_t,
265 ) -> std::ffi::c_int;
266
267 pub fn jl_type_union(
268 ts: *mut *mut crate::types::jl_value_t,
269 n: usize,
270 ) -> *mut crate::types::jl_value_t;
271
272 pub fn jl_type_unionall(
273 v: *mut crate::types::jl_tvar_t,
274 body: *mut crate::types::jl_value_t,
275 ) -> *mut crate::types::jl_value_t;
276
277 pub fn jl_typename_str(v: *mut crate::types::jl_value_t) -> *const std::ffi::c_char;
278
279 pub fn jl_typeof_str(v: *mut crate::types::jl_value_t) -> *const std::ffi::c_char;
280
281 pub fn jl_new_typevar(
282 name: *mut crate::types::jl_sym_t,
283 lb: *mut crate::types::jl_value_t,
284 ub: *mut crate::types::jl_value_t,
285 ) -> *mut crate::types::jl_tvar_t;
286
287 pub fn jl_apply_type(
288 tc: *mut crate::types::jl_value_t,
289 params: *mut *mut crate::types::jl_value_t,
290 n: usize,
291 ) -> *mut crate::types::jl_value_t;
292
293 pub fn jl_new_datatype(
294 name: *mut crate::types::jl_sym_t,
295 module: *mut crate::types::jl_module_t,
296 sup: *mut crate::types::jl_datatype_t,
297 parameters: *mut crate::types::jl_svec_t,
298 fnames: *mut crate::types::jl_svec_t,
299 ftypes: *mut crate::types::jl_svec_t,
300 fattrs: *mut crate::types::jl_svec_t,
301 abstr: std::ffi::c_int,
302 mutabl: std::ffi::c_int,
303 ninitialized: std::ffi::c_int,
304 ) -> *mut crate::types::jl_datatype_t;
305
306 pub fn jl_new_structv(
307 ty: *mut crate::types::jl_datatype_t,
308 args: *mut *mut crate::types::jl_value_t,
309 na: u32,
310 ) -> *mut crate::types::jl_value_t;
311
312 pub fn jl_new_struct_uninit(
313 ty: *mut crate::types::jl_datatype_t,
314 ) -> *mut crate::types::jl_value_t;
315
316 pub fn jl_alloc_svec(n: usize) -> *mut crate::types::jl_svec_t;
317
318 pub fn jl_alloc_svec_uninit(n: usize) -> *mut crate::types::jl_svec_t;
319
320 pub fn jl_svec_copy(a: *mut crate::types::jl_svec_t) -> *mut crate::types::jl_svec_t;
321
322 pub fn jl_symbol_n(str: *const std::ffi::c_char, len: usize)
323 -> *mut crate::types::jl_sym_t;
324
325 pub fn jl_gensym() -> *mut crate::types::jl_sym_t;
326
327 pub fn jl_tagged_gensym(
328 str: *const std::ffi::c_char,
329 len: usize,
330 ) -> *mut crate::types::jl_sym_t;
331
332 pub fn jl_box_bool(x: i8) -> *mut crate::types::jl_value_t;
333
334 pub fn jl_box_int8(x: i8) -> *mut crate::types::jl_value_t;
335
336 pub fn jl_box_uint8(x: u8) -> *mut crate::types::jl_value_t;
337
338 pub fn jl_box_int16(x: i16) -> *mut crate::types::jl_value_t;
339
340 pub fn jl_box_uint16(x: u16) -> *mut crate::types::jl_value_t;
341
342 pub fn jl_box_int32(x: i32) -> *mut crate::types::jl_value_t;
343
344 pub fn jl_box_uint32(x: u32) -> *mut crate::types::jl_value_t;
345
346 pub fn jl_box_char(x: u32) -> *mut crate::types::jl_value_t;
347
348 pub fn jl_box_int64(x: i64) -> *mut crate::types::jl_value_t;
349
350 pub fn jl_box_uint64(x: u64) -> *mut crate::types::jl_value_t;
351
352 pub fn jl_box_float32(x: f32) -> *mut crate::types::jl_value_t;
353
354 pub fn jl_box_float64(x: f64) -> *mut crate::types::jl_value_t;
355
356 pub fn jl_box_voidpointer(x: *mut std::ffi::c_void) -> *mut crate::types::jl_value_t;
357
358 pub fn jl_unbox_bool(v: *mut crate::types::jl_value_t) -> i8;
359
360 pub fn jl_unbox_int8(v: *mut crate::types::jl_value_t) -> i8;
361
362 pub fn jl_unbox_uint8(v: *mut crate::types::jl_value_t) -> u8;
363
364 pub fn jl_unbox_int16(v: *mut crate::types::jl_value_t) -> i16;
365
366 pub fn jl_unbox_uint16(v: *mut crate::types::jl_value_t) -> u16;
367
368 pub fn jl_unbox_int32(v: *mut crate::types::jl_value_t) -> i32;
369
370 pub fn jl_unbox_uint32(v: *mut crate::types::jl_value_t) -> u32;
371
372 pub fn jl_unbox_int64(v: *mut crate::types::jl_value_t) -> i64;
373
374 pub fn jl_unbox_uint64(v: *mut crate::types::jl_value_t) -> u64;
375
376 pub fn jl_unbox_float32(v: *mut crate::types::jl_value_t) -> f32;
377
378 pub fn jl_unbox_float64(v: *mut crate::types::jl_value_t) -> f64;
379
380 pub fn jl_unbox_voidpointer(v: *mut crate::types::jl_value_t) -> *mut std::ffi::c_void;
381
382 pub fn jl_field_index(
383 t: *mut crate::types::jl_datatype_t,
384 fld: *mut crate::types::jl_sym_t,
385 err: std::ffi::c_int,
386 ) -> std::ffi::c_int;
387
388 pub fn jl_get_nth_field(
389 v: *mut crate::types::jl_value_t,
390 i: usize,
391 ) -> *mut crate::types::jl_value_t;
392
393 pub fn jl_get_nth_field_noalloc(
394 v: *mut crate::types::jl_value_t,
395 i: usize,
396 ) -> *mut crate::types::jl_value_t;
397
398 pub fn jl_set_nth_field(
399 v: *mut crate::types::jl_value_t,
400 i: usize,
401 rhs: *mut crate::types::jl_value_t,
402 );
403
404 pub fn jl_islayout_inline(
405 eltype: *mut crate::types::jl_value_t,
406 fsz: *mut usize,
407 al: *mut usize,
408 ) -> std::ffi::c_int;
409
410 pub fn jl_ptr_to_array_1d(
411 atype: *mut crate::types::jl_value_t,
412 data: *mut std::ffi::c_void,
413 nel: usize,
414 own_buffer: std::ffi::c_int,
415 ) -> *mut crate::types::jl_array_t;
416
417 pub fn jl_ptr_to_array(
418 atype: *mut crate::types::jl_value_t,
419 data: *mut std::ffi::c_void,
420 dims: *mut crate::types::jl_value_t,
421 own_buffer: std::ffi::c_int,
422 ) -> *mut crate::types::jl_array_t;
423
424 pub fn jl_alloc_array_1d(
425 atype: *mut crate::types::jl_value_t,
426 nr: usize,
427 ) -> *mut crate::types::jl_array_t;
428
429 pub fn jl_alloc_array_2d(
430 atype: *mut crate::types::jl_value_t,
431 nr: usize,
432 nc: usize,
433 ) -> *mut crate::types::jl_array_t;
434
435 pub fn jl_alloc_array_3d(
436 atype: *mut crate::types::jl_value_t,
437 nr: usize,
438 nc: usize,
439 z: usize,
440 ) -> *mut crate::types::jl_array_t;
441
442 pub fn jl_pchar_to_array(
443 str: *const std::ffi::c_char,
444 len: usize,
445 ) -> *mut crate::types::jl_array_t;
446
447 pub fn jl_pchar_to_string(
448 str: *const std::ffi::c_char,
449 len: usize,
450 ) -> *mut crate::types::jl_value_t;
451
452 pub fn jl_array_to_string(
453 a: *mut crate::types::jl_array_t,
454 ) -> *mut crate::types::jl_value_t;
455
456 pub fn jl_alloc_vec_any(n: usize) -> *mut crate::types::jl_array_t;
457
458 pub fn jl_array_grow_end(a: *mut crate::types::jl_array_t, inc: usize);
459
460 pub fn jl_array_del_end(a: *mut crate::types::jl_array_t, dec: usize);
461
462 pub fn jl_array_ptr_1d_push(
463 a: *mut crate::types::jl_array_t,
464 item: *mut crate::types::jl_value_t,
465 );
466
467 pub fn jl_array_ptr_1d_append(
468 a: *mut crate::types::jl_array_t,
469 a2: *mut crate::types::jl_array_t,
470 );
471
472 pub fn jl_apply_array_type(
473 ty: *mut crate::types::jl_value_t,
474 dim: usize,
475 ) -> *mut crate::types::jl_value_t;
476
477 pub fn jl_array_eltype(a: *mut crate::types::jl_value_t) -> *mut std::ffi::c_void;
478
479 pub fn jl_array_rank(a: *mut crate::types::jl_value_t) -> std::ffi::c_int;
480
481 pub fn jl_string_ptr(s: *mut crate::types::jl_value_t) -> *const std::ffi::c_char;
482
483 pub fn jl_is_const(
484 m: *mut crate::types::jl_module_t,
485 var: *mut crate::types::jl_sym_t,
486 ) -> std::ffi::c_int;
487
488 pub fn jl_get_global(
489 m: *mut crate::types::jl_module_t,
490 var: *mut crate::types::jl_sym_t,
491 ) -> *mut crate::types::jl_value_t;
492
493 pub fn jl_set_global(
494 m: *mut crate::types::jl_module_t,
495 var: *mut crate::types::jl_sym_t,
496 val: *mut crate::types::jl_value_t,
497 );
498
499 pub fn jl_cpu_threads() -> std::ffi::c_int;
500
501 pub fn jl_is_debugbuild() -> std::ffi::c_int;
502
503 pub fn jl_get_UNAME() -> *mut crate::types::jl_sym_t;
504
505 pub fn jl_exception_occurred() -> *mut crate::types::jl_value_t;
506
507 pub fn jl_is_initialized() -> std::ffi::c_int;
508
509 pub fn jl_atexit_hook(status: std::ffi::c_int);
510
511 pub fn jl_eval_string(str: *const std::ffi::c_char) -> *mut crate::types::jl_value_t;
512
513 pub fn jl_call(
514 f: *mut crate::types::jl_value_t,
515 args: *mut *mut crate::types::jl_value_t,
516 nargs: u32,
517 ) -> *mut crate::types::jl_value_t;
518
519 pub fn jl_call0(f: *mut crate::types::jl_value_t) -> *mut crate::types::jl_value_t;
520
521 pub fn jl_call1(
522 f: *mut crate::types::jl_value_t,
523 a: *mut crate::types::jl_value_t,
524 ) -> *mut crate::types::jl_value_t;
525
526 pub fn jl_call2(
527 f: *mut crate::types::jl_value_t,
528 a: *mut crate::types::jl_value_t,
529 b: *mut crate::types::jl_value_t,
530 ) -> *mut crate::types::jl_value_t;
531
532 pub fn jl_call3(
533 f: *mut crate::types::jl_value_t,
534 a: *mut crate::types::jl_value_t,
535 b: *mut crate::types::jl_value_t,
536 c: *mut crate::types::jl_value_t,
537 ) -> *mut crate::types::jl_value_t;
538
539 pub fn jl_throw(e: *mut crate::types::jl_value_t) -> !;
540
541 pub fn jl_rethrow() -> !;
542
543 pub fn jl_print_backtrace();
544
545 pub fn jl_rethrow_other(e: *mut crate::types::jl_value_t) -> !;
546
547 pub fn jl_stdout_stream() -> *mut crate::types::JL_STREAM;
548
549 pub fn jl_stderr_stream() -> *mut crate::types::JL_STREAM;
550
551 pub fn jl_stderr_obj() -> *mut crate::types::jl_value_t;
552
553 pub fn jl_static_show(
554 out: *mut crate::types::JL_STREAM,
555 v: *mut crate::types::jl_value_t,
556 ) -> usize;
557
558 pub fn jl_ver_major() -> std::ffi::c_int;
559
560 pub fn jl_ver_minor() -> std::ffi::c_int;
561
562 pub fn jl_ver_patch() -> std::ffi::c_int;
563
564 pub fn jl_ver_is_release() -> std::ffi::c_int;
565
566 pub fn jl_ver_string() -> *const std::ffi::c_char;
567
568 pub fn jl_new_foreign_type(
569 name: *mut crate::types::jl_sym_t,
570 module: *mut crate::types::jl_module_t,
571 sup: *mut crate::types::jl_datatype_t,
572 markfunc: crate::types::jl_markfunc_t,
573 sweepfunc: crate::types::jl_sweepfunc_t,
574 haspointers: std::ffi::c_int,
575 large: std::ffi::c_int,
576 ) -> *mut crate::types::jl_datatype_t;
577
578 pub fn jl_gc_alloc_typed(
579 ptls: *mut crate::types::jl_tls_states_t,
580 sz: usize,
581 ty: *mut std::ffi::c_void,
582 ) -> *mut std::ffi::c_void;
583
584 pub fn jl_gc_mark_queue_obj(
585 ptls: *mut crate::types::jl_tls_states_t,
586 obj: *mut crate::types::jl_value_t,
587 ) -> std::ffi::c_int;
588
589 pub fn jl_gc_mark_queue_objarray(
590 ptls: *mut crate::types::jl_tls_states_t,
591 parent: *mut crate::types::jl_value_t,
592 objs: *mut *mut crate::types::jl_value_t,
593 nobjs: usize,
594 );
595
596 pub fn jl_gc_schedule_foreign_sweepfunc(
597 ptls: *mut crate::types::jl_tls_states_t,
598 bj: *mut crate::types::jl_value_t,
599 );
600
601 pub fn jl_gc_set_cb_root_scanner(
602 cb: crate::types::jl_gc_cb_root_scanner_t,
603 enable: std::ffi::c_int,
604 );
605
606 pub fn jl_dlopen(
607 filename: *const std::ffi::c_char,
608 flags: std::ffi::c_uint,
609 ) -> *mut std::ffi::c_void;
610
611 pub fn jl_dlclose(handle: *mut std::ffi::c_void) -> std::ffi::c_int;
612
613 pub fn jl_gc_safepoint();
614
615 pub fn jl_init();
616
617 pub fn jl_symbol(str: *const std::ffi::c_char) -> *mut crate::types::jl_sym_t;
618
619 pub fn jl_egal(
620 a: *const crate::types::jl_value_t,
621 b: *const crate::types::jl_value_t,
622 ) -> std::ffi::c_int;
623
624 pub fn jl_adopt_thread() -> *mut *mut crate::types::jl_gcframe_t;
625
626 pub fn jl_reinit_foreign_type(
627 dt: *mut crate::types::jl_datatype_t,
628 markfunc: crate::types::jl_markfunc_t,
629 sweepfunc: crate::types::jl_sweepfunc_t,
630 ) -> std::ffi::c_int;
631
632 pub fn jl_enter_threaded_region();
633
634 pub fn jl_exit_threaded_region();
635
636 #[cfg(julia_1_10)]
639 pub fn jl_new_array(
640 atype: *mut crate::types::jl_value_t,
641 dims: *mut crate::types::jl_value_t,
642 ) -> *mut crate::types::jl_array_t;
643
644 #[cfg(not(julia_1_10))]
647 pub fn jl_alloc_array_nd(
648 atype: *mut crate::types::jl_value_t,
649 dims: *mut usize,
650 ndims: usize,
651 ) -> *mut crate::types::jl_array_t;
652
653 #[cfg(any(julia_1_10, julia_1_11))]
656 pub fn jl_set_const(
657 m: *mut crate::types::jl_module_t,
658 var: *mut crate::types::jl_sym_t,
659 val: *mut crate::types::jl_value_t,
660 );
661
662 #[cfg(any(julia_1_10, julia_1_11))]
663 pub fn jl_init_with_image(
664 julia_bindir: *const std::ffi::c_char,
665 image_path: *const std::ffi::c_char,
666 );
667
668 #[cfg(not(any(julia_1_10, julia_1_11)))]
671 pub fn jl_declare_constant_val(
672 b: *mut crate::types::jl_binding_t,
673 m: *mut crate::types::jl_module_t,
674 var: *mut crate::types::jl_sym_t,
675 val: *mut crate::types::jl_value_t,
676 ) -> *mut crate::types::jl_binding_partition_t;
677
678 #[cfg(not(any(julia_1_10, julia_1_11)))]
679 pub fn jl_init_with_image_file(
680 julia_bindir: *const std::ffi::c_char,
681 image_path: *const std::ffi::c_char,
682 );
683 }
684}
685
686#[cfg(any(windows, target_os = "windows", feature = "windows"))]
690mod indirect {
691 #[link(name = "libjulia", kind = "raw-dylib")]
692 unsafe extern "C" {
693 #![allow(unused)]
694
695 pub static mut jl_options: [u8; 0];
698
699 pub static mut jl_small_typeof: *mut std::ffi::c_void;
700
701 pub static mut jl_excstack_state: *mut std::ffi::c_void;
702
703 pub static mut jl_enter_handler: *mut std::ffi::c_void;
704
705 pub static mut jl_eh_restore_state: *mut std::ffi::c_void;
706
707 pub static mut jl_eh_restore_state_noexcept: *mut std::ffi::c_void;
708
709 pub static mut jl_apply_generic: *mut std::ffi::c_void;
710
711 pub static mut jl_gc_queue_multiroot: *mut std::ffi::c_void;
712
713 pub static mut jl_gc_queue_root: *mut std::ffi::c_void;
714
715 pub static mut jl_compute_fieldtypes: *mut std::ffi::c_void;
716
717 pub static mut jl_setjmp: *mut std::ffi::c_void;
718
719 pub static mut jl_current_exception: *mut std::ffi::c_void;
720
721 pub static mut jl_get_world_counter: *mut std::ffi::c_void;
722
723 pub static mut jl_egal__bitstag: *mut std::ffi::c_void;
724
725 pub static mut jl_error: *mut std::ffi::c_void;
726
727 pub static mut jl_restore_excstack: *mut std::ffi::c_void;
728
729 pub static mut jl_dlsym: *mut std::ffi::c_void;
730
731 #[cfg(julia_1_10)]
734 pub static mut jl_arrayref: *mut std::ffi::c_void;
735
736 #[cfg(julia_1_10)]
737 pub static mut jl_arrayset: *mut std::ffi::c_void;
738
739 #[cfg(julia_1_10)]
740 pub static mut jl_array_typetagdata: *mut std::ffi::c_void;
741
742 #[cfg(not(julia_1_10))]
745 pub static mut jl_unwrap_unionall: *mut std::ffi::c_void;
746
747 #[cfg(not(julia_1_10))]
748 pub static mut jl_genericmemoryref: *mut std::ffi::c_void;
749 }
750}