Bindings for [`c-ares`](http://c-ares.haxx.se/), autogenerated by [`rust-bindgen`](https://github.com/crabtw/rust-bindgen):

    bindgen -l cares -match ares -o src/ffi.rs /usr/include/ares.h

... and then remove `ares_fds` and `ares_process`.  (These both use `fd_set`.  Cursory search didn't find an existing Rust representation of this structure and since I don't intend to use either of those functions in the high-level API, it's simplest just to pretend they're not there).

Bindings for [`c-ares`](http://c-ares.haxx.se/), mostly autogenerated by [`rust-bindgen`](https://github.com/crabtw/rust-bindgen).

To create ffi.rs, do this:

    bindgen -l cares -match ares -o src/ffi.rs /usr/include/ares.h

... and then:

- add `unsafe` to the function type declarations for `ares_sock_state_cb`, `ares_callback`, `ares_host_callback`, `ares_nameinfo_callback`, `ares_sock_create_callback`
    - Any non-trivial implementations of these callbacks will involve de-referencing raw pointer parameters
- remove `ares_fds` and `ares_process`
    - These both use `fd_set`.  
    - Cursory search didn't find an existing Rust representation of this structure
    - Since the high-level API doesn't use either of these functions, it's simplest just to pretend they're not there

Document further manual tweaks to autogen code
Document further manual tweaks to autogen code

Callbacks from C into rust should be marked unsafe