osqp-rust-sys 0.6.2

c2rust(osqp-sys)
Documentation
extern "C" {
    fn dlsym(
        __handle: *mut ::std::os::raw::c_void,
        __symbol: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_void;
    fn dlopen(__path: *const ::std::os::raw::c_char, __mode: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_void;
    fn dlerror() -> *mut ::std::os::raw::c_char;
    fn dlclose(__handle: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
    fn printf(_: *const ::std::os::raw::c_char, _: ...) -> ::std::os::raw::c_int;
    fn __toupper(_: __darwin_ct_rune_t) -> __darwin_ct_rune_t;
    fn __tolower(_: __darwin_ct_rune_t) -> __darwin_ct_rune_t;
    fn c_strcpy(dest: *mut ::std::os::raw::c_char, source: *const ::std::os::raw::c_char);
}
pub type __darwin_ct_rune_t = ::std::os::raw::c_int;
pub type __darwin_size_t = ::std::os::raw::c_ulong;
pub type size_t = __darwin_size_t;
pub type c_int = ::std::os::raw::c_longlong;
pub type soHandle_t = *mut ::std::os::raw::c_void;
pub type symtype = *mut ::std::os::raw::c_void;
pub const RTLD_LAZY: ::std::os::raw::c_int = 0x1 as ::std::os::raw::c_int;
pub const c_print: unsafe extern "C" fn(*const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int = printf;
#[no_mangle]
#[inline]
#[linkage = "external"]
pub unsafe extern "C" fn tolower(mut _c: ::std::os::raw::c_int) -> ::std::os::raw::c_int {
    return __tolower(_c);
}
#[no_mangle]
#[inline]
#[linkage = "external"]
pub unsafe extern "C" fn toupper(mut _c: ::std::os::raw::c_int) -> ::std::os::raw::c_int {
    return __toupper(_c);
}
pub const OSQP_NULL: ::std::os::raw::c_int = 0 as ::std::os::raw::c_int;
#[no_mangle]
pub unsafe extern "C" fn lh_load_lib(mut libName: *const ::std::os::raw::c_char) -> soHandle_t {
    let mut h: soHandle_t = OSQP_NULL as soHandle_t;
    if libName.is_null() {
        printf(
            b"ERROR in %s: \0" as *const u8 as *const ::std::os::raw::c_char,
            (*::std::mem::transmute::<&[u8; 12], &[::std::os::raw::c_char; 12]>(b"lh_load_lib\0"))
                .as_ptr(),
        );
        printf(b"no library name given\0" as *const u8 as *const ::std::os::raw::c_char);
        printf(b"\n\0" as *const u8 as *const ::std::os::raw::c_char);
        return OSQP_NULL as soHandle_t;
    }
    h = dlopen(libName, RTLD_LAZY);
    if h.is_null() {
        printf(
            b"ERROR in %s: \0" as *const u8 as *const ::std::os::raw::c_char,
            (*::std::mem::transmute::<&[u8; 12], &[::std::os::raw::c_char; 12]>(b"lh_load_lib\0"))
                .as_ptr(),
        );
        printf(
            b"Error while loading dynamic library %s: %s\0" as *const u8
                as *const ::std::os::raw::c_char,
            libName,
            dlerror(),
        );
        printf(b"\n\0" as *const u8 as *const ::std::os::raw::c_char);
    }
    return h;
}
#[no_mangle]
pub unsafe extern "C" fn lh_unload_lib(mut h: soHandle_t) -> c_int {
    let mut rc: c_int = 1 as ::std::os::raw::c_int as c_int;
    rc = dlclose(h) as c_int;
    return rc;
}
#[no_mangle]
pub unsafe extern "C" fn lh_load_sym(
    mut h: soHandle_t,
    mut symName: *const ::std::os::raw::c_char,
) -> symtype {
    let mut s: symtype = 0 as *mut ::std::os::raw::c_void;
    let mut from: *const ::std::os::raw::c_char = 0 as *const ::std::os::raw::c_char;
    let mut to: *mut ::std::os::raw::c_char = 0 as *mut ::std::os::raw::c_char;
    let mut tripSym: *const ::std::os::raw::c_char = 0 as *const ::std::os::raw::c_char;
    let mut err: *mut ::std::os::raw::c_char = 0 as *mut ::std::os::raw::c_char;
    let mut lcbuf: [::std::os::raw::c_char; 257] = [0; 257];
    let mut ucbuf: [::std::os::raw::c_char; 257] = [0; 257];
    let mut ocbuf: [::std::os::raw::c_char; 257] = [0; 257];
    let mut symLen: size_t = 0;
    let mut trip: ::std::os::raw::c_int = 0;
    s = OSQP_NULL as symtype;
    err = OSQP_NULL as *mut ::std::os::raw::c_char;
    symLen = 0 as ::std::os::raw::c_int as size_t;
    trip = 1 as ::std::os::raw::c_int;
    while trip <= 6 as ::std::os::raw::c_int {
        match trip {
            1 => {
                tripSym = symName;
            }
            2 => {
                from = symName;
                to = lcbuf.as_mut_ptr();
                while *from != 0 {
                    *to = tolower(*from as ::std::os::raw::c_int) as ::std::os::raw::c_char;
                    from = from.offset(1);
                    to = to.offset(1);
                }
                symLen = from.offset_from(symName) as ::std::os::raw::c_long as size_t;
                let fresh0 = to;
                to = to.offset(1);
                *fresh0 = '_' as i32 as ::std::os::raw::c_char;
                *to = '\u{0}' as i32 as ::std::os::raw::c_char;
                tripSym = lcbuf.as_mut_ptr();
            }
            3 => {
                from = symName;
                to = ucbuf.as_mut_ptr();
                while *from != 0 {
                    *to = toupper(*from as ::std::os::raw::c_int) as ::std::os::raw::c_char;
                    from = from.offset(1);
                    to = to.offset(1);
                }
                let fresh1 = to;
                to = to.offset(1);
                *fresh1 = '_' as i32 as ::std::os::raw::c_char;
                *to = '\u{0}' as i32 as ::std::os::raw::c_char;
                tripSym = ucbuf.as_mut_ptr();
            }
            4 => {
                c_strcpy(ocbuf.as_mut_ptr(), symName);
                ocbuf[symLen as usize] = '_' as i32 as ::std::os::raw::c_char;
                ocbuf[symLen.wrapping_add(1 as ::std::os::raw::c_int as ::std::os::raw::c_ulong)
                    as usize] = '\u{0}' as i32 as ::std::os::raw::c_char;
                tripSym = ocbuf.as_mut_ptr();
            }
            5 => {
                lcbuf[symLen as usize] = '\u{0}' as i32 as ::std::os::raw::c_char;
                tripSym = lcbuf.as_mut_ptr();
            }
            6 => {
                ucbuf[symLen as usize] = '\u{0}' as i32 as ::std::os::raw::c_char;
                tripSym = ucbuf.as_mut_ptr();
            }
            _ => {
                tripSym = symName;
            }
        }
        s = dlsym(h, tripSym);
        err = dlerror();
        if !err.is_null() {
            printf(
                b"ERROR in %s: \0" as *const u8 as *const ::std::os::raw::c_char,
                (*::std::mem::transmute::<
                    &[u8; 12],
                    &[::std::os::raw::c_char; 12],
                >(b"lh_load_sym\0"))
                    .as_ptr(),
            );
            printf(
                b"Cannot find symbol %s in dynamic library, error = %s\0" as *const u8
                    as *const ::std::os::raw::c_char,
                symName,
                err,
            );
            printf(b"\n\0" as *const u8 as *const ::std::os::raw::c_char);
        } else {
            return s
        }
        trip += 1;
    }
    return OSQP_NULL as symtype;
}