Skip to content

Commit e615a76

Browse files
committed
1 parent e399e89 commit e615a76

File tree

2 files changed

+29
-25
lines changed

2 files changed

+29
-25
lines changed

c-ares-sys/generate-ffi.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,9 @@ fi
1111
bindgen --whitelist-function="ares.*" --whitelist-type="ares.*" --whitelist-type="apattern" --no-recursive-whitelist --no-unstable-rust --output=src/ffi.rs c-ares/ares.h
1212
patch -p0 < ffi.patch
1313

14+
# bindgen converts 'char' to 'c_schar' - see https://github.com/servo/rust-bindgen/issues/603.
15+
# Since c-ares never uses 'signed char' we can compensate with simple search-and-replace.
16+
sed -i 's/c_schar/c_char/g' src/ffi.rs
17+
1418
# Generate constants.
1519
./generate-constants.pl > src/constants.rs

c-ares-sys/src/ffi.rs

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,9 @@ pub struct ares_options {
6262
pub socket_receive_buffer_size: ::std::os::raw::c_int,
6363
pub servers: *mut in_addr,
6464
pub nservers: ::std::os::raw::c_int,
65-
pub domains: *mut *mut ::std::os::raw::c_schar,
65+
pub domains: *mut *mut ::std::os::raw::c_char,
6666
pub ndomains: ::std::os::raw::c_int,
67-
pub lookups: *mut ::std::os::raw::c_schar,
67+
pub lookups: *mut ::std::os::raw::c_char,
6868
pub sock_state_cb: ares_sock_state_cb,
6969
pub sock_state_cb_data: *mut ::std::os::raw::c_void,
7070
pub sortlist: *mut apattern,
@@ -104,9 +104,9 @@ pub type ares_nameinfo_callback =
104104
timeouts:
105105
::std::os::raw::c_int,
106106
node:
107-
*mut ::std::os::raw::c_schar,
107+
*mut ::std::os::raw::c_char,
108108
service:
109-
*mut ::std::os::raw::c_schar)>;
109+
*mut ::std::os::raw::c_char)>;
110110
pub type ares_sock_create_callback =
111111
::std::option::Option<unsafe extern "C" fn(socket_fd: ares_socket_t,
112112
type_: ::std::os::raw::c_int,
@@ -150,7 +150,7 @@ extern "C" {
150150
}
151151
extern "C" {
152152
pub fn ares_version(version: *mut ::std::os::raw::c_int)
153-
-> *const ::std::os::raw::c_schar;
153+
-> *const ::std::os::raw::c_char;
154154
}
155155
extern "C" {
156156
pub fn ares_init(channelptr: *mut ares_channel) -> ::std::os::raw::c_int;
@@ -190,7 +190,7 @@ extern "C" {
190190
}
191191
extern "C" {
192192
pub fn ares_set_local_dev(channel: ares_channel,
193-
local_dev_name: *const ::std::os::raw::c_schar);
193+
local_dev_name: *const ::std::os::raw::c_char);
194194
}
195195
extern "C" {
196196
pub fn ares_set_socket_callback(channel: ares_channel,
@@ -206,7 +206,7 @@ extern "C" {
206206
}
207207
extern "C" {
208208
pub fn ares_set_sortlist(channel: ares_channel,
209-
sortstr: *const ::std::os::raw::c_schar)
209+
sortstr: *const ::std::os::raw::c_char)
210210
-> ::std::os::raw::c_int;
211211
}
212212
#[repr(C)]
@@ -274,28 +274,28 @@ extern "C" {
274274
}
275275
extern "C" {
276276
pub fn ares_query(channel: ares_channel,
277-
name: *const ::std::os::raw::c_schar,
277+
name: *const ::std::os::raw::c_char,
278278
dnsclass: ::std::os::raw::c_int,
279279
type_: ::std::os::raw::c_int, callback: ares_callback,
280280
arg: *mut ::std::os::raw::c_void);
281281
}
282282
extern "C" {
283283
pub fn ares_search(channel: ares_channel,
284-
name: *const ::std::os::raw::c_schar,
284+
name: *const ::std::os::raw::c_char,
285285
dnsclass: ::std::os::raw::c_int,
286286
type_: ::std::os::raw::c_int, callback: ares_callback,
287287
arg: *mut ::std::os::raw::c_void);
288288
}
289289
extern "C" {
290290
pub fn ares_gethostbyname(channel: ares_channel,
291-
name: *const ::std::os::raw::c_schar,
291+
name: *const ::std::os::raw::c_char,
292292
family: ::std::os::raw::c_int,
293293
callback: ares_host_callback,
294294
arg: *mut ::std::os::raw::c_void);
295295
}
296296
extern "C" {
297297
pub fn ares_gethostbyname_file(channel: ares_channel,
298-
name: *const ::std::os::raw::c_schar,
298+
name: *const ::std::os::raw::c_char,
299299
family: ::std::os::raw::c_int,
300300
host: *mut *mut hostent)
301301
-> ::std::os::raw::c_int;
@@ -338,7 +338,7 @@ extern "C" {
338338
write_fd: ares_socket_t);
339339
}
340340
extern "C" {
341-
pub fn ares_create_query(name: *const ::std::os::raw::c_schar,
341+
pub fn ares_create_query(name: *const ::std::os::raw::c_char,
342342
dnsclass: ::std::os::raw::c_int,
343343
type_: ::std::os::raw::c_int,
344344
id: ::std::os::raw::c_ushort,
@@ -349,7 +349,7 @@ extern "C" {
349349
-> ::std::os::raw::c_int;
350350
}
351351
extern "C" {
352-
pub fn ares_mkquery(name: *const ::std::os::raw::c_schar,
352+
pub fn ares_mkquery(name: *const ::std::os::raw::c_char,
353353
dnsclass: ::std::os::raw::c_int,
354354
type_: ::std::os::raw::c_int,
355355
id: ::std::os::raw::c_ushort,
@@ -362,7 +362,7 @@ extern "C" {
362362
pub fn ares_expand_name(encoded: *const ::std::os::raw::c_uchar,
363363
abuf: *const ::std::os::raw::c_uchar,
364364
alen: ::std::os::raw::c_int,
365-
s: *mut *mut ::std::os::raw::c_schar,
365+
s: *mut *mut ::std::os::raw::c_char,
366366
enclen: *mut ::std::os::raw::c_long)
367367
-> ::std::os::raw::c_int;
368368
}
@@ -413,7 +413,7 @@ impl Clone for ares_addr6ttl {
413413
#[derive(Debug, Copy)]
414414
pub struct ares_srv_reply {
415415
pub next: *mut ares_srv_reply,
416-
pub host: *mut ::std::os::raw::c_schar,
416+
pub host: *mut ::std::os::raw::c_char,
417417
pub priority: ::std::os::raw::c_ushort,
418418
pub weight: ::std::os::raw::c_ushort,
419419
pub port: ::std::os::raw::c_ushort,
@@ -425,7 +425,7 @@ impl Clone for ares_srv_reply {
425425
#[derive(Debug, Copy)]
426426
pub struct ares_mx_reply {
427427
pub next: *mut ares_mx_reply,
428-
pub host: *mut ::std::os::raw::c_schar,
428+
pub host: *mut ::std::os::raw::c_char,
429429
pub priority: ::std::os::raw::c_ushort,
430430
}
431431
impl Clone for ares_mx_reply {
@@ -459,7 +459,7 @@ pub struct ares_naptr_reply {
459459
pub flags: *mut ::std::os::raw::c_uchar,
460460
pub service: *mut ::std::os::raw::c_uchar,
461461
pub regexp: *mut ::std::os::raw::c_uchar,
462-
pub replacement: *mut ::std::os::raw::c_schar,
462+
pub replacement: *mut ::std::os::raw::c_char,
463463
pub order: ::std::os::raw::c_ushort,
464464
pub preference: ::std::os::raw::c_ushort,
465465
}
@@ -469,8 +469,8 @@ impl Clone for ares_naptr_reply {
469469
#[repr(C)]
470470
#[derive(Debug, Copy)]
471471
pub struct ares_soa_reply {
472-
pub nsname: *mut ::std::os::raw::c_schar,
473-
pub hostmaster: *mut ::std::os::raw::c_schar,
472+
pub nsname: *mut ::std::os::raw::c_char,
473+
pub hostmaster: *mut ::std::os::raw::c_char,
474474
pub serial: ::std::os::raw::c_uint,
475475
pub refresh: ::std::os::raw::c_uint,
476476
pub retry: ::std::os::raw::c_uint,
@@ -558,7 +558,7 @@ extern "C" {
558558
}
559559
extern "C" {
560560
pub fn ares_strerror(code: ::std::os::raw::c_int)
561-
-> *const ::std::os::raw::c_schar;
561+
-> *const ::std::os::raw::c_char;
562562
}
563563
#[repr(C)]
564564
#[derive(Debug, Copy)]
@@ -614,12 +614,12 @@ extern "C" {
614614
}
615615
extern "C" {
616616
pub fn ares_set_servers_csv(channel: ares_channel,
617-
servers: *const ::std::os::raw::c_schar)
617+
servers: *const ::std::os::raw::c_char)
618618
-> ::std::os::raw::c_int;
619619
}
620620
extern "C" {
621621
pub fn ares_set_servers_ports_csv(channel: ares_channel,
622-
servers: *const ::std::os::raw::c_schar)
622+
servers: *const ::std::os::raw::c_char)
623623
-> ::std::os::raw::c_int;
624624
}
625625
extern "C" {
@@ -635,13 +635,13 @@ extern "C" {
635635
extern "C" {
636636
pub fn ares_inet_ntop(af: ::std::os::raw::c_int,
637637
src: *const ::std::os::raw::c_void,
638-
dst: *mut ::std::os::raw::c_schar,
638+
dst: *mut ::std::os::raw::c_char,
639639
size: ares_socklen_t)
640-
-> *const ::std::os::raw::c_schar;
640+
-> *const ::std::os::raw::c_char;
641641
}
642642
extern "C" {
643643
pub fn ares_inet_pton(af: ::std::os::raw::c_int,
644-
src: *const ::std::os::raw::c_schar,
644+
src: *const ::std::os::raw::c_char,
645645
dst: *mut ::std::os::raw::c_void)
646646
-> ::std::os::raw::c_int;
647647
}

0 commit comments

Comments
 (0)