Using i32 causes compile errors on Windows because it uses *c_void rather than i32 for it's fd_t type.