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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
/* automatically generated by rust-bindgen */

pub type int8_t = ::std::os::raw::c_char;
pub type int16_t = ::std::os::raw::c_short;
pub type int32_t = ::std::os::raw::c_int;
pub type int64_t = ::std::os::raw::c_long;
pub type uint8_t = ::std::os::raw::c_uchar;
pub type uint16_t = ::std::os::raw::c_ushort;
pub type uint32_t = ::std::os::raw::c_uint;
pub type uint64_t = ::std::os::raw::c_ulong;
pub type int_least8_t = ::std::os::raw::c_char;
pub type int_least16_t = ::std::os::raw::c_short;
pub type int_least32_t = ::std::os::raw::c_int;
pub type int_least64_t = ::std::os::raw::c_long;
pub type uint_least8_t = ::std::os::raw::c_uchar;
pub type uint_least16_t = ::std::os::raw::c_ushort;
pub type uint_least32_t = ::std::os::raw::c_uint;
pub type uint_least64_t = ::std::os::raw::c_ulong;
pub type int_fast8_t = ::std::os::raw::c_char;
pub type int_fast16_t = ::std::os::raw::c_long;
pub type int_fast32_t = ::std::os::raw::c_long;
pub type int_fast64_t = ::std::os::raw::c_long;
pub type uint_fast8_t = ::std::os::raw::c_uchar;
pub type uint_fast16_t = ::std::os::raw::c_ulong;
pub type uint_fast32_t = ::std::os::raw::c_ulong;
pub type uint_fast64_t = ::std::os::raw::c_ulong;
pub type intptr_t = ::std::os::raw::c_long;
pub type uintptr_t = ::std::os::raw::c_ulong;
pub type intmax_t = ::std::os::raw::c_long;
pub type uintmax_t = ::std::os::raw::c_ulong;
pub type ptrdiff_t = ::std::os::raw::c_long;
pub type size_t = ::std::os::raw::c_ulong;
pub type wchar_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct_Unnamed1 {
    pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
    pub __clang_max_align_nonce2: ::std::os::raw::c_double,
}
impl ::std::default::Default for Struct_Unnamed1 {
    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
pub type max_align_t = Struct_Unnamed1;
pub type emacs_env = Struct_emacs_env_25;
pub enum Struct_emacs_value_tag { }
pub type emacs_value = *mut Struct_emacs_value_tag;
#[derive(Copy, Clone)]
#[repr(i32)]
pub enum Enum_emacs_arity { emacs_variadic_function = -2, }
pub enum Struct_emacs_runtime_private { }
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct_emacs_runtime {
    pub size: ptrdiff_t,
    pub private_members: *mut Struct_emacs_runtime_private,
    pub get_environment: ::std::option::Option<unsafe extern "C" fn(ert:
                                                                        *mut Struct_emacs_runtime)
                                                   -> *mut emacs_env>,
}
impl ::std::default::Default for Struct_emacs_runtime {
    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
pub type emacs_init_function =
    ::std::option::Option<unsafe extern "C" fn(ert: *mut Struct_emacs_runtime)
                              -> ::std::os::raw::c_int>;
pub type emacs_subr =
    ::std::option::Option<unsafe extern "C" fn(env: *mut emacs_env,
                                               nargs: ptrdiff_t,
                                               args: *mut emacs_value,
                                               data:
                                                   *mut ::std::os::raw::c_void)
                              -> emacs_value>;
#[derive(Copy, Clone)]
#[repr(u32)]
pub enum Enum_emacs_funcall_exit {
    emacs_funcall_exit_return = 0,
    emacs_funcall_exit_signal = 1,
    emacs_funcall_exit_throw = 2,
}
pub enum Struct_emacs_env_private { }
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct_emacs_env_25 {
    pub size: ptrdiff_t,
    pub private_members: *mut Struct_emacs_env_private,
    pub make_global_ref: ::std::option::Option<unsafe extern "C" fn(env:
                                                                        *mut emacs_env,
                                                                    any_reference:
                                                                        emacs_value)
                                                   -> emacs_value>,
    pub free_global_ref: ::std::option::Option<unsafe extern "C" fn(env:
                                                                        *mut emacs_env,
                                                                    global_reference:
                                                                        emacs_value)>,
    pub non_local_exit_check: ::std::option::Option<unsafe extern "C" fn(env:
                                                                             *mut emacs_env)
                                                        ->
                                                            Enum_emacs_funcall_exit>,
    pub non_local_exit_clear: ::std::option::Option<unsafe extern "C" fn(env:
                                                                             *mut emacs_env)>,
    pub non_local_exit_get: ::std::option::Option<unsafe extern "C" fn(env:
                                                                           *mut emacs_env,
                                                                       non_local_exit_symbol_out:
                                                                           *mut emacs_value,
                                                                       non_local_exit_data_out:
                                                                           *mut emacs_value)
                                                      ->
                                                          Enum_emacs_funcall_exit>,
    pub non_local_exit_signal: ::std::option::Option<unsafe extern "C" fn(env:
                                                                              *mut emacs_env,
                                                                          non_local_exit_symbol:
                                                                              emacs_value,
                                                                          non_local_exit_data:
                                                                              emacs_value)>,
    pub non_local_exit_throw: ::std::option::Option<unsafe extern "C" fn(env:
                                                                             *mut emacs_env,
                                                                         tag:
                                                                             emacs_value,
                                                                         value:
                                                                             emacs_value)>,
    pub make_function: ::std::option::Option<unsafe extern "C" fn(env:
                                                                      *mut emacs_env,
                                                                  min_arity:
                                                                      ptrdiff_t,
                                                                  max_arity:
                                                                      ptrdiff_t,
                                                                  function:
                                                                      ::std::option::Option<unsafe extern "C" fn(env:
                                                                                                                     *mut emacs_env,
                                                                                                                 nargs:
                                                                                                                     ptrdiff_t,
                                                                                                                 args:
                                                                                                                     *mut emacs_value,
                                                                                                                 arg1:
                                                                                                                     *mut ::std::os::raw::c_void)
                                                                                                ->
                                                                                                    emacs_value>,
                                                                  documentation:
                                                                      *const ::std::os::raw::c_char,
                                                                  data:
                                                                      *mut ::std::os::raw::c_void)
                                                 -> emacs_value>,
    pub funcall: ::std::option::Option<unsafe extern "C" fn(env:
                                                                *mut emacs_env,
                                                            function:
                                                                emacs_value,
                                                            nargs: ptrdiff_t,
                                                            args:
                                                                *mut emacs_value)
                                           -> emacs_value>,
    pub intern: ::std::option::Option<unsafe extern "C" fn(env:
                                                               *mut emacs_env,
                                                           symbol_name:
                                                               *const ::std::os::raw::c_char)
                                          -> emacs_value>,
    pub type_of: ::std::option::Option<unsafe extern "C" fn(env:
                                                                *mut emacs_env,
                                                            value:
                                                                emacs_value)
                                           -> emacs_value>,
    pub is_not_nil: ::std::option::Option<unsafe extern "C" fn(env:
                                                                   *mut emacs_env,
                                                               value:
                                                                   emacs_value)
                                              -> u8>,
    pub eq: ::std::option::Option<unsafe extern "C" fn(env: *mut emacs_env,
                                                       a: emacs_value,
                                                       b: emacs_value) -> u8>,
    pub extract_integer: ::std::option::Option<unsafe extern "C" fn(env:
                                                                        *mut emacs_env,
                                                                    value:
                                                                        emacs_value)
                                                   -> intmax_t>,
    pub make_integer: ::std::option::Option<unsafe extern "C" fn(env:
                                                                     *mut emacs_env,
                                                                 value:
                                                                     intmax_t)
                                                -> emacs_value>,
    pub extract_float: ::std::option::Option<unsafe extern "C" fn(env:
                                                                      *mut emacs_env,
                                                                  value:
                                                                      emacs_value)
                                                 -> ::std::os::raw::c_double>,
    pub make_float: ::std::option::Option<unsafe extern "C" fn(env:
                                                                   *mut emacs_env,
                                                               value:
                                                                   ::std::os::raw::c_double)
                                              -> emacs_value>,
    pub copy_string_contents: ::std::option::Option<unsafe extern "C" fn(env:
                                                                             *mut emacs_env,
                                                                         value:
                                                                             emacs_value,
                                                                         buffer:
                                                                             *mut ::std::os::raw::c_char,
                                                                         size_inout:
                                                                             *mut ptrdiff_t)
                                                        -> u8>,
    pub make_string: ::std::option::Option<unsafe extern "C" fn(env:
                                                                    *mut emacs_env,
                                                                contents:
                                                                    *const ::std::os::raw::c_char,
                                                                length:
                                                                    ptrdiff_t)
                                               -> emacs_value>,
    pub make_user_ptr: ::std::option::Option<unsafe extern "C" fn(env:
                                                                      *mut emacs_env,
                                                                  fin:
                                                                      ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                                                     *mut ::std::os::raw::c_void)>,
                                                                  ptr:
                                                                      *mut ::std::os::raw::c_void)
                                                 -> emacs_value>,
    pub get_user_ptr: ::std::option::Option<unsafe extern "C" fn(env:
                                                                     *mut emacs_env,
                                                                 uptr:
                                                                     emacs_value)
                                                ->
                                                    *mut ::std::os::raw::c_void>,
    pub set_user_ptr: ::std::option::Option<unsafe extern "C" fn(env:
                                                                     *mut emacs_env,
                                                                 uptr:
                                                                     emacs_value,
                                                                 ptr:
                                                                     *mut ::std::os::raw::c_void)>,
    pub get_user_finalizer: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                           *mut ::std::os::raw::c_void,
                                                                       env:
                                                                           *mut emacs_env,
                                                                       uptr:
                                                                           emacs_value)
                                                      ->
                                                          ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                                         *mut ::std::os::raw::c_void,
                                                                                                     env:
                                                                                                         *mut emacs_env,
                                                                                                     uptr:
                                                                                                         emacs_value)>>,
    pub set_user_finalizer: ::std::option::Option<unsafe extern "C" fn(env:
                                                                           *mut emacs_env,
                                                                       uptr:
                                                                           emacs_value,
                                                                       fin:
                                                                           ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                                                          *mut ::std::os::raw::c_void)>)>,
    pub vec_get: ::std::option::Option<unsafe extern "C" fn(env:
                                                                *mut emacs_env,
                                                            vec: emacs_value,
                                                            i: ptrdiff_t)
                                           -> emacs_value>,
    pub vec_set: ::std::option::Option<unsafe extern "C" fn(env:
                                                                *mut emacs_env,
                                                            vec: emacs_value,
                                                            i: ptrdiff_t,
                                                            val:
                                                                emacs_value)>,
    pub vec_size: ::std::option::Option<unsafe extern "C" fn(env:
                                                                 *mut emacs_env,
                                                             vec: emacs_value)
                                            -> ptrdiff_t>,
}
impl ::std::default::Default for Struct_emacs_env_25 {
    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
extern "C" {
    pub fn emacs_module_init(ert: *mut Struct_emacs_runtime)
     -> ::std::os::raw::c_int;
}