1#![allow(non_snake_case)]
24#![allow(non_camel_case_types)]
25#![allow(dead_code)]
26#![allow(ambiguous_glob_reexports)]
27#![allow(clippy::not_unsafe_ptr_arg_deref)]
28#![allow(clippy::missing_safety_doc)]
29#![allow(clippy::manual_c_str_literals)]
30
31pub mod api;
32mod ctypes;
33pub mod ffi;
34pub mod general;
35pub mod item;
36pub mod list;
37pub mod state;
38pub mod string;
39#[cfg(test)]
40mod tests;
41pub mod vm;
42#[macro_use]
43pub mod macros;
44
45pub use api::*;
46pub use general::*;
47pub use item::*;
48pub use list::*;
49pub use state::*;
50pub use string::*;
51pub use vm::*;
52
53use ctypes::c_void;
54
55pub type RingState = *mut c_void;
56pub type RingVM = *mut ffi::VM;
57pub type RingList = *mut ffi::List;
58pub type RingFunc = extern "C" fn(*mut c_void);
59
60pub const RING_CPOINTER_STATUS: ctypes::c_uint = 3;
61pub const RING_CPOINTERSTATUS_NOTASSIGNED: ctypes::c_int = 2;
62
63pub const RING_OUTPUT_RETLIST: ctypes::c_int = 0;
64pub const RING_OUTPUT_RETLISTBYREF: ctypes::c_int = 1;
65pub const RING_OUTPUT_RETNEWREF: ctypes::c_int = 2;
66
67pub const RING_VARVALUE_INT: ctypes::c_int = 1;
68pub const RING_VARVALUE_FLOAT: ctypes::c_int = 2;
69
70pub const RING_VAR_NAME: ctypes::c_uint = 1;
71pub const RING_VAR_TYPE: ctypes::c_uint = 2;
72pub const RING_VAR_VALUE: ctypes::c_uint = 3;
73pub const RING_VAR_PVALUETYPE: ctypes::c_uint = 4;
74pub const RING_VAR_PRIVATEFLAG: ctypes::c_uint = 5;
75
76pub const RING_API_MISS1PARA: &[u8] = b"Bad parameters count, the function expect one parameter\0";
77pub const RING_API_MISS2PARA: &[u8] = b"Bad parameters count, the function expect two parameters\0";
78pub const RING_API_MISS3PARA: &[u8] =
79 b"Bad parameters count, the function expect three parameters\0";
80pub const RING_API_MISS4PARA: &[u8] =
81 b"Bad parameters count, the function expect four parameters\0";
82pub const RING_API_BADPARATYPE: &[u8] = b"Bad parameter type!\0";
83pub const RING_API_BADPARACOUNT: &[u8] = b"Bad parameters count!\0";
84pub const RING_API_BADPARARANGE: &[u8] = b"Bad parameters value, error in range!\0";
85pub const RING_API_BADPARALENGTH: &[u8] = b"Bad parameters value, error in length!\0";
86pub const RING_API_BADPARAVALUE: &[u8] = b"Bad parameter value!\0";
87pub const RING_API_NOTPOINTER: &[u8] = b"Error in parameter, not pointer!\0";
88pub const RING_API_NULLPOINTER: &[u8] = b"Error in parameter, NULL pointer!\0";
89pub const RING_API_EMPTYLIST: &[u8] = b"Bad parameter, empty list!\0";
90pub const RING_API_INTERNALFAILURE: &[u8] = b"Internal function call failed!\0";
91pub const RING_API_RANGEEXCEEDED: &[u8] = b"Range Exceeded!\0";