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

/* generated by generate_sys.pl */

#![allow(non_camel_case_types)]

extern crate libc;
extern crate openssl;

/**
 * Initialize library.
 */
pub fn init() {
    openssl::init();
}

/* automatically generated by rust-bindgen */

pub enum ub_ctx{}
#[repr(C)]
#[derive(Debug)]
pub struct ub_result {
    pub qname: *mut ::libc::c_char,
    pub qtype: ::libc::c_int,
    pub qclass: ::libc::c_int,
    pub data: *mut *mut ::libc::c_char,
    pub len: *mut ::libc::c_int,
    pub canonname: *mut ::libc::c_char,
    pub rcode: ::libc::c_int,
    pub answer_packet: *mut ::libc::c_void,
    pub answer_len: ::libc::c_int,
    pub havedata: ::libc::c_int,
    pub nxdomain: ::libc::c_int,
    pub secure: ::libc::c_int,
    pub bogus: ::libc::c_int,
    pub why_bogus: *mut ::libc::c_char,
    pub ttl: ::libc::c_int,
}
pub type ub_callback_t = unsafe extern "C" fn(arg1: *mut ::libc::c_void,
                                              arg2: ::libc::c_int,
                                              arg3: *mut ub_result);
extern "C" {
    pub fn ub_ctx_create() -> *mut ub_ctx;
}
extern "C" {
    pub fn ub_ctx_delete(ctx: *mut ub_ctx);
}
extern "C" {
    pub fn ub_ctx_set_option(ctx: *mut ub_ctx, opt: *const ::libc::c_char,
                             val: *const ::libc::c_char) -> ::libc::c_int;
}
extern "C" {
    pub fn ub_ctx_get_option(ctx: *mut ub_ctx, opt: *const ::libc::c_char,
                             str: *mut *mut ::libc::c_char) -> ::libc::c_int;
}
extern "C" {
    pub fn ub_ctx_config(ctx: *mut ub_ctx, fname: *const ::libc::c_char)
     -> ::libc::c_int;
}
extern "C" {
    pub fn ub_ctx_set_fwd(ctx: *mut ub_ctx, addr: *const ::libc::c_char)
     -> ::libc::c_int;
}
extern "C" {
    #[cfg(ub_ctx_set_stub)] pub fn ub_ctx_set_stub(ctx: *mut ub_ctx, zone: *const ::libc::c_char,
                           addr: *const ::libc::c_char,
                           isprime: ::libc::c_int) -> ::libc::c_int;
}
extern "C" {
    pub fn ub_ctx_resolvconf(ctx: *mut ub_ctx, fname: *const ::libc::c_char)
     -> ::libc::c_int;
}
extern "C" {
    pub fn ub_ctx_hosts(ctx: *mut ub_ctx, fname: *const ::libc::c_char)
     -> ::libc::c_int;
}
extern "C" {
    pub fn ub_ctx_add_ta(ctx: *mut ub_ctx, ta: *const ::libc::c_char)
     -> ::libc::c_int;
}
extern "C" {
    pub fn ub_ctx_add_ta_file(ctx: *mut ub_ctx, fname: *const ::libc::c_char)
     -> ::libc::c_int;
}
extern "C" {
    #[cfg(ub_ctx_add_ta_autr)] pub fn ub_ctx_add_ta_autr(ctx: *mut ub_ctx, fname: *const ::libc::c_char)
     -> ::libc::c_int;
}
extern "C" {
    pub fn ub_ctx_trustedkeys(ctx: *mut ub_ctx, fname: *const ::libc::c_char)
     -> ::libc::c_int;
}
extern "C" {
    pub fn ub_ctx_debugout(ctx: *mut ub_ctx, out: *mut ::libc::c_void)
     -> ::libc::c_int;
}
extern "C" {
    pub fn ub_ctx_debuglevel(ctx: *mut ub_ctx, d: ::libc::c_int)
     -> ::libc::c_int;
}
extern "C" {
    pub fn ub_ctx_async(ctx: *mut ub_ctx, dothread: ::libc::c_int)
     -> ::libc::c_int;
}
extern "C" {
    pub fn ub_poll(ctx: *mut ub_ctx) -> ::libc::c_int;
}
extern "C" {
    pub fn ub_wait(ctx: *mut ub_ctx) -> ::libc::c_int;
}
extern "C" {
    pub fn ub_fd(ctx: *mut ub_ctx) -> ::libc::c_int;
}
extern "C" {
    pub fn ub_process(ctx: *mut ub_ctx) -> ::libc::c_int;
}
extern "C" {
    pub fn ub_resolve(ctx: *mut ub_ctx, name: *const ::libc::c_char,
                      rrtype: ::libc::c_int, rrclass: ::libc::c_int,
                      result: *mut *mut ub_result) -> ::libc::c_int;
}
extern "C" {
    pub fn ub_resolve_async(ctx: *mut ub_ctx, name: *const ::libc::c_char,
                            rrtype: ::libc::c_int, rrclass: ::libc::c_int,
                            mydata: *mut ::libc::c_void,
                            callback: ub_callback_t,
                            async_id: *mut ::libc::c_int) -> ::libc::c_int;
}
extern "C" {
    pub fn ub_cancel(ctx: *mut ub_ctx, async_id: ::libc::c_int)
     -> ::libc::c_int;
}
extern "C" {
    pub fn ub_resolve_free(result: *mut ub_result);
}
extern "C" {
    pub fn ub_strerror(err: ::libc::c_int) -> *const ::libc::c_char;
}
extern "C" {
    pub fn ub_ctx_print_local_zones(ctx: *mut ub_ctx) -> ::libc::c_int;
}
extern "C" {
    pub fn ub_ctx_zone_add(ctx: *mut ub_ctx, zone_name: *const ::libc::c_char,
                           zone_type: *const ::libc::c_char) -> ::libc::c_int;
}
extern "C" {
    pub fn ub_ctx_zone_remove(ctx: *mut ub_ctx,
                              zone_name: *const ::libc::c_char)
     -> ::libc::c_int;
}
extern "C" {
    pub fn ub_ctx_data_add(ctx: *mut ub_ctx, data: *const ::libc::c_char)
     -> ::libc::c_int;
}
extern "C" {
    pub fn ub_ctx_data_remove(ctx: *mut ub_ctx, data: *const ::libc::c_char)
     -> ::libc::c_int;
}
extern "C" {
    pub fn ub_version() -> *const ::libc::c_char;
}