1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
/* Originally generated by rust-bindgen, then cleaned up by hand. */

#![allow(missing_copy_implementations)]

use libc::{c_char, c_int, c_double, c_void, size_t, uint16_t, int32_t};

use languages::Language;

#[repr(C)]
pub struct CLDHints {
    pub content_language_hint: *const c_char,
    pub tld_hint: *const c_char,
    pub encoding_hint: c_int,
    pub language_hint: Language,
}

#[derive(Debug)]
#[repr(C)]
pub struct ResultChunk {
    pub offset: c_int,
    pub bytes: int32_t,
    pub lang1: uint16_t,
    pub pad: uint16_t,
}

pub type ResultChunks = c_void;

extern "C" {
    pub fn CLD2_ResultChunkVector_new() -> *mut ResultChunks;
    pub fn CLD2_ResultChunkVector_data(chunks: *const ResultChunks)
     -> *const ResultChunk;
    pub fn CLD2_ResultChunkVector_size(chunks: *const ResultChunks) -> size_t;
    pub fn CLD2_ResultChunkVector_delete(chunks: *mut ResultChunks);

    pub fn CLD2_LanguageName(lang: Language) -> *const c_char;
    pub fn CLD2_LanguageCode(lang: Language) -> *const c_char;
    pub fn CLD2_LanguageDeclaredName(lang: Language) -> *const c_char;
    pub fn CLD2_GetLanguageFromName(src: *const c_char) -> Language;

    pub fn CLD2_DetectLanguage(buffer: *const c_char,
                               buffer_length: c_int,
                               is_plain_text: bool, is_reliable: *mut bool)
     -> Language;
    pub fn CLD2_DetectLanguageSummary(buffer: *const c_char,
                                      buffer_length: c_int,
                                      is_plain_text: bool,
                                      language3: *mut Language,
                                      percent3: *mut c_int,
                                      text_bytes: *mut c_int,
                                      is_reliable: *mut bool) -> Language;
    pub fn CLD2_DetectLanguageSummary2(buffer: *const c_char,
                                       buffer_length: c_int,
                                       is_plain_text: bool,
                                       tld_hint: *const c_char,
                                       encoding_hint: c_int,
                                       language_hint: Language,
                                       language3: *mut Language,
                                       percent3: *mut c_int,
                                       text_bytes: *mut c_int,
                                       is_reliable: *mut bool) -> Language;
    pub fn CLD2_ExtDetectLanguageSummary(buffer: *const c_char,
                                         buffer_length: c_int,
                                         is_plain_text: bool,
                                         language3: *mut Language,
                                         percent3: *mut c_int,
                                         text_bytes: *mut c_int,
                                         is_reliable: *mut bool) -> Language;
    pub fn CLD2_ExtDetectLanguageSummary2(buffer: *const c_char,
                                          buffer_length: c_int,
                                          is_plain_text: bool,
                                          tld_hint: *const c_char,
                                          encoding_hint: c_int,
                                          language_hint: Language,
                                          language3: *mut Language,
                                          percent3: *mut c_int,
                                          text_bytes: *mut c_int,
                                          is_reliable: *mut bool)
     -> Language;
    pub fn CLD2_ExtDetectLanguageSummary3(buffer: *const c_char,
                                          buffer_length: c_int,
                                          is_plain_text: bool,
                                          tld_hint: *const c_char,
                                          encoding_hint: c_int,
                                          language_hint: Language,
                                          language3: *mut Language,
                                          percent3: *mut c_int,
                                          normalized_score3:
                                              *mut c_double,
                                          text_bytes: *mut c_int,
                                          is_reliable: *mut bool)
     -> Language;
    pub fn CLD2_ExtDetectLanguageSummary4(buffer: *const c_char,
                                          buffer_length: c_int,
                                          is_plain_text: bool,
                                          cld_hints: *const CLDHints,
                                          flags: c_int,
                                          language3: *mut Language,
                                          percent3: *mut c_int,
                                          normalized_score3:
                                              *mut c_double,
                                          resultchunkvector: *mut ResultChunks,
                                          text_bytes: *mut c_int,
                                          is_reliable: *mut bool)
     -> Language;
    pub fn CLD2_DetectLanguageVersion() -> *const c_char;
}