/* automatically generated by rust-bindgen 0.70.1 */

#![allow(
    dead_code,
    non_snake_case,
    non_camel_case_types,
    non_upper_case_globals,
    improper_ctypes
)]

pub const UNIBREAK_VERSION: u32 = 1537;
pub const LINEBREAK_MUSTBREAK: u32 = 0;
pub const LINEBREAK_ALLOWBREAK: u32 = 1;
pub const LINEBREAK_NOBREAK: u32 = 2;
pub const LINEBREAK_INSIDEACHAR: u32 = 3;
pub const LINEBREAK_INDETERMINATE: u32 = 4;
unsafe extern "C" {
    pub static unibreak_version: ::std::os::raw::c_int;
}
pub type utf8_t = ::std::os::raw::c_uchar;
pub type utf16_t = ::std::os::raw::c_ushort;
pub type utf32_t = ::std::os::raw::c_uint;
unsafe extern "C" {
    pub fn init_linebreak();
}
unsafe extern "C" {
    pub fn set_linebreaks_utf8(
        s: *const utf8_t,
        len: usize,
        lang: *const ::std::os::raw::c_char,
        brks: *mut ::std::os::raw::c_char,
    );
}
unsafe extern "C" {
    pub fn set_linebreaks_utf16(
        s: *const utf16_t,
        len: usize,
        lang: *const ::std::os::raw::c_char,
        brks: *mut ::std::os::raw::c_char,
    );
}
unsafe extern "C" {
    pub fn set_linebreaks_utf32(
        s: *const utf32_t,
        len: usize,
        lang: *const ::std::os::raw::c_char,
        brks: *mut ::std::os::raw::c_char,
    );
}
unsafe extern "C" {
    pub fn set_linebreaks_utf8_per_code_point(
        s: *const utf8_t,
        len: usize,
        lang: *const ::std::os::raw::c_char,
        brks: *mut ::std::os::raw::c_char,
    ) -> usize;
}
unsafe extern "C" {
    pub fn set_linebreaks_utf16_per_code_point(
        s: *const utf16_t,
        len: usize,
        lang: *const ::std::os::raw::c_char,
        brks: *mut ::std::os::raw::c_char,
    ) -> usize;
}
unsafe extern "C" {
    pub fn is_line_breakable(
        char1: utf32_t,
        char2: utf32_t,
        lang: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}

pub fn init() {
    unsafe {
        init_linebreak();
    };
}
