rsfbclient_native/ibase.rs
1//! Constants, structs and functions from the native fbclient
2#![allow(unused_macros)]
3
4pub use rsfbclient_core::ibase::*;
5
6//Generates the IBase trait and one or both of its implementations
7//(dynamic linking version, libloading version)
8macro_rules! parse_functions {
9 ($(
10 extern "C" {
11 pub fn $name:ident $items:tt $( -> $ret:ty )? ;
12 }
13 )*) =>
14 {
15 pub trait IBase : Send{
16 $( gen_dynlink_signature_only!( $name ~ $items ~ $($ret)? ); )*
17 }
18
19 #[cfg(feature = "linking")]
20 pub struct IBaseLinking;
21 #[cfg(feature = "linking")]
22 impl IBase for IBaseLinking {
23 $( gen_dynlink_definition!( $name ~ $items ~ $($ret)? ); )*
24 }
25
26 #[cfg(feature = "dynamic_loading")]
27 pub struct IBaseDynLoading(std::sync::Arc<libloading::Library>);
28 #[cfg(feature = "dynamic_loading")]
29 impl IBase for IBaseDynLoading {
30 $( gen_libloading_definition!( $name ~ $items ~ $($ret)? ); )*
31 }
32 }
33}
34
35#[cfg(feature = "dynamic_loading")]
36use std::ffi::OsStr;
37#[cfg(feature = "dynamic_loading")]
38impl IBaseDynLoading {
39 pub fn with_client(fbclient: &OsStr) -> Result<Self, libloading::Error> {
40 #[cfg(not(target_os = "macos"))]
41 let lib = unsafe { libloading::Library::new(fbclient)? };
42
43 #[cfg(target_os = "macos")]
44 let lib = unsafe {
45 libloading::os::unix::Library::open(Some(fbclient), libloading::os::unix::RTLD_NOW)?
46 .into()
47 };
48
49 Ok(IBaseDynLoading(std::sync::Arc::new(lib)))
50 }
51}
52
53//Generates a signature like
54//unsafe fn isc_xyz(&self)
55//-> unsafe extern "C"
56// fn(arg1: isc_handle_type, arg2: other_isc_handle_type...) -> SOME_ISC_RETURN_TYPE;
57//
58//from the C decls
59//That is, an unsafe function returning an unsafe extern C function pointer
60macro_rules! gen_dynlink_signature_only {
61 ( $name:ident ~ ( $( $params:tt )* ) ~ $($ret:ty)? )
62 => ( unsafe fn$name(&self) -> unsafe extern "C" fn( $($params)* ) -> $($ret)? ;)
63}
64
65//Generates a definition like
66//unsafe fn isc_xyz(&self)
67//-> unsafe extern "C" fn(arg1: isc_handle_type, arg2: other_isc_handle_type...) -> SOME_ISC_RETURN_TYPE {
68// extern "C" {
69// pub fn isc_xyz(arg1: isc_handle_type, arg2: other_isc_handle_type...) -> SOME_ISC_RETURN_TYPE
70// }
71// function_name
72//}
73//
74//from the C decls
75//That is, an unsafe function returning an unsafe extern C function pointer
76macro_rules! gen_dynlink_definition {
77 ( $name:ident ~ ( $( $params:tt )* ) ~ $($ret:ty)? )
78 => {
79 unsafe fn $name(&self) -> unsafe extern "C" fn( $($params)* ) -> $($ret)? {
80 extern "C" {
81 pub fn $name ( $($params)* ) -> $($ret)?;
82 }
83 $name
84 }
85 }
86}
87
88//Generates a definition like
89//unsafe fn isc_xyz(&self)
90//-> unsafe extern "C" fn(arg1: isc_handle_type, arg2: other_isc_handle_type...) -> SOME_ISC_RETURN_TYPE {
91// *self.0.get( stringify!($name).as_bytes() ).unwrap()
92//}
93//
94//from the C decls
95//where Self is struct IBaseDynLoading(std::sync::Arc<libloading::Library>);
96//That is, an unsafe function returning an unsafe extern C function pointer using
97//the libloading crate
98macro_rules! gen_libloading_definition {
99 ( $name:ident ~ ( $( $params:tt )* ) ~ $($ret:ty)? )
100 => {
101 unsafe fn $name(&self) -> unsafe extern "C" fn( $($params)* ) -> $($ret)? {
102 *self.0.get( stringify!($name).as_bytes() ).unwrap()
103 }
104 }
105}
106
107parse_functions! {
108 extern "C" {
109 pub fn isc_attach_database(
110 arg1: *mut ISC_STATUS,
111 arg2: ::std::os::raw::c_short,
112 arg3: *const ISC_SCHAR,
113 arg4: *mut isc_db_handle,
114 arg5: ::std::os::raw::c_short,
115 arg6: *const ISC_SCHAR,
116 ) -> ISC_STATUS;
117 }
118 // extern "C" {
119 // pub fn isc_array_gen_sdl(
120 // arg1: *mut ISC_STATUS,
121 // arg2: *const ISC_ARRAY_DESC,
122 // arg3: *mut ISC_SHORT,
123 // arg4: *mut ISC_UCHAR,
124 // arg5: *mut ISC_SHORT,
125 // ) -> ISC_STATUS;
126 // }
127 // extern "C" {
128 // pub fn isc_array_get_slice(
129 // arg1: *mut ISC_STATUS,
130 // arg2: *mut isc_db_handle,
131 // arg3: *mut isc_tr_handle,
132 // arg4: *mut ISC_QUAD,
133 // arg5: *const ISC_ARRAY_DESC,
134 // arg6: *mut ::std::os::raw::c_void,
135 // arg7: *mut ISC_LONG,
136 // ) -> ISC_STATUS;
137 // }
138 // extern "C" {
139 // pub fn isc_array_lookup_bounds(
140 // arg1: *mut ISC_STATUS,
141 // arg2: *mut isc_db_handle,
142 // arg3: *mut isc_tr_handle,
143 // arg4: *const ISC_SCHAR,
144 // arg5: *const ISC_SCHAR,
145 // arg6: *mut ISC_ARRAY_DESC,
146 // ) -> ISC_STATUS;
147 // }
148 // extern "C" {
149 // pub fn isc_array_lookup_desc(
150 // arg1: *mut ISC_STATUS,
151 // arg2: *mut isc_db_handle,
152 // arg3: *mut isc_tr_handle,
153 // arg4: *const ISC_SCHAR,
154 // arg5: *const ISC_SCHAR,
155 // arg6: *mut ISC_ARRAY_DESC,
156 // ) -> ISC_STATUS;
157 // }
158 // extern "C" {
159 // pub fn isc_array_set_desc(
160 // arg1: *mut ISC_STATUS,
161 // arg2: *const ISC_SCHAR,
162 // arg3: *const ISC_SCHAR,
163 // arg4: *const ::std::os::raw::c_short,
164 // arg5: *const ::std::os::raw::c_short,
165 // arg6: *const ::std::os::raw::c_short,
166 // arg7: *mut ISC_ARRAY_DESC,
167 // ) -> ISC_STATUS;
168 // }
169 // extern "C" {
170 // pub fn isc_array_put_slice(
171 // arg1: *mut ISC_STATUS,
172 // arg2: *mut isc_db_handle,
173 // arg3: *mut isc_tr_handle,
174 // arg4: *mut ISC_QUAD,
175 // arg5: *const ISC_ARRAY_DESC,
176 // arg6: *mut ::std::os::raw::c_void,
177 // arg7: *mut ISC_LONG,
178 // ) -> ISC_STATUS;
179 // }
180 // extern "C" {
181 // pub fn isc_blob_default_desc(
182 // arg1: *mut ISC_BLOB_DESC,
183 // arg2: *const ISC_UCHAR,
184 // arg3: *const ISC_UCHAR,
185 // );
186 // }
187 // extern "C" {
188 // pub fn isc_blob_gen_bpb(
189 // arg1: *mut ISC_STATUS,
190 // arg2: *const ISC_BLOB_DESC,
191 // arg3: *const ISC_BLOB_DESC,
192 // arg4: ::std::os::raw::c_ushort,
193 // arg5: *mut ISC_UCHAR,
194 // arg6: *mut ::std::os::raw::c_ushort,
195 // ) -> ISC_STATUS;
196 // }
197 // extern "C" {
198 // pub fn isc_blob_info(
199 // arg1: *mut ISC_STATUS,
200 // arg2: *mut isc_blob_handle,
201 // arg3: ::std::os::raw::c_short,
202 // arg4: *const ISC_SCHAR,
203 // arg5: ::std::os::raw::c_short,
204 // arg6: *mut ISC_SCHAR,
205 // ) -> ISC_STATUS;
206 // }
207 // extern "C" {
208 // pub fn isc_blob_lookup_desc(
209 // arg1: *mut ISC_STATUS,
210 // arg2: *mut isc_db_handle,
211 // arg3: *mut isc_tr_handle,
212 // arg4: *const ISC_UCHAR,
213 // arg5: *const ISC_UCHAR,
214 // arg6: *mut ISC_BLOB_DESC,
215 // arg7: *mut ISC_UCHAR,
216 // ) -> ISC_STATUS;
217 // }
218 // extern "C" {
219 // pub fn isc_blob_set_desc(
220 // arg1: *mut ISC_STATUS,
221 // arg2: *const ISC_UCHAR,
222 // arg3: *const ISC_UCHAR,
223 // arg4: ::std::os::raw::c_short,
224 // arg5: ::std::os::raw::c_short,
225 // arg6: ::std::os::raw::c_short,
226 // arg7: *mut ISC_BLOB_DESC,
227 // ) -> ISC_STATUS;
228 // }
229 // extern "C" {
230 // pub fn isc_cancel_blob(arg1: *mut ISC_STATUS, arg2: *mut isc_blob_handle) -> ISC_STATUS;
231 // }
232 // extern "C" {
233 // pub fn isc_cancel_events(
234 // arg1: *mut ISC_STATUS,
235 // arg2: *mut isc_db_handle,
236 // arg3: *mut ISC_LONG,
237 // ) -> ISC_STATUS;
238 // }
239 extern "C" {
240 pub fn isc_close_blob(arg1: *mut ISC_STATUS, arg2: *mut isc_blob_handle) -> ISC_STATUS;
241 }
242 extern "C" {
243 pub fn isc_commit_retaining(arg1: *mut ISC_STATUS, arg2: *mut isc_tr_handle) -> ISC_STATUS;
244 }
245 extern "C" {
246 pub fn isc_commit_transaction(arg1: *mut ISC_STATUS, arg2: *mut isc_tr_handle) -> ISC_STATUS;
247 }
248 extern "C" {
249 pub fn isc_create_blob(
250 arg1: *mut ISC_STATUS,
251 arg2: *mut isc_db_handle,
252 arg3: *mut isc_tr_handle,
253 arg4: *mut isc_blob_handle,
254 arg5: *mut ISC_QUAD,
255 ) -> ISC_STATUS;
256 }
257 // extern "C" {
258 // pub fn isc_create_blob2(
259 // arg1: *mut ISC_STATUS,
260 // arg2: *mut isc_db_handle,
261 // arg3: *mut isc_tr_handle,
262 // arg4: *mut isc_blob_handle,
263 // arg5: *mut ISC_QUAD,
264 // arg6: ::std::os::raw::c_short,
265 // arg7: *const ISC_SCHAR,
266 // ) -> ISC_STATUS;
267 // }
268 extern "C" {
269 pub fn isc_create_database(
270 arg1: *mut ISC_STATUS,
271 arg2: ::std::os::raw::c_short,
272 arg3: *const ISC_SCHAR,
273 arg4: *mut isc_db_handle,
274 arg5: ::std::os::raw::c_short,
275 arg6: *const ISC_SCHAR,
276 arg7: ::std::os::raw::c_short,
277 ) -> ISC_STATUS;
278 }
279 // extern "C" {
280 // pub fn isc_database_info(
281 // arg1: *mut ISC_STATUS,
282 // arg2: *mut isc_db_handle,
283 // arg3: ::std::os::raw::c_short,
284 // arg4: *const ISC_SCHAR,
285 // arg5: ::std::os::raw::c_short,
286 // arg6: *mut ISC_SCHAR,
287 // ) -> ISC_STATUS;
288 // }
289 // extern "C" {
290 // pub fn isc_decode_date(arg1: *const ISC_QUAD, arg2: *mut ::std::os::raw::c_void);
291 // }
292 // extern "C" {
293 // pub fn isc_decode_sql_date(arg1: *const ISC_DATE, arg2: *mut ::std::os::raw::c_void);
294 // }
295 // extern "C" {
296 // pub fn isc_decode_sql_time(arg1: *const ISC_TIME, arg2: *mut ::std::os::raw::c_void);
297 // }
298 // extern "C" {
299 // pub fn isc_decode_timestamp(arg1: *const ISC_TIMESTAMP, arg2: *mut ::std::os::raw::c_void);
300 // }
301 extern "C" {
302 pub fn isc_detach_database(arg1: *mut ISC_STATUS, arg2: *mut isc_db_handle) -> ISC_STATUS;
303 }
304 extern "C" {
305 pub fn isc_drop_database(arg1: *mut ISC_STATUS, arg2: *mut isc_db_handle) -> ISC_STATUS;
306 }
307 extern "C" {
308 pub fn isc_dsql_allocate_statement(
309 arg1: *mut ISC_STATUS,
310 arg2: *mut isc_db_handle,
311 arg3: *mut isc_stmt_handle,
312 ) -> ISC_STATUS;
313 }
314 // extern "C" {
315 // pub fn isc_dsql_alloc_statement2(
316 // arg1: *mut ISC_STATUS,
317 // arg2: *mut isc_db_handle,
318 // arg3: *mut isc_stmt_handle,
319 // ) -> ISC_STATUS;
320 // }
321 extern "C" {
322 pub fn isc_dsql_describe(
323 arg1: *mut ISC_STATUS,
324 arg2: *mut isc_stmt_handle,
325 arg3: ::std::os::raw::c_ushort,
326 arg4: *mut XSQLDA,
327 ) -> ISC_STATUS;
328 }
329 extern "C" {
330 pub fn isc_dsql_describe_bind(
331 arg1: *mut ISC_STATUS,
332 arg2: *mut isc_stmt_handle,
333 arg3: ::std::os::raw::c_ushort,
334 arg4: *mut XSQLDA,
335 ) -> ISC_STATUS;
336 }
337 // extern "C" {
338 // pub fn isc_dsql_exec_immed2(
339 // arg1: *mut ISC_STATUS,
340 // arg2: *mut isc_db_handle,
341 // arg3: *mut isc_tr_handle,
342 // arg4: ::std::os::raw::c_ushort,
343 // arg5: *const ISC_SCHAR,
344 // arg6: ::std::os::raw::c_ushort,
345 // arg7: *const XSQLDA,
346 // arg8: *const XSQLDA,
347 // ) -> ISC_STATUS;
348 // }
349 extern "C" {
350 pub fn isc_dsql_execute(
351 arg1: *mut ISC_STATUS,
352 arg2: *mut isc_tr_handle,
353 arg3: *mut isc_stmt_handle,
354 arg4: ::std::os::raw::c_ushort,
355 arg5: *const XSQLDA,
356 ) -> ISC_STATUS;
357 }
358 extern "C" {
359 pub fn isc_dsql_execute2(
360 arg1: *mut ISC_STATUS,
361 arg2: *mut isc_tr_handle,
362 arg3: *mut isc_stmt_handle,
363 arg4: ::std::os::raw::c_ushort,
364 arg5: *const XSQLDA,
365 arg6: *const XSQLDA,
366 ) -> ISC_STATUS;
367 }
368 extern "C" {
369 pub fn isc_dsql_execute_immediate(
370 arg1: *mut ISC_STATUS,
371 arg2: *mut isc_db_handle,
372 arg3: *mut isc_tr_handle,
373 arg4: ::std::os::raw::c_ushort,
374 arg5: *const ISC_SCHAR,
375 arg6: ::std::os::raw::c_ushort,
376 arg7: *const XSQLDA,
377 ) -> ISC_STATUS;
378 }
379 extern "C" {
380 pub fn isc_dsql_fetch(
381 arg1: *mut ISC_STATUS,
382 arg2: *mut isc_stmt_handle,
383 arg3: ::std::os::raw::c_ushort,
384 arg4: *const XSQLDA,
385 ) -> ISC_STATUS;
386 }
387 // extern "C" {
388 // pub fn isc_dsql_finish(arg1: *mut isc_db_handle) -> ISC_STATUS;
389 // }
390 extern "C" {
391 pub fn isc_dsql_free_statement(
392 arg1: *mut ISC_STATUS,
393 arg2: *mut isc_stmt_handle,
394 arg3: ::std::os::raw::c_ushort,
395 ) -> ISC_STATUS;
396 }
397 // extern "C" {
398 // pub fn isc_dsql_insert(
399 // arg1: *mut ISC_STATUS,
400 // arg2: *mut isc_stmt_handle,
401 // arg3: ::std::os::raw::c_ushort,
402 // arg4: *mut XSQLDA,
403 // ) -> ISC_STATUS;
404 // }
405 extern "C" {
406 pub fn isc_dsql_prepare(
407 arg1: *mut ISC_STATUS,
408 arg2: *mut isc_tr_handle,
409 arg3: *mut isc_stmt_handle,
410 arg4: ::std::os::raw::c_ushort,
411 arg5: *const ISC_SCHAR,
412 arg6: ::std::os::raw::c_ushort,
413 arg7: *mut XSQLDA,
414 ) -> ISC_STATUS;
415 }
416 // extern "C" {
417 // pub fn isc_dsql_set_cursor_name(
418 // arg1: *mut ISC_STATUS,
419 // arg2: *mut isc_stmt_handle,
420 // arg3: *const ISC_SCHAR,
421 // arg4: ::std::os::raw::c_ushort,
422 // ) -> ISC_STATUS;
423 // }
424 extern "C" {
425 pub fn isc_dsql_sql_info(
426 arg1: *mut ISC_STATUS,
427 arg2: *mut isc_stmt_handle,
428 arg3: ::std::os::raw::c_short,
429 arg4: *const ISC_SCHAR,
430 arg5: ::std::os::raw::c_short,
431 arg6: *mut ISC_SCHAR,
432 ) -> ISC_STATUS;
433 }
434 // extern "C" {
435 // pub fn isc_encode_date(arg1: *const ::std::os::raw::c_void, arg2: *mut ISC_QUAD);
436 // }
437 // extern "C" {
438 // pub fn isc_encode_sql_date(arg1: *const ::std::os::raw::c_void, arg2: *mut ISC_DATE);
439 // }
440 // extern "C" {
441 // pub fn isc_encode_sql_time(arg1: *const ::std::os::raw::c_void, arg2: *mut ISC_TIME);
442 // }
443 // extern "C" {
444 // pub fn isc_encode_timestamp(arg1: *const ::std::os::raw::c_void, arg2: *mut ISC_TIMESTAMP);
445 // }
446 extern "C" {
447 pub fn isc_event_block(
448 arg1: *mut *mut ISC_UCHAR,
449 arg2: *mut *mut ISC_UCHAR,
450 arg3: ISC_USHORT,
451 ...
452 ) -> ISC_LONG;
453 }
454 // extern "C" {
455 // pub fn isc_event_block_a(
456 // arg1: *mut *mut ISC_SCHAR,
457 // arg2: *mut *mut ISC_SCHAR,
458 // arg3: ISC_USHORT,
459 // arg4: *mut *mut ISC_SCHAR,
460 // ) -> ISC_USHORT;
461 // }
462 // extern "C" {
463 // pub fn isc_event_block_s(
464 // arg1: *mut *mut ISC_SCHAR,
465 // arg2: *mut *mut ISC_SCHAR,
466 // arg3: ISC_USHORT,
467 // arg4: *mut *mut ISC_SCHAR,
468 // arg5: *mut ISC_USHORT,
469 // );
470 // }
471 extern "C" {
472 pub fn isc_event_counts(
473 arg1: *mut ISC_STATUS,
474 arg2: ::std::os::raw::c_short,
475 arg3: *mut ISC_UCHAR,
476 arg4: *const ISC_UCHAR,
477 ) -> ::std::os::raw::c_void;
478 }
479 // extern "C" {
480 // pub fn isc_expand_dpb(arg1: *mut *mut ISC_SCHAR, arg2: *mut ::std::os::raw::c_short, ...);
481 // }
482 // extern "C" {
483 // pub fn isc_modify_dpb(
484 // arg1: *mut *mut ISC_SCHAR,
485 // arg2: *mut ::std::os::raw::c_short,
486 // arg3: ::std::os::raw::c_ushort,
487 // arg4: *const ISC_SCHAR,
488 // arg5: ::std::os::raw::c_short,
489 // ) -> ::std::os::raw::c_int;
490 // }
491 extern "C" {
492 pub fn isc_free(arg1: *mut ISC_UCHAR) -> ISC_LONG;
493 }
494 extern "C" {
495 pub fn isc_get_segment(
496 arg1: *mut ISC_STATUS,
497 arg2: *mut isc_blob_handle,
498 arg3: *mut ::std::os::raw::c_ushort,
499 arg4: ::std::os::raw::c_ushort,
500 arg5: *mut ISC_SCHAR,
501 ) -> ISC_STATUS;
502 }
503 // extern "C" {
504 // pub fn isc_get_slice(
505 // arg1: *mut ISC_STATUS,
506 // arg2: *mut isc_db_handle,
507 // arg3: *mut isc_tr_handle,
508 // arg4: *mut ISC_QUAD,
509 // arg5: ::std::os::raw::c_short,
510 // arg6: *const ISC_SCHAR,
511 // arg7: ::std::os::raw::c_short,
512 // arg8: *const ISC_LONG,
513 // arg9: ISC_LONG,
514 // arg10: *mut ::std::os::raw::c_void,
515 // arg11: *mut ISC_LONG,
516 // ) -> ISC_STATUS;
517 // }
518 // extern "C" {
519 // pub fn isc_interprete(arg1: *mut ISC_SCHAR, arg2: *mut *mut ISC_STATUS) -> ISC_LONG;
520 // }
521 extern "C" {
522 pub fn fb_interpret(
523 arg1: *mut ISC_SCHAR,
524 arg2: ::std::os::raw::c_uint,
525 arg3: *mut *const ISC_STATUS,
526 ) -> ISC_LONG;
527 }
528 extern "C" {
529 pub fn isc_open_blob(
530 arg1: *mut ISC_STATUS,
531 arg2: *mut isc_db_handle,
532 arg3: *mut isc_tr_handle,
533 arg4: *mut isc_blob_handle,
534 arg5: *mut ISC_QUAD,
535 ) -> ISC_STATUS;
536 }
537 // extern "C" {
538 // pub fn isc_open_blob2(
539 // arg1: *mut ISC_STATUS,
540 // arg2: *mut isc_db_handle,
541 // arg3: *mut isc_tr_handle,
542 // arg4: *mut isc_blob_handle,
543 // arg5: *mut ISC_QUAD,
544 // arg6: ISC_USHORT,
545 // arg7: *const ISC_UCHAR,
546 // ) -> ISC_STATUS;
547 // }
548 // extern "C" {
549 // pub fn isc_prepare_transaction2(
550 // arg1: *mut ISC_STATUS_ARRAY,
551 // arg2: *mut isc_tr_handle,
552 // arg3: ISC_USHORT,
553 // arg4: *const ISC_UCHAR,
554 // ) -> ISC_STATUS;
555 // }
556 // extern "C" {
557 // pub fn isc_print_sqlerror(arg1: ISC_SHORT, arg2: *const ISC_STATUS);
558 // }
559 // extern "C" {
560 // pub fn isc_print_status(arg1: *const ISC_STATUS_ARRAY) -> ISC_STATUS;
561 // }
562 extern "C" {
563 pub fn isc_put_segment(
564 arg1: *mut ISC_STATUS,
565 arg2: *mut isc_blob_handle,
566 arg3: ::std::os::raw::c_ushort,
567 arg4: *const ISC_SCHAR,
568 ) -> ISC_STATUS;
569 }
570 // extern "C" {
571 // pub fn isc_put_slice(
572 // arg1: *mut ISC_STATUS,
573 // arg2: *mut isc_db_handle,
574 // arg3: *mut isc_tr_handle,
575 // arg4: *mut ISC_QUAD,
576 // arg5: ::std::os::raw::c_short,
577 // arg6: *const ISC_SCHAR,
578 // arg7: ::std::os::raw::c_short,
579 // arg8: *const ISC_LONG,
580 // arg9: ISC_LONG,
581 // arg10: *mut ::std::os::raw::c_void,
582 // ) -> ISC_STATUS;
583 // }
584 // extern "C" {
585 // pub fn isc_que_events(
586 // arg1: *mut ISC_STATUS,
587 // arg2: *mut isc_db_handle,
588 // arg3: *mut ISC_LONG,
589 // arg4: ::std::os::raw::c_short,
590 // arg5: *const ISC_UCHAR,
591 // arg6: ISC_EVENT_CALLBACK,
592 // arg7: *mut ::std::os::raw::c_void,
593 // ) -> ISC_STATUS;
594 // }
595 extern "C" {
596 pub fn isc_rollback_retaining(arg1: *mut ISC_STATUS, arg2: *mut isc_tr_handle) -> ISC_STATUS;
597 }
598 extern "C" {
599 pub fn isc_rollback_transaction(arg1: *mut ISC_STATUS, arg2: *mut isc_tr_handle) -> ISC_STATUS;
600 }
601 extern "C" {
602 pub fn isc_start_multiple(
603 arg1: *mut ISC_STATUS,
604 arg2: *mut isc_tr_handle,
605 arg3: ::std::os::raw::c_short,
606 arg4: *mut ::std::os::raw::c_void,
607 ) -> ISC_STATUS;
608 }
609 // extern "C" {
610 // pub fn isc_start_transaction(
611 // arg1: *mut ISC_STATUS,
612 // arg2: *mut isc_tr_handle,
613 // arg3: ::std::os::raw::c_short,
614 // ...
615 // ) -> ISC_STATUS;
616 // }
617 // extern "C" {
618 // pub fn fb_disconnect_transaction(arg1: *mut ISC_STATUS, arg2: *mut isc_tr_handle)
619 // -> ISC_STATUS;
620 // }
621 extern "C" {
622 pub fn isc_sqlcode(arg1: *const ISC_STATUS) -> ISC_LONG;
623 }
624 // extern "C" {
625 // pub fn isc_sqlcode_s(arg1: *const ISC_STATUS, arg2: *mut ISC_ULONG);
626 // }
627 // extern "C" {
628 // pub fn fb_sqlstate(arg1: *mut ::std::os::raw::c_char, arg2: *const ISC_STATUS);
629 // }
630 // extern "C" {
631 // pub fn isc_sql_interprete(
632 // arg1: ::std::os::raw::c_short,
633 // arg2: *mut ISC_SCHAR,
634 // arg3: ::std::os::raw::c_short,
635 // );
636 // }
637 // extern "C" {
638 // pub fn isc_transaction_info(
639 // arg1: *mut ISC_STATUS,
640 // arg2: *mut isc_tr_handle,
641 // arg3: ::std::os::raw::c_short,
642 // arg4: *const ISC_SCHAR,
643 // arg5: ::std::os::raw::c_short,
644 // arg6: *mut ISC_SCHAR,
645 // ) -> ISC_STATUS;
646 // }
647 // extern "C" {
648 // pub fn isc_transact_request(
649 // arg1: *mut ISC_STATUS,
650 // arg2: *mut isc_db_handle,
651 // arg3: *mut isc_tr_handle,
652 // arg4: ::std::os::raw::c_ushort,
653 // arg5: *mut ISC_SCHAR,
654 // arg6: ::std::os::raw::c_ushort,
655 // arg7: *mut ISC_SCHAR,
656 // arg8: ::std::os::raw::c_ushort,
657 // arg9: *mut ISC_SCHAR,
658 // ) -> ISC_STATUS;
659 // }
660// extern "C" {
661// pub fn isc_vax_integer(arg1: *const ISC_SCHAR, arg2: ::std::os::raw::c_short) -> ISC_LONG;
662// }
663 // extern "C" {
664 // pub fn isc_portable_integer(arg1: *const ISC_UCHAR, arg2: ::std::os::raw::c_short)
665 // -> ISC_INT64;
666 // }
667 // extern "C" {
668 // pub fn isc_add_user(arg1: *mut ISC_STATUS, arg2: *const USER_SEC_DATA) -> ISC_STATUS;
669 // }
670 // extern "C" {
671 // pub fn isc_delete_user(arg1: *mut ISC_STATUS, arg2: *const USER_SEC_DATA) -> ISC_STATUS;
672 // }
673 // extern "C" {
674 // pub fn isc_modify_user(arg1: *mut ISC_STATUS, arg2: *const USER_SEC_DATA) -> ISC_STATUS;
675 // }
676 // extern "C" {
677 // pub fn isc_compile_request(
678 // arg1: *mut ISC_STATUS,
679 // arg2: *mut isc_db_handle,
680 // arg3: *mut isc_req_handle,
681 // arg4: ::std::os::raw::c_short,
682 // arg5: *const ISC_SCHAR,
683 // ) -> ISC_STATUS;
684 // }
685 // extern "C" {
686 // pub fn isc_compile_request2(
687 // arg1: *mut ISC_STATUS,
688 // arg2: *mut isc_db_handle,
689 // arg3: *mut isc_req_handle,
690 // arg4: ::std::os::raw::c_short,
691 // arg5: *const ISC_SCHAR,
692 // ) -> ISC_STATUS;
693 // }
694 // extern "C" {
695 // pub fn isc_ddl(
696 // arg1: *mut ISC_STATUS,
697 // arg2: *mut isc_db_handle,
698 // arg3: *mut isc_tr_handle,
699 // arg4: ::std::os::raw::c_short,
700 // arg5: *const ISC_SCHAR,
701 // ) -> ISC_STATUS;
702 // }
703 // extern "C" {
704 // pub fn isc_prepare_transaction(arg1: *mut ISC_STATUS, arg2: *mut isc_tr_handle) -> ISC_STATUS;
705 // }
706 // extern "C" {
707 // pub fn isc_receive(
708 // arg1: *mut ISC_STATUS,
709 // arg2: *mut isc_req_handle,
710 // arg3: ::std::os::raw::c_short,
711 // arg4: ::std::os::raw::c_short,
712 // arg5: *mut ::std::os::raw::c_void,
713 // arg6: ::std::os::raw::c_short,
714 // ) -> ISC_STATUS;
715 // }
716 // extern "C" {
717 // pub fn isc_reconnect_transaction(
718 // arg1: *mut ISC_STATUS,
719 // arg2: *mut isc_db_handle,
720 // arg3: *mut isc_tr_handle,
721 // arg4: ::std::os::raw::c_short,
722 // arg5: *const ISC_SCHAR,
723 // ) -> ISC_STATUS;
724 // }
725 // extern "C" {
726 // pub fn isc_release_request(arg1: *mut ISC_STATUS, arg2: *mut isc_req_handle) -> ISC_STATUS;
727 // }
728 // extern "C" {
729 // pub fn isc_request_info(
730 // arg1: *mut ISC_STATUS,
731 // arg2: *mut isc_req_handle,
732 // arg3: ::std::os::raw::c_short,
733 // arg4: ::std::os::raw::c_short,
734 // arg5: *const ISC_SCHAR,
735 // arg6: ::std::os::raw::c_short,
736 // arg7: *mut ISC_SCHAR,
737 // ) -> ISC_STATUS;
738 // }
739 // extern "C" {
740 // pub fn isc_seek_blob(
741 // arg1: *mut ISC_STATUS,
742 // arg2: *mut isc_blob_handle,
743 // arg3: ::std::os::raw::c_short,
744 // arg4: ISC_LONG,
745 // arg5: *mut ISC_LONG,
746 // ) -> ISC_STATUS;
747 // }
748 // extern "C" {
749 // pub fn isc_send(
750 // arg1: *mut ISC_STATUS,
751 // arg2: *mut isc_req_handle,
752 // arg3: ::std::os::raw::c_short,
753 // arg4: ::std::os::raw::c_short,
754 // arg5: *const ::std::os::raw::c_void,
755 // arg6: ::std::os::raw::c_short,
756 // ) -> ISC_STATUS;
757 // }
758 // extern "C" {
759 // pub fn isc_start_and_send(
760 // arg1: *mut ISC_STATUS,
761 // arg2: *mut isc_req_handle,
762 // arg3: *mut isc_tr_handle,
763 // arg4: ::std::os::raw::c_short,
764 // arg5: ::std::os::raw::c_short,
765 // arg6: *const ::std::os::raw::c_void,
766 // arg7: ::std::os::raw::c_short,
767 // ) -> ISC_STATUS;
768 // }
769 // extern "C" {
770 // pub fn isc_start_request(
771 // arg1: *mut ISC_STATUS,
772 // arg2: *mut isc_req_handle,
773 // arg3: *mut isc_tr_handle,
774 // arg4: ::std::os::raw::c_short,
775 // ) -> ISC_STATUS;
776 // }
777 // extern "C" {
778 // pub fn isc_unwind_request(
779 // arg1: *mut ISC_STATUS,
780 // arg2: *mut isc_tr_handle,
781 // arg3: ::std::os::raw::c_short,
782 // ) -> ISC_STATUS;
783 // }
784 extern "C" {
785 pub fn isc_wait_for_event(
786 arg1: *mut ISC_STATUS,
787 arg2: *mut isc_db_handle,
788 arg3: ::std::os::raw::c_short,
789 arg4: *const ISC_UCHAR,
790 arg5: *mut ISC_UCHAR,
791 ) -> ISC_STATUS;
792 }
793 // extern "C" {
794 // pub fn isc_close(arg1: *mut ISC_STATUS, arg2: *const ISC_SCHAR) -> ISC_STATUS;
795 // }
796 // extern "C" {
797 // pub fn isc_declare(
798 // arg1: *mut ISC_STATUS,
799 // arg2: *const ISC_SCHAR,
800 // arg3: *const ISC_SCHAR,
801 // ) -> ISC_STATUS;
802 // }
803 // extern "C" {
804 // pub fn isc_describe(
805 // arg1: *mut ISC_STATUS,
806 // arg2: *const ISC_SCHAR,
807 // arg3: *mut XSQLDA,
808 // ) -> ISC_STATUS;
809 // }
810 // extern "C" {
811 // pub fn isc_describe_bind(
812 // arg1: *mut ISC_STATUS,
813 // arg2: *const ISC_SCHAR,
814 // arg3: *mut XSQLDA,
815 // ) -> ISC_STATUS;
816 // }
817 // extern "C" {
818 // pub fn isc_execute(
819 // arg1: *mut ISC_STATUS,
820 // arg2: *mut isc_tr_handle,
821 // arg3: *const ISC_SCHAR,
822 // arg4: *mut XSQLDA,
823 // ) -> ISC_STATUS;
824 // }
825 // extern "C" {
826 // pub fn isc_execute_immediate(
827 // arg1: *mut ISC_STATUS,
828 // arg2: *mut isc_db_handle,
829 // arg3: *mut isc_tr_handle,
830 // arg4: *mut ::std::os::raw::c_short,
831 // arg5: *const ISC_SCHAR,
832 // ) -> ISC_STATUS;
833 // }
834 // extern "C" {
835 // pub fn isc_fetch(
836 // arg1: *mut ISC_STATUS,
837 // arg2: *const ISC_SCHAR,
838 // arg3: *mut XSQLDA,
839 // ) -> ISC_STATUS;
840 // }
841 // extern "C" {
842 // pub fn isc_open(
843 // arg1: *mut ISC_STATUS,
844 // arg2: *mut isc_tr_handle,
845 // arg3: *const ISC_SCHAR,
846 // arg4: *mut XSQLDA,
847 // ) -> ISC_STATUS;
848 // }
849 // extern "C" {
850 // pub fn isc_prepare(
851 // arg1: *mut ISC_STATUS,
852 // arg2: *mut isc_db_handle,
853 // arg3: *mut isc_tr_handle,
854 // arg4: *const ISC_SCHAR,
855 // arg5: *const ::std::os::raw::c_short,
856 // arg6: *const ISC_SCHAR,
857 // arg7: *mut XSQLDA,
858 // ) -> ISC_STATUS;
859 // }
860 // extern "C" {
861 // pub fn isc_dsql_execute_m(
862 // arg1: *mut ISC_STATUS,
863 // arg2: *mut isc_tr_handle,
864 // arg3: *mut isc_stmt_handle,
865 // arg4: ::std::os::raw::c_ushort,
866 // arg5: *const ISC_SCHAR,
867 // arg6: ::std::os::raw::c_ushort,
868 // arg7: ::std::os::raw::c_ushort,
869 // arg8: *mut ISC_SCHAR,
870 // ) -> ISC_STATUS;
871 // }
872 // extern "C" {
873 // pub fn isc_dsql_execute2_m(
874 // arg1: *mut ISC_STATUS,
875 // arg2: *mut isc_tr_handle,
876 // arg3: *mut isc_stmt_handle,
877 // arg4: ::std::os::raw::c_ushort,
878 // arg5: *const ISC_SCHAR,
879 // arg6: ::std::os::raw::c_ushort,
880 // arg7: ::std::os::raw::c_ushort,
881 // arg8: *mut ISC_SCHAR,
882 // arg9: ::std::os::raw::c_ushort,
883 // arg10: *mut ISC_SCHAR,
884 // arg11: ::std::os::raw::c_ushort,
885 // arg12: ::std::os::raw::c_ushort,
886 // arg13: *mut ISC_SCHAR,
887 // ) -> ISC_STATUS;
888 // }
889 // extern "C" {
890 // pub fn isc_dsql_execute_immediate_m(
891 // arg1: *mut ISC_STATUS,
892 // arg2: *mut isc_db_handle,
893 // arg3: *mut isc_tr_handle,
894 // arg4: ::std::os::raw::c_ushort,
895 // arg5: *const ISC_SCHAR,
896 // arg6: ::std::os::raw::c_ushort,
897 // arg7: ::std::os::raw::c_ushort,
898 // arg8: *mut ISC_SCHAR,
899 // arg9: ::std::os::raw::c_ushort,
900 // arg10: ::std::os::raw::c_ushort,
901 // arg11: *mut ISC_SCHAR,
902 // ) -> ISC_STATUS;
903 // }
904 // extern "C" {
905 // pub fn isc_dsql_exec_immed3_m(
906 // arg1: *mut ISC_STATUS,
907 // arg2: *mut isc_db_handle,
908 // arg3: *mut isc_tr_handle,
909 // arg4: ::std::os::raw::c_ushort,
910 // arg5: *const ISC_SCHAR,
911 // arg6: ::std::os::raw::c_ushort,
912 // arg7: ::std::os::raw::c_ushort,
913 // arg8: *mut ISC_SCHAR,
914 // arg9: ::std::os::raw::c_ushort,
915 // arg10: ::std::os::raw::c_ushort,
916 // arg11: *const ISC_SCHAR,
917 // arg12: ::std::os::raw::c_ushort,
918 // arg13: *mut ISC_SCHAR,
919 // arg14: ::std::os::raw::c_ushort,
920 // arg15: ::std::os::raw::c_ushort,
921 // arg16: *mut ISC_SCHAR,
922 // ) -> ISC_STATUS;
923 // }
924 // extern "C" {
925 // pub fn isc_dsql_fetch_m(
926 // arg1: *mut ISC_STATUS,
927 // arg2: *mut isc_stmt_handle,
928 // arg3: ::std::os::raw::c_ushort,
929 // arg4: *mut ISC_SCHAR,
930 // arg5: ::std::os::raw::c_ushort,
931 // arg6: ::std::os::raw::c_ushort,
932 // arg7: *mut ISC_SCHAR,
933 // ) -> ISC_STATUS;
934 // }
935 // extern "C" {
936 // pub fn isc_dsql_insert_m(
937 // arg1: *mut ISC_STATUS,
938 // arg2: *mut isc_stmt_handle,
939 // arg3: ::std::os::raw::c_ushort,
940 // arg4: *const ISC_SCHAR,
941 // arg5: ::std::os::raw::c_ushort,
942 // arg6: ::std::os::raw::c_ushort,
943 // arg7: *const ISC_SCHAR,
944 // ) -> ISC_STATUS;
945 // }
946 // extern "C" {
947 // pub fn isc_dsql_prepare_m(
948 // arg1: *mut ISC_STATUS,
949 // arg2: *mut isc_tr_handle,
950 // arg3: *mut isc_stmt_handle,
951 // arg4: ::std::os::raw::c_ushort,
952 // arg5: *const ISC_SCHAR,
953 // arg6: ::std::os::raw::c_ushort,
954 // arg7: ::std::os::raw::c_ushort,
955 // arg8: *const ISC_SCHAR,
956 // arg9: ::std::os::raw::c_ushort,
957 // arg10: *mut ISC_SCHAR,
958 // ) -> ISC_STATUS;
959 // }
960 // extern "C" {
961 // pub fn isc_dsql_release(arg1: *mut ISC_STATUS, arg2: *const ISC_SCHAR) -> ISC_STATUS;
962 // }
963 // extern "C" {
964 // pub fn isc_embed_dsql_close(arg1: *mut ISC_STATUS, arg2: *const ISC_SCHAR) -> ISC_STATUS;
965 // }
966 // extern "C" {
967 // pub fn isc_embed_dsql_declare(
968 // arg1: *mut ISC_STATUS,
969 // arg2: *const ISC_SCHAR,
970 // arg3: *const ISC_SCHAR,
971 // ) -> ISC_STATUS;
972 // }
973 // extern "C" {
974 // pub fn isc_embed_dsql_describe(
975 // arg1: *mut ISC_STATUS,
976 // arg2: *const ISC_SCHAR,
977 // arg3: ::std::os::raw::c_ushort,
978 // arg4: *mut XSQLDA,
979 // ) -> ISC_STATUS;
980 // }
981 // extern "C" {
982 // pub fn isc_embed_dsql_describe_bind(
983 // arg1: *mut ISC_STATUS,
984 // arg2: *const ISC_SCHAR,
985 // arg3: ::std::os::raw::c_ushort,
986 // arg4: *mut XSQLDA,
987 // ) -> ISC_STATUS;
988 // }
989 // extern "C" {
990 // pub fn isc_embed_dsql_execute(
991 // arg1: *mut ISC_STATUS,
992 // arg2: *mut isc_tr_handle,
993 // arg3: *const ISC_SCHAR,
994 // arg4: ::std::os::raw::c_ushort,
995 // arg5: *mut XSQLDA,
996 // ) -> ISC_STATUS;
997 // }
998 // extern "C" {
999 // pub fn isc_embed_dsql_execute2(
1000 // arg1: *mut ISC_STATUS,
1001 // arg2: *mut isc_tr_handle,
1002 // arg3: *const ISC_SCHAR,
1003 // arg4: ::std::os::raw::c_ushort,
1004 // arg5: *mut XSQLDA,
1005 // arg6: *mut XSQLDA,
1006 // ) -> ISC_STATUS;
1007 // }
1008 // extern "C" {
1009 // pub fn isc_embed_dsql_execute_immed(
1010 // arg1: *mut ISC_STATUS,
1011 // arg2: *mut isc_db_handle,
1012 // arg3: *mut isc_tr_handle,
1013 // arg4: ::std::os::raw::c_ushort,
1014 // arg5: *const ISC_SCHAR,
1015 // arg6: ::std::os::raw::c_ushort,
1016 // arg7: *mut XSQLDA,
1017 // ) -> ISC_STATUS;
1018 // }
1019 // extern "C" {
1020 // pub fn isc_embed_dsql_fetch(
1021 // arg1: *mut ISC_STATUS,
1022 // arg2: *const ISC_SCHAR,
1023 // arg3: ::std::os::raw::c_ushort,
1024 // arg4: *mut XSQLDA,
1025 // ) -> ISC_STATUS;
1026 // }
1027 // extern "C" {
1028 // pub fn isc_embed_dsql_fetch_a(
1029 // arg1: *mut ISC_STATUS,
1030 // arg2: *mut ::std::os::raw::c_int,
1031 // arg3: *const ISC_SCHAR,
1032 // arg4: ISC_USHORT,
1033 // arg5: *mut XSQLDA,
1034 // ) -> ISC_STATUS;
1035 // }
1036 // extern "C" {
1037 // pub fn isc_embed_dsql_length(arg1: *const ISC_UCHAR, arg2: *mut ISC_USHORT);
1038 // }
1039 // extern "C" {
1040 // pub fn isc_embed_dsql_open(
1041 // arg1: *mut ISC_STATUS,
1042 // arg2: *mut isc_tr_handle,
1043 // arg3: *const ISC_SCHAR,
1044 // arg4: ::std::os::raw::c_ushort,
1045 // arg5: *mut XSQLDA,
1046 // ) -> ISC_STATUS;
1047 // }
1048 // extern "C" {
1049 // pub fn isc_embed_dsql_open2(
1050 // arg1: *mut ISC_STATUS,
1051 // arg2: *mut isc_tr_handle,
1052 // arg3: *const ISC_SCHAR,
1053 // arg4: ::std::os::raw::c_ushort,
1054 // arg5: *mut XSQLDA,
1055 // arg6: *mut XSQLDA,
1056 // ) -> ISC_STATUS;
1057 // }
1058 // extern "C" {
1059 // pub fn isc_embed_dsql_insert(
1060 // arg1: *mut ISC_STATUS,
1061 // arg2: *const ISC_SCHAR,
1062 // arg3: ::std::os::raw::c_ushort,
1063 // arg4: *mut XSQLDA,
1064 // ) -> ISC_STATUS;
1065 // }
1066 // extern "C" {
1067 // pub fn isc_embed_dsql_prepare(
1068 // arg1: *mut ISC_STATUS,
1069 // arg2: *mut isc_db_handle,
1070 // arg3: *mut isc_tr_handle,
1071 // arg4: *const ISC_SCHAR,
1072 // arg5: ::std::os::raw::c_ushort,
1073 // arg6: *const ISC_SCHAR,
1074 // arg7: ::std::os::raw::c_ushort,
1075 // arg8: *mut XSQLDA,
1076 // ) -> ISC_STATUS;
1077 // }
1078 // extern "C" {
1079 // pub fn isc_embed_dsql_release(arg1: *mut ISC_STATUS, arg2: *const ISC_SCHAR) -> ISC_STATUS;
1080 // }
1081 // extern "C" {
1082 // pub fn BLOB_open(
1083 // arg1: isc_blob_handle,
1084 // arg2: *mut ISC_SCHAR,
1085 // arg3: ::std::os::raw::c_int,
1086 // ) -> FB_BLOB_STREAM;
1087 // }
1088 // extern "C" {
1089 // pub fn BLOB_put(arg1: ISC_SCHAR, arg2: FB_BLOB_STREAM) -> ::std::os::raw::c_int;
1090 // }
1091 // extern "C" {
1092 // pub fn BLOB_close(arg1: FB_BLOB_STREAM) -> ::std::os::raw::c_int;
1093 // }
1094 // extern "C" {
1095 // pub fn BLOB_get(arg1: FB_BLOB_STREAM) -> ::std::os::raw::c_int;
1096 // }
1097 // extern "C" {
1098 // pub fn BLOB_display(
1099 // arg1: *mut ISC_QUAD,
1100 // arg2: isc_db_handle,
1101 // arg3: isc_tr_handle,
1102 // arg4: *const ISC_SCHAR,
1103 // ) -> ::std::os::raw::c_int;
1104 // }
1105 // extern "C" {
1106 // pub fn BLOB_dump(
1107 // arg1: *mut ISC_QUAD,
1108 // arg2: isc_db_handle,
1109 // arg3: isc_tr_handle,
1110 // arg4: *const ISC_SCHAR,
1111 // ) -> ::std::os::raw::c_int;
1112 // }
1113 // extern "C" {
1114 // pub fn BLOB_edit(
1115 // arg1: *mut ISC_QUAD,
1116 // arg2: isc_db_handle,
1117 // arg3: isc_tr_handle,
1118 // arg4: *const ISC_SCHAR,
1119 // ) -> ::std::os::raw::c_int;
1120 // }
1121 // extern "C" {
1122 // pub fn BLOB_load(
1123 // arg1: *mut ISC_QUAD,
1124 // arg2: isc_db_handle,
1125 // arg3: isc_tr_handle,
1126 // arg4: *const ISC_SCHAR,
1127 // ) -> ::std::os::raw::c_int;
1128 // }
1129 // extern "C" {
1130 // pub fn BLOB_text_dump(
1131 // arg1: *mut ISC_QUAD,
1132 // arg2: isc_db_handle,
1133 // arg3: isc_tr_handle,
1134 // arg4: *const ISC_SCHAR,
1135 // ) -> ::std::os::raw::c_int;
1136 // }
1137 // extern "C" {
1138 // pub fn BLOB_text_load(
1139 // arg1: *mut ISC_QUAD,
1140 // arg2: isc_db_handle,
1141 // arg3: isc_tr_handle,
1142 // arg4: *const ISC_SCHAR,
1143 // ) -> ::std::os::raw::c_int;
1144 // }
1145 // extern "C" {
1146 // pub fn Bopen(
1147 // arg1: *mut ISC_QUAD,
1148 // arg2: isc_db_handle,
1149 // arg3: isc_tr_handle,
1150 // arg4: *const ISC_SCHAR,
1151 // ) -> FB_BLOB_STREAM;
1152 // }
1153 // extern "C" {
1154 // pub fn isc_ftof(
1155 // arg1: *const ISC_SCHAR,
1156 // arg2: ::std::os::raw::c_ushort,
1157 // arg3: *mut ISC_SCHAR,
1158 // arg4: ::std::os::raw::c_ushort,
1159 // ) -> ISC_LONG;
1160 // }
1161 // extern "C" {
1162 // pub fn isc_print_blr(
1163 // arg1: *const ISC_SCHAR,
1164 // arg2: ISC_PRINT_CALLBACK,
1165 // arg3: *mut ::std::os::raw::c_void,
1166 // arg4: ::std::os::raw::c_short,
1167 // ) -> ISC_STATUS;
1168 // }
1169 // extern "C" {
1170 // pub fn fb_print_blr(
1171 // arg1: *const ISC_UCHAR,
1172 // arg2: ISC_ULONG,
1173 // arg3: ISC_PRINT_CALLBACK,
1174 // arg4: *mut ::std::os::raw::c_void,
1175 // arg5: ::std::os::raw::c_short,
1176 // ) -> ::std::os::raw::c_int;
1177 // }
1178 // extern "C" {
1179 // pub fn isc_set_debug(arg1: ::std::os::raw::c_int);
1180 // }
1181 // extern "C" {
1182 // pub fn isc_qtoq(arg1: *const ISC_QUAD, arg2: *mut ISC_QUAD);
1183 // }
1184 // extern "C" {
1185 // pub fn isc_vtof(arg1: *const ISC_SCHAR, arg2: *mut ISC_SCHAR, arg3: ::std::os::raw::c_ushort);
1186 // }
1187 // extern "C" {
1188 // pub fn isc_vtov(arg1: *const ISC_SCHAR, arg2: *mut ISC_SCHAR, arg3: ::std::os::raw::c_short);
1189 // }
1190 // extern "C" {
1191 // pub fn isc_version(
1192 // arg1: *mut isc_db_handle,
1193 // arg2: ISC_VERSION_CALLBACK,
1194 // arg3: *mut ::std::os::raw::c_void,
1195 // ) -> ::std::os::raw::c_int;
1196 // }
1197 // extern "C" {
1198 // pub fn isc_reset_fpe(arg1: ISC_USHORT) -> ISC_LONG;
1199 // }
1200 // extern "C" {
1201 // pub fn isc_baddress(arg1: *mut ISC_SCHAR) -> usize;
1202 // }
1203 // extern "C" {
1204 // pub fn isc_baddress_s(arg1: *const ISC_SCHAR, arg2: *mut usize);
1205 // }
1206 // extern "C" {
1207 // pub fn isc_service_attach(
1208 // arg1: *mut ISC_STATUS,
1209 // arg2: ::std::os::raw::c_ushort,
1210 // arg3: *const ISC_SCHAR,
1211 // arg4: *mut isc_svc_handle,
1212 // arg5: ::std::os::raw::c_ushort,
1213 // arg6: *const ISC_SCHAR,
1214 // ) -> ISC_STATUS;
1215 // }
1216 // extern "C" {
1217 // pub fn isc_service_detach(arg1: *mut ISC_STATUS, arg2: *mut isc_svc_handle) -> ISC_STATUS;
1218 // }
1219 // extern "C" {
1220 // pub fn isc_service_query(
1221 // arg1: *mut ISC_STATUS,
1222 // arg2: *mut isc_svc_handle,
1223 // arg3: *mut isc_resv_handle,
1224 // arg4: ::std::os::raw::c_ushort,
1225 // arg5: *const ISC_SCHAR,
1226 // arg6: ::std::os::raw::c_ushort,
1227 // arg7: *const ISC_SCHAR,
1228 // arg8: ::std::os::raw::c_ushort,
1229 // arg9: *mut ISC_SCHAR,
1230 // ) -> ISC_STATUS;
1231 // }
1232 // extern "C" {
1233 // pub fn isc_service_start(
1234 // arg1: *mut ISC_STATUS,
1235 // arg2: *mut isc_svc_handle,
1236 // arg3: *mut isc_resv_handle,
1237 // arg4: ::std::os::raw::c_ushort,
1238 // arg5: *const ISC_SCHAR,
1239 // ) -> ISC_STATUS;
1240 // }
1241 // extern "C" {
1242 // pub fn fb_shutdown(
1243 // arg1: ::std::os::raw::c_uint,
1244 // arg2: ::std::os::raw::c_int,
1245 // ) -> ::std::os::raw::c_int;
1246 // }
1247 // extern "C" {
1248 // pub fn fb_shutdown_callback(
1249 // arg1: *mut ISC_STATUS,
1250 // arg2: FB_SHUTDOWN_CALLBACK,
1251 // arg3: ::std::os::raw::c_int,
1252 // arg4: *mut ::std::os::raw::c_void,
1253 // ) -> ISC_STATUS;
1254 // }
1255 // extern "C" {
1256 // pub fn fb_cancel_operation(
1257 // arg1: *mut ISC_STATUS,
1258 // arg2: *mut isc_db_handle,
1259 // arg3: ISC_USHORT,
1260 // ) -> ISC_STATUS;
1261 // }
1262 // extern "C" {
1263 // pub fn fb_ping(arg1: *mut ISC_STATUS, arg2: *mut isc_db_handle) -> ISC_STATUS;
1264 // }
1265 // extern "C" {
1266 // pub fn fb_get_database_handle(
1267 // arg1: *mut ISC_STATUS,
1268 // arg2: *mut isc_db_handle,
1269 // arg3: *mut ::std::os::raw::c_void,
1270 // ) -> ISC_STATUS;
1271 // }
1272 // extern "C" {
1273 // pub fn fb_get_transaction_handle(
1274 // arg1: *mut ISC_STATUS,
1275 // arg2: *mut isc_tr_handle,
1276 // arg3: *mut ::std::os::raw::c_void,
1277 // ) -> ISC_STATUS;
1278 // }
1279 // extern "C" {
1280 // pub fn isc_get_client_version(arg1: *mut ISC_SCHAR);
1281 // }
1282 // extern "C" {
1283 // pub fn isc_get_client_major_version() -> ::std::os::raw::c_int;
1284 // }
1285 // extern "C" {
1286 // pub fn isc_get_client_minor_version() -> ::std::os::raw::c_int;
1287 // }
1288 // extern "C" {
1289 // pub fn fb_database_crypt_callback(
1290 // arg1: *mut ISC_STATUS,
1291 // arg2: *mut ::std::os::raw::c_void,
1292 // ) -> ISC_STATUS;
1293 // }
1294}