cld2_sys/
wrapper.rs

1/* Originally generated by rust-bindgen, then cleaned up by hand. */
2
3#![allow(missing_copy_implementations)]
4
5use libc::{c_char, c_int, c_double, c_void, size_t, uint16_t, int32_t};
6
7use languages::Language;
8
9#[repr(C)]
10pub struct CLDHints {
11    pub content_language_hint: *const c_char,
12    pub tld_hint: *const c_char,
13    pub encoding_hint: c_int,
14    pub language_hint: Language,
15}
16
17#[derive(Debug)]
18#[repr(C)]
19pub struct ResultChunk {
20    pub offset: c_int,
21    pub bytes: int32_t,
22    pub lang1: uint16_t,
23    pub pad: uint16_t,
24}
25
26pub type ResultChunks = c_void;
27
28extern "C" {
29    pub fn CLD2_ResultChunkVector_new() -> *mut ResultChunks;
30    pub fn CLD2_ResultChunkVector_data(chunks: *const ResultChunks)
31     -> *const ResultChunk;
32    pub fn CLD2_ResultChunkVector_size(chunks: *const ResultChunks) -> size_t;
33    pub fn CLD2_ResultChunkVector_delete(chunks: *mut ResultChunks);
34
35    pub fn CLD2_LanguageName(lang: Language) -> *const c_char;
36    pub fn CLD2_LanguageCode(lang: Language) -> *const c_char;
37    pub fn CLD2_LanguageDeclaredName(lang: Language) -> *const c_char;
38    pub fn CLD2_GetLanguageFromName(src: *const c_char) -> Language;
39
40    pub fn CLD2_DetectLanguage(buffer: *const c_char,
41                               buffer_length: c_int,
42                               is_plain_text: bool, is_reliable: *mut bool)
43     -> Language;
44    pub fn CLD2_DetectLanguageSummary(buffer: *const c_char,
45                                      buffer_length: c_int,
46                                      is_plain_text: bool,
47                                      language3: *mut Language,
48                                      percent3: *mut c_int,
49                                      text_bytes: *mut c_int,
50                                      is_reliable: *mut bool) -> Language;
51    pub fn CLD2_DetectLanguageSummary2(buffer: *const c_char,
52                                       buffer_length: c_int,
53                                       is_plain_text: bool,
54                                       tld_hint: *const c_char,
55                                       encoding_hint: c_int,
56                                       language_hint: Language,
57                                       language3: *mut Language,
58                                       percent3: *mut c_int,
59                                       text_bytes: *mut c_int,
60                                       is_reliable: *mut bool) -> Language;
61    pub fn CLD2_ExtDetectLanguageSummary(buffer: *const c_char,
62                                         buffer_length: c_int,
63                                         is_plain_text: bool,
64                                         language3: *mut Language,
65                                         percent3: *mut c_int,
66                                         text_bytes: *mut c_int,
67                                         is_reliable: *mut bool) -> Language;
68    pub fn CLD2_ExtDetectLanguageSummary2(buffer: *const c_char,
69                                          buffer_length: c_int,
70                                          is_plain_text: bool,
71                                          tld_hint: *const c_char,
72                                          encoding_hint: c_int,
73                                          language_hint: Language,
74                                          language3: *mut Language,
75                                          percent3: *mut c_int,
76                                          text_bytes: *mut c_int,
77                                          is_reliable: *mut bool)
78     -> Language;
79    pub fn CLD2_ExtDetectLanguageSummary3(buffer: *const c_char,
80                                          buffer_length: c_int,
81                                          is_plain_text: bool,
82                                          tld_hint: *const c_char,
83                                          encoding_hint: c_int,
84                                          language_hint: Language,
85                                          language3: *mut Language,
86                                          percent3: *mut c_int,
87                                          normalized_score3:
88                                              *mut c_double,
89                                          text_bytes: *mut c_int,
90                                          is_reliable: *mut bool)
91     -> Language;
92    pub fn CLD2_ExtDetectLanguageSummary4(buffer: *const c_char,
93                                          buffer_length: c_int,
94                                          is_plain_text: bool,
95                                          cld_hints: *const CLDHints,
96                                          flags: c_int,
97                                          language3: *mut Language,
98                                          percent3: *mut c_int,
99                                          normalized_score3:
100                                              *mut c_double,
101                                          resultchunkvector: *mut ResultChunks,
102                                          text_bytes: *mut c_int,
103                                          is_reliable: *mut bool)
104     -> Language;
105    pub fn CLD2_DetectLanguageVersion() -> *const c_char;
106}