@@ -54,7 +54,10 @@ pub type uv_timer_t = c_void;
5454pub type uv_stream_t = c_void ;
5555pub type uv_fs_t = c_void ;
5656
57+ #[ cfg( stage0) ]
5758pub type uv_idle_cb = * u8 ;
59+ #[ cfg( not( stage0) ) ]
60+ pub type uv_idle_cb = extern "C" fn ( * c_void , i32 ) ;
5861
5962pub type sockaddr_in = c_void ;
6063pub type sockaddr_in6 = c_void ;
@@ -146,10 +149,17 @@ pub unsafe fn run(loop_handle: *c_void) {
146149 rust_uv_run ( loop_handle) ;
147150}
148151
152+ #[ cfg( stage0) ]
149153pub unsafe fn close < T > ( handle : * T , cb : * u8 ) {
150154 rust_uv_close ( handle as * c_void , cb) ;
151155}
152156
157+ #[ cfg( not( stage0) ) ]
158+ pub unsafe fn close < T > ( handle : * T ,
159+ callback : extern "C" fn ( handle : * uv_stream_t ) ) {
160+ rust_uv_close ( handle as * c_void , callback) ;
161+ }
162+
153163pub unsafe fn walk ( loop_handle : * c_void , cb : * u8 , arg : * c_void ) {
154164 rust_uv_walk ( loop_handle, cb, arg) ;
155165}
@@ -179,12 +189,29 @@ pub unsafe fn tcp_init(loop_handle: *c_void, handle: *uv_tcp_t) -> c_int {
179189}
180190
181191// FIXME ref #2064
192+ #[ cfg( stage0) ]
193+ pub unsafe fn tcp_connect ( connect_ptr : * uv_connect_t ,
194+ tcp_handle_ptr : * uv_tcp_t ,
195+ addr_ptr : * sockaddr_in ,
196+ after_connect_cb : * u8 )
197+ -> c_int {
198+ return rust_uv_tcp_connect ( connect_ptr,
199+ tcp_handle_ptr,
200+ after_connect_cb,
201+ addr_ptr) ;
202+ }
203+
204+ // FIXME ref #2064
205+ #[ cfg( not( stage0) ) ]
182206pub unsafe fn tcp_connect ( connect_ptr : * uv_connect_t ,
183207 tcp_handle_ptr : * uv_tcp_t ,
184208 addr_ptr : * sockaddr_in ,
185- after_connect_cb : * u8 ) -> c_int {
186- return rust_uv_tcp_connect ( connect_ptr, tcp_handle_ptr,
187- after_connect_cb, addr_ptr) ;
209+ after_connect_cb : extern "C" fn ( * c_void , i32 ) )
210+ -> c_int {
211+ return rust_uv_tcp_connect ( connect_ptr,
212+ tcp_handle_ptr,
213+ after_connect_cb,
214+ addr_ptr) ;
188215}
189216// FIXME ref #2064
190217pub unsafe fn tcp_connect6 ( connect_ptr : * uv_connect_t ,
@@ -211,20 +238,64 @@ pub unsafe fn tcp_getpeername6(tcp_handle_ptr: *uv_tcp_t, name: *sockaddr_in6) -
211238 return rust_uv_tcp_getpeername6 ( tcp_handle_ptr, name) ;
212239}
213240
241+ #[ cfg( stage0) ]
214242pub unsafe fn listen < T > ( stream : * T , backlog : c_int , cb : * u8 ) -> c_int {
215243 return rust_uv_listen ( stream as * c_void , backlog, cb) ;
216244}
217245
246+ #[ cfg( not( stage0) ) ]
247+ pub unsafe fn listen < T > ( stream : * T ,
248+ backlog : c_int ,
249+ callback : extern "C" fn ( a : * c_void , b : i32 ) )
250+ -> c_int {
251+ return rust_uv_listen ( stream as * c_void , backlog, callback) ;
252+ }
253+
218254pub unsafe fn accept ( server : * c_void , client : * c_void ) -> c_int {
219255 return rust_uv_accept ( server as * c_void , client as * c_void ) ;
220256}
221257
222- pub unsafe fn write < T > ( req : * uv_write_t , stream : * T , buf_in : & [ uv_buf_t ] , cb : * u8 ) -> c_int {
258+ #[ cfg( stage0) ]
259+ pub unsafe fn write < T > ( req : * uv_write_t ,
260+ stream : * T ,
261+ buf_in : & [ uv_buf_t ] ,
262+ callback : * u8 )
263+ -> c_int {
264+ let buf_ptr = vec:: raw:: to_ptr ( buf_in) ;
265+ let buf_cnt = vec:: len ( buf_in) as i32 ;
266+ return rust_uv_write ( req as * c_void ,
267+ stream as * c_void ,
268+ buf_ptr,
269+ buf_cnt,
270+ callback) ;
271+ }
272+
273+ #[ cfg( not( stage0) ) ]
274+ pub unsafe fn write < T > ( req : * uv_write_t ,
275+ stream : * T ,
276+ buf_in : & [ uv_buf_t ] ,
277+ callback : extern "C" fn ( * c_void , i32 ) )
278+ -> c_int {
223279 let buf_ptr = vec:: raw:: to_ptr ( buf_in) ;
224280 let buf_cnt = vec:: len ( buf_in) as i32 ;
225- return rust_uv_write ( req as * c_void , stream as * c_void , buf_ptr, buf_cnt, cb) ;
281+ return rust_uv_write ( req as * c_void ,
282+ stream as * c_void ,
283+ buf_ptr,
284+ buf_cnt,
285+ callback) ;
226286}
227- pub unsafe fn read_start ( stream : * uv_stream_t , on_alloc : * u8 , on_read : * u8 ) -> c_int {
287+
288+ #[ cfg( stage0) ]
289+ pub unsafe fn read_start ( stream : * uv_stream_t , on_alloc : * u8 , on_read : * u8 )
290+ -> c_int {
291+ return rust_uv_read_start ( stream as * c_void , on_alloc, on_read) ;
292+ }
293+
294+ #[ cfg( not( stage0) ) ]
295+ pub unsafe fn read_start ( stream : * uv_stream_t ,
296+ on_alloc : extern "C" fn ( * c_void , u64 ) -> uv_buf_t ,
297+ on_read : extern "C" fn ( * c_void , i64 , uv_buf_t ) )
298+ -> c_int {
228299 return rust_uv_read_start ( stream as * c_void , on_alloc, on_read) ;
229300}
230301
@@ -361,7 +432,13 @@ extern {
361432 fn rust_uv_loop_new ( ) -> * c_void ;
362433 fn rust_uv_loop_delete ( lp : * c_void ) ;
363434 fn rust_uv_run ( loop_handle : * c_void ) ;
435+
436+ #[ cfg( stage0) ]
364437 fn rust_uv_close ( handle : * c_void , cb : * u8 ) ;
438+ #[ cfg( not( stage0) ) ]
439+ fn rust_uv_close ( handle : * c_void ,
440+ callback : extern "C" fn ( handle : * uv_stream_t ) ) ;
441+
365442 fn rust_uv_walk ( loop_handle : * c_void , cb : * u8 , arg : * c_void ) ;
366443
367444 fn rust_uv_idle_new ( ) -> * uv_idle_t ;
@@ -390,11 +467,19 @@ extern {
390467 fn rust_uv_ip6_name ( src : * sockaddr_in6 , dst : * u8 , size : size_t ) -> c_int ;
391468 fn rust_uv_ip4_port ( src : * sockaddr_in ) -> c_uint ;
392469 fn rust_uv_ip6_port ( src : * sockaddr_in6 ) -> c_uint ;
470+
393471 // FIXME ref #2064
472+ #[ cfg( stage0) ]
394473 fn rust_uv_tcp_connect ( connect_ptr : * uv_connect_t ,
395474 tcp_handle_ptr : * uv_tcp_t ,
396475 after_cb : * u8 ,
397476 addr : * sockaddr_in ) -> c_int ;
477+ #[ cfg( not( stage0) ) ]
478+ fn rust_uv_tcp_connect ( connect_ptr : * uv_connect_t ,
479+ tcp_handle_ptr : * uv_tcp_t ,
480+ after_cb : extern "C" fn ( * libc:: c_void , i32 ) ,
481+ addr : * sockaddr_in ) -> c_int ;
482+
398483 // FIXME ref #2064
399484 fn rust_uv_tcp_bind ( tcp_server : * uv_tcp_t , addr : * sockaddr_in ) -> c_int ;
400485 // FIXME ref #2064
@@ -408,16 +493,39 @@ extern {
408493 name : * sockaddr_in ) -> c_int ;
409494 fn rust_uv_tcp_getpeername6 ( tcp_handle_ptr : * uv_tcp_t ,
410495 name : * sockaddr_in6 ) ->c_int ;
496+
497+ #[ cfg( stage0) ]
411498 fn rust_uv_listen ( stream : * c_void , backlog : c_int , cb : * u8 ) -> c_int ;
499+ #[ cfg( not( stage0) ) ]
500+ fn rust_uv_listen ( stream : * c_void ,
501+ backlog : c_int ,
502+ callback : extern "C" fn ( a : * c_void , b : i32 ) )
503+ -> c_int ;
504+
412505 fn rust_uv_accept ( server : * c_void , client : * c_void ) -> c_int ;
506+
507+ #[ cfg( stage0) ]
413508 fn rust_uv_write ( req : * c_void ,
414509 stream : * c_void ,
415510 buf_in : * uv_buf_t ,
416511 buf_cnt : c_int ,
417512 cb : * u8 ) -> c_int ;
513+
514+ #[ cfg( not( stage0) ) ]
515+ fn rust_uv_write ( req : * c_void ,
516+ stream : * c_void ,
517+ buf_in : * uv_buf_t ,
518+ buf_cnt : c_int ,
519+ callback : extern "C" fn ( * c_void , i32 ) )
520+ -> c_int ;
521+ #[ cfg( stage0) ]
522+ fn rust_uv_read_start ( stream : * c_void , on_alloc : * u8 , on_read : * u8 )
523+ -> c_int ;
524+ #[ cfg( not( stage0) ) ]
418525 fn rust_uv_read_start ( stream : * c_void ,
419- on_alloc : * u8 ,
420- on_read : * u8 ) -> c_int ;
526+ on_alloc : extern "C" fn ( * c_void , u64 ) -> uv_buf_t ,
527+ on_read : extern "C" fn ( * c_void , i64 , uv_buf_t ) )
528+ -> c_int ;
421529 fn rust_uv_read_stop ( stream : * c_void ) -> c_int ;
422530 fn rust_uv_timer_init ( loop_handle : * c_void ,
423531 timer_handle : * uv_timer_t ) -> c_int ;
0 commit comments