osqp_rust_sys/src64/lin_sys/
lib_handler.rs1extern "C" {
2 fn dlsym(
3 __handle: *mut ::std::os::raw::c_void,
4 __symbol: *const ::std::os::raw::c_char,
5 ) -> *mut ::std::os::raw::c_void;
6 fn dlopen(__path: *const ::std::os::raw::c_char, __mode: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_void;
7 fn dlerror() -> *mut ::std::os::raw::c_char;
8 fn dlclose(__handle: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
9 fn printf(_: *const ::std::os::raw::c_char, _: ...) -> ::std::os::raw::c_int;
10 fn __toupper(_: __darwin_ct_rune_t) -> __darwin_ct_rune_t;
11 fn __tolower(_: __darwin_ct_rune_t) -> __darwin_ct_rune_t;
12 fn c_strcpy(dest: *mut ::std::os::raw::c_char, source: *const ::std::os::raw::c_char);
13}
14pub type __darwin_ct_rune_t = ::std::os::raw::c_int;
15pub type __darwin_size_t = ::std::os::raw::c_ulong;
16pub type size_t = __darwin_size_t;
17pub type c_int = ::std::os::raw::c_longlong;
18pub type soHandle_t = *mut ::std::os::raw::c_void;
19pub type symtype = *mut ::std::os::raw::c_void;
20pub const RTLD_LAZY: ::std::os::raw::c_int = 0x1 as ::std::os::raw::c_int;
21pub const c_print: unsafe extern "C" fn(*const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int = printf;
22#[no_mangle]
23#[inline]
24#[linkage = "external"]
25pub unsafe extern "C" fn tolower(mut _c: ::std::os::raw::c_int) -> ::std::os::raw::c_int {
26 return __tolower(_c);
27}
28#[no_mangle]
29#[inline]
30#[linkage = "external"]
31pub unsafe extern "C" fn toupper(mut _c: ::std::os::raw::c_int) -> ::std::os::raw::c_int {
32 return __toupper(_c);
33}
34pub const OSQP_NULL: ::std::os::raw::c_int = 0 as ::std::os::raw::c_int;
35#[no_mangle]
36pub unsafe extern "C" fn lh_load_lib(mut libName: *const ::std::os::raw::c_char) -> soHandle_t {
37 let mut h: soHandle_t = OSQP_NULL as soHandle_t;
38 if libName.is_null() {
39 printf(
40 b"ERROR in %s: \0" as *const u8 as *const ::std::os::raw::c_char,
41 (*::std::mem::transmute::<&[u8; 12], &[::std::os::raw::c_char; 12]>(b"lh_load_lib\0"))
42 .as_ptr(),
43 );
44 printf(b"no library name given\0" as *const u8 as *const ::std::os::raw::c_char);
45 printf(b"\n\0" as *const u8 as *const ::std::os::raw::c_char);
46 return OSQP_NULL as soHandle_t;
47 }
48 h = dlopen(libName, RTLD_LAZY);
49 if h.is_null() {
50 printf(
51 b"ERROR in %s: \0" as *const u8 as *const ::std::os::raw::c_char,
52 (*::std::mem::transmute::<&[u8; 12], &[::std::os::raw::c_char; 12]>(b"lh_load_lib\0"))
53 .as_ptr(),
54 );
55 printf(
56 b"Error while loading dynamic library %s: %s\0" as *const u8
57 as *const ::std::os::raw::c_char,
58 libName,
59 dlerror(),
60 );
61 printf(b"\n\0" as *const u8 as *const ::std::os::raw::c_char);
62 }
63 return h;
64}
65#[no_mangle]
66pub unsafe extern "C" fn lh_unload_lib(mut h: soHandle_t) -> c_int {
67 let mut rc: c_int = 1 as ::std::os::raw::c_int as c_int;
68 rc = dlclose(h) as c_int;
69 return rc;
70}
71#[no_mangle]
72pub unsafe extern "C" fn lh_load_sym(
73 mut h: soHandle_t,
74 mut symName: *const ::std::os::raw::c_char,
75) -> symtype {
76 let mut s: symtype = 0 as *mut ::std::os::raw::c_void;
77 let mut from: *const ::std::os::raw::c_char = 0 as *const ::std::os::raw::c_char;
78 let mut to: *mut ::std::os::raw::c_char = 0 as *mut ::std::os::raw::c_char;
79 let mut tripSym: *const ::std::os::raw::c_char = 0 as *const ::std::os::raw::c_char;
80 let mut err: *mut ::std::os::raw::c_char = 0 as *mut ::std::os::raw::c_char;
81 let mut lcbuf: [::std::os::raw::c_char; 257] = [0; 257];
82 let mut ucbuf: [::std::os::raw::c_char; 257] = [0; 257];
83 let mut ocbuf: [::std::os::raw::c_char; 257] = [0; 257];
84 let mut symLen: size_t = 0;
85 let mut trip: ::std::os::raw::c_int = 0;
86 s = OSQP_NULL as symtype;
87 err = OSQP_NULL as *mut ::std::os::raw::c_char;
88 symLen = 0 as ::std::os::raw::c_int as size_t;
89 trip = 1 as ::std::os::raw::c_int;
90 while trip <= 6 as ::std::os::raw::c_int {
91 match trip {
92 1 => {
93 tripSym = symName;
94 }
95 2 => {
96 from = symName;
97 to = lcbuf.as_mut_ptr();
98 while *from != 0 {
99 *to = tolower(*from as ::std::os::raw::c_int) as ::std::os::raw::c_char;
100 from = from.offset(1);
101 to = to.offset(1);
102 }
103 symLen = from.offset_from(symName) as ::std::os::raw::c_long as size_t;
104 let fresh0 = to;
105 to = to.offset(1);
106 *fresh0 = '_' as i32 as ::std::os::raw::c_char;
107 *to = '\u{0}' as i32 as ::std::os::raw::c_char;
108 tripSym = lcbuf.as_mut_ptr();
109 }
110 3 => {
111 from = symName;
112 to = ucbuf.as_mut_ptr();
113 while *from != 0 {
114 *to = toupper(*from as ::std::os::raw::c_int) as ::std::os::raw::c_char;
115 from = from.offset(1);
116 to = to.offset(1);
117 }
118 let fresh1 = to;
119 to = to.offset(1);
120 *fresh1 = '_' as i32 as ::std::os::raw::c_char;
121 *to = '\u{0}' as i32 as ::std::os::raw::c_char;
122 tripSym = ucbuf.as_mut_ptr();
123 }
124 4 => {
125 c_strcpy(ocbuf.as_mut_ptr(), symName);
126 ocbuf[symLen as usize] = '_' as i32 as ::std::os::raw::c_char;
127 ocbuf[symLen.wrapping_add(1 as ::std::os::raw::c_int as ::std::os::raw::c_ulong)
128 as usize] = '\u{0}' as i32 as ::std::os::raw::c_char;
129 tripSym = ocbuf.as_mut_ptr();
130 }
131 5 => {
132 lcbuf[symLen as usize] = '\u{0}' as i32 as ::std::os::raw::c_char;
133 tripSym = lcbuf.as_mut_ptr();
134 }
135 6 => {
136 ucbuf[symLen as usize] = '\u{0}' as i32 as ::std::os::raw::c_char;
137 tripSym = ucbuf.as_mut_ptr();
138 }
139 _ => {
140 tripSym = symName;
141 }
142 }
143 s = dlsym(h, tripSym);
144 err = dlerror();
145 if !err.is_null() {
146 printf(
147 b"ERROR in %s: \0" as *const u8 as *const ::std::os::raw::c_char,
148 (*::std::mem::transmute::<
149 &[u8; 12],
150 &[::std::os::raw::c_char; 12],
151 >(b"lh_load_sym\0"))
152 .as_ptr(),
153 );
154 printf(
155 b"Cannot find symbol %s in dynamic library, error = %s\0" as *const u8
156 as *const ::std::os::raw::c_char,
157 symName,
158 err,
159 );
160 printf(b"\n\0" as *const u8 as *const ::std::os::raw::c_char);
161 } else {
162 return s
163 }
164 trip += 1;
165 }
166 return OSQP_NULL as symtype;
167}