simdutf 0.7.0

Unicode validation and transcoding at billions of characters per second
Documentation
// Auto generated by codegen/src/bindings.rs

use crate::extra::Result;

extern "C" {

    pub fn simdutf_validate_ascii(buf: *const u8, len: usize) -> bool;
    pub fn simdutf_validate_utf8(buf: *const u8, len: usize) -> bool;
    pub fn simdutf_validate_utf16(buf: *const u16, len: usize) -> bool;
    pub fn simdutf_validate_utf16be(buf: *const u16, len: usize) -> bool;
    pub fn simdutf_validate_utf16le(buf: *const u16, len: usize) -> bool;
    pub fn simdutf_validate_utf32(buf: *const u32, len: usize) -> bool;

    pub fn simdutf_validate_ascii_with_errors(buf: *const u8, len: usize) -> Result;
    pub fn simdutf_validate_utf8_with_errors(buf: *const u8, len: usize) -> Result;
    pub fn simdutf_validate_utf16_with_errors(buf: *const u16, len: usize) -> Result;
    pub fn simdutf_validate_utf16be_with_errors(buf: *const u16, len: usize) -> Result;
    pub fn simdutf_validate_utf16le_with_errors(buf: *const u16, len: usize) -> Result;
    pub fn simdutf_validate_utf32_with_errors(buf: *const u32, len: usize) -> Result;

    pub fn simdutf_count_utf8(buf: *const u8, len: usize) -> usize;
    pub fn simdutf_count_utf16(buf: *const u16, len: usize) -> usize;
    pub fn simdutf_count_utf16be(buf: *const u16, len: usize) -> usize;
    pub fn simdutf_count_utf16le(buf: *const u16, len: usize) -> usize;

    pub fn simdutf_utf8_length_from_utf16(buf: *const u16, len: usize) -> usize;
    pub fn simdutf_utf8_length_from_utf16be(buf: *const u16, len: usize) -> usize;
    pub fn simdutf_utf8_length_from_utf16le(buf: *const u16, len: usize) -> usize;
    pub fn simdutf_utf8_length_from_utf32(buf: *const u32, len: usize) -> usize;
    pub fn simdutf_utf8_length_from_latin1(buf: *const u8, len: usize) -> usize;
    pub fn simdutf_utf16_length_from_utf8(buf: *const u8, len: usize) -> usize;
    pub fn simdutf_utf16_length_from_utf32(buf: *const u32, len: usize) -> usize;
    pub fn simdutf_utf16_length_from_latin1(len: usize) -> usize;
    pub fn simdutf_utf32_length_from_utf8(buf: *const u8, len: usize) -> usize;
    pub fn simdutf_utf32_length_from_utf16(buf: *const u16, len: usize) -> usize;
    pub fn simdutf_utf32_length_from_utf16be(buf: *const u16, len: usize) -> usize;
    pub fn simdutf_utf32_length_from_utf16le(buf: *const u16, len: usize) -> usize;
    pub fn simdutf_latin1_length_from_utf8(buf: *const u8, len: usize) -> usize;
    pub fn simdutf_latin1_length_from_utf16(len: usize) -> usize;
    pub fn simdutf_latin1_length_from_utf32(len: usize) -> usize;

    pub fn simdutf_convert_utf8_to_utf16(src: *const u8, len: usize, dst: *mut u16) -> usize;
    pub fn simdutf_convert_utf8_to_utf16be(src: *const u8, len: usize, dst: *mut u16) -> usize;
    pub fn simdutf_convert_utf8_to_utf16le(src: *const u8, len: usize, dst: *mut u16) -> usize;
    pub fn simdutf_convert_utf8_to_utf32(src: *const u8, len: usize, dst: *mut u32) -> usize;
    pub fn simdutf_convert_utf8_to_latin1(src: *const u8, len: usize, dst: *mut u8) -> usize;
    pub fn simdutf_convert_utf16_to_utf8(src: *const u16, len: usize, dst: *mut u8) -> usize;
    pub fn simdutf_convert_utf16_to_utf32(src: *const u16, len: usize, dst: *mut u32) -> usize;
    pub fn simdutf_convert_utf16_to_latin1(src: *const u16, len: usize, dst: *mut u8) -> usize;
    pub fn simdutf_convert_utf16be_to_utf8(src: *const u16, len: usize, dst: *mut u8) -> usize;
    pub fn simdutf_convert_utf16be_to_utf32(src: *const u16, len: usize, dst: *mut u32) -> usize;
    pub fn simdutf_convert_utf16be_to_latin1(src: *const u16, len: usize, dst: *mut u8) -> usize;
    pub fn simdutf_convert_utf16le_to_utf8(src: *const u16, len: usize, dst: *mut u8) -> usize;
    pub fn simdutf_convert_utf16le_to_utf32(src: *const u16, len: usize, dst: *mut u32) -> usize;
    pub fn simdutf_convert_utf16le_to_latin1(src: *const u16, len: usize, dst: *mut u8) -> usize;
    pub fn simdutf_convert_utf32_to_utf8(src: *const u32, len: usize, dst: *mut u8) -> usize;
    pub fn simdutf_convert_utf32_to_utf16(src: *const u32, len: usize, dst: *mut u16) -> usize;
    pub fn simdutf_convert_utf32_to_utf16be(src: *const u32, len: usize, dst: *mut u16) -> usize;
    pub fn simdutf_convert_utf32_to_utf16le(src: *const u32, len: usize, dst: *mut u16) -> usize;
    pub fn simdutf_convert_utf32_to_latin1(src: *const u32, len: usize, dst: *mut u8) -> usize;
    pub fn simdutf_convert_latin1_to_utf8(src: *const u8, len: usize, dst: *mut u8) -> usize;
    pub fn simdutf_convert_latin1_to_utf16(src: *const u8, len: usize, dst: *mut u16) -> usize;
    pub fn simdutf_convert_latin1_to_utf16be(src: *const u8, len: usize, dst: *mut u16) -> usize;
    pub fn simdutf_convert_latin1_to_utf16le(src: *const u8, len: usize, dst: *mut u16) -> usize;
    pub fn simdutf_convert_latin1_to_utf32(src: *const u8, len: usize, dst: *mut u32) -> usize;

    pub fn simdutf_convert_utf8_to_utf16_with_errors(src: *const u8, len: usize, dst: *mut u16) -> Result;
    pub fn simdutf_convert_utf8_to_utf16be_with_errors(src: *const u8, len: usize, dst: *mut u16) -> Result;
    pub fn simdutf_convert_utf8_to_utf16le_with_errors(src: *const u8, len: usize, dst: *mut u16) -> Result;
    pub fn simdutf_convert_utf8_to_utf32_with_errors(src: *const u8, len: usize, dst: *mut u32) -> Result;
    pub fn simdutf_convert_utf8_to_latin1_with_errors(src: *const u8, len: usize, dst: *mut u8) -> Result;
    pub fn simdutf_convert_utf16_to_utf8_with_errors(src: *const u16, len: usize, dst: *mut u8) -> Result;
    pub fn simdutf_convert_utf16_to_utf32_with_errors(src: *const u16, len: usize, dst: *mut u32) -> Result;
    pub fn simdutf_convert_utf16_to_latin1_with_errors(src: *const u16, len: usize, dst: *mut u8) -> Result;
    pub fn simdutf_convert_utf16be_to_utf8_with_errors(src: *const u16, len: usize, dst: *mut u8) -> Result;
    pub fn simdutf_convert_utf16be_to_utf32_with_errors(src: *const u16, len: usize, dst: *mut u32) -> Result;
    pub fn simdutf_convert_utf16be_to_latin1_with_errors(src: *const u16, len: usize, dst: *mut u8) -> Result;
    pub fn simdutf_convert_utf16le_to_utf8_with_errors(src: *const u16, len: usize, dst: *mut u8) -> Result;
    pub fn simdutf_convert_utf16le_to_utf32_with_errors(src: *const u16, len: usize, dst: *mut u32) -> Result;
    pub fn simdutf_convert_utf16le_to_latin1_with_errors(src: *const u16, len: usize, dst: *mut u8) -> Result;
    pub fn simdutf_convert_utf32_to_utf8_with_errors(src: *const u32, len: usize, dst: *mut u8) -> Result;
    pub fn simdutf_convert_utf32_to_utf16_with_errors(src: *const u32, len: usize, dst: *mut u16) -> Result;
    pub fn simdutf_convert_utf32_to_utf16be_with_errors(src: *const u32, len: usize, dst: *mut u16) -> Result;
    pub fn simdutf_convert_utf32_to_utf16le_with_errors(src: *const u32, len: usize, dst: *mut u16) -> Result;

    pub fn simdutf_convert_valid_utf8_to_utf16(src: *const u8, len: usize, dst: *mut u16) -> usize;
    pub fn simdutf_convert_valid_utf8_to_utf16be(src: *const u8, len: usize, dst: *mut u16) -> usize;
    pub fn simdutf_convert_valid_utf8_to_utf16le(src: *const u8, len: usize, dst: *mut u16) -> usize;
    pub fn simdutf_convert_valid_utf8_to_utf32(src: *const u8, len: usize, dst: *mut u32) -> usize;
    pub fn simdutf_convert_valid_utf8_to_latin1(src: *const u8, len: usize, dst: *mut u8) -> usize;
    pub fn simdutf_convert_valid_utf16_to_utf8(src: *const u16, len: usize, dst: *mut u8) -> usize;
    pub fn simdutf_convert_valid_utf16_to_utf32(src: *const u16, len: usize, dst: *mut u32) -> usize;
    pub fn simdutf_convert_valid_utf16_to_latin1(src: *const u16, len: usize, dst: *mut u8) -> usize;
    pub fn simdutf_convert_valid_utf16be_to_utf8(src: *const u16, len: usize, dst: *mut u8) -> usize;
    pub fn simdutf_convert_valid_utf16be_to_utf32(src: *const u16, len: usize, dst: *mut u32) -> usize;
    pub fn simdutf_convert_valid_utf16be_to_latin1(src: *const u16, len: usize, dst: *mut u8) -> usize;
    pub fn simdutf_convert_valid_utf16le_to_utf8(src: *const u16, len: usize, dst: *mut u8) -> usize;
    pub fn simdutf_convert_valid_utf16le_to_utf32(src: *const u16, len: usize, dst: *mut u32) -> usize;
    pub fn simdutf_convert_valid_utf16le_to_latin1(src: *const u16, len: usize, dst: *mut u8) -> usize;
    pub fn simdutf_convert_valid_utf32_to_utf8(src: *const u32, len: usize, dst: *mut u8) -> usize;
    pub fn simdutf_convert_valid_utf32_to_utf16(src: *const u32, len: usize, dst: *mut u16) -> usize;
    pub fn simdutf_convert_valid_utf32_to_utf16be(src: *const u32, len: usize, dst: *mut u16) -> usize;
    pub fn simdutf_convert_valid_utf32_to_utf16le(src: *const u32, len: usize, dst: *mut u16) -> usize;

    pub fn simdutf_maximal_binary_length_from_base64(input: *const u8, len: usize) -> usize;

    pub fn simdutf_maximal_binary_length_from_base64_utf16(input: *const u16, len: usize) -> usize;

    pub fn simdutf_base64_to_binary(
        input: *const u8,
        len: usize,
        output: *mut u8,
        options: u64,
        last_chunk_options: u64,
    ) -> Result;

    pub fn simdutf_base64_length_from_binary(len: usize, options: u64) -> usize;

    pub fn simdutf_base64_length_from_binary_with_lines(len: usize, options: u64, line_length: usize) -> usize;

    pub fn simdutf_binary_to_base64(input: *const u8, len: usize, output: *mut u8, options: u64) -> usize;

    pub fn simdutf_binary_to_base64_with_lines(
        input: *const u8,
        len: usize,
        output: *mut u8,
        line_length: usize,
        options: u64,
    ) -> usize;

    pub fn simdutf_base64_to_binary_utf16(
        input: *const u16,
        len: usize,
        output: *mut u8,
        options: u64,
        last_chunk_options: u64,
    ) -> Result;

    pub fn simdutf_base64_to_binary_safe(
        input: *const u8,
        len: usize,
        output: *mut u8,
        out_len: *mut usize,
        options: u64,
        last_chunk_options: u64,
        decode_up_to_bad_char: bool,
    ) -> Result;

    pub fn simdutf_base64_to_binary_safe_utf16(
        input: *const u16,
        len: usize,
        output: *mut u8,
        out_len: *mut usize,
        options: u64,
        last_chunk_options: u64,
        decode_up_to_bad_char: bool,
    ) -> Result;

}