@@ -56,12 +56,14 @@ pub type uv_handle_t = c_void;
56
56
pub type uv_loop_t = c_void ;
57
57
pub type uv_idle_t = c_void ;
58
58
pub type uv_tcp_t = c_void ;
59
+ pub type uv_udp_t = c_void ;
59
60
pub type uv_connect_t = c_void ;
60
61
pub type uv_write_t = c_void ;
61
62
pub type uv_async_t = c_void ;
62
63
pub type uv_timer_t = c_void ;
63
64
pub type uv_stream_t = c_void ;
64
65
pub type uv_fs_t = c_void ;
66
+ pub type uv_udp_send_t = c_void ;
65
67
66
68
pub type uv_idle_cb = * u8 ;
67
69
@@ -183,6 +185,40 @@ pub unsafe fn idle_stop(handle: *uv_idle_t) -> c_int {
183
185
rust_uv_idle_stop ( handle)
184
186
}
185
187
188
+ pub unsafe fn udp_init ( loop_handle : * uv_loop_t , handle : * uv_udp_t ) -> c_int {
189
+ return rust_uv_udp_init ( loop_handle, handle) ;
190
+ }
191
+
192
+ pub unsafe fn udp_bind ( server : * uv_udp_t , addr : * sockaddr_in , flags : c_uint ) -> c_int {
193
+ return rust_uv_udp_bind ( server, addr, flags) ;
194
+ }
195
+
196
+ pub unsafe fn udp_bind6 ( server : * uv_udp_t , addr : * sockaddr_in6 , flags : c_uint ) -> c_int {
197
+ return rust_uv_udp_bind6 ( server, addr, flags) ;
198
+ }
199
+
200
+ pub unsafe fn udp_send < T > ( req : * uv_udp_send_t , handle : * T , buf_in : & [ uv_buf_t ] ,
201
+ addr : * sockaddr_in , cb : * u8 ) -> c_int {
202
+ let buf_ptr = vec:: raw:: to_ptr ( buf_in) ;
203
+ let buf_cnt = buf_in. len ( ) as i32 ;
204
+ return rust_uv_udp_send ( req, handle, buf_ptr, buf_cnt, addr, cb) ;
205
+ }
206
+
207
+ pub unsafe fn udp_send6 < T > ( req : * uv_udp_send_t , handle : * T , buf_in : & [ uv_buf_t ] ,
208
+ addr : * sockaddr_in6 , cb : * u8 ) -> c_int {
209
+ let buf_ptr = vec:: raw:: to_ptr ( buf_in) ;
210
+ let buf_cnt = buf_in. len ( ) as i32 ;
211
+ return rust_uv_udp_send ( req, handle, buf_ptr, buf_cnt, addr, cb) ;
212
+ }
213
+
214
+ pub unsafe fn udp_recv_start ( server : * uv_udp_t , on_alloc : * u8 , on_recv : * u8 ) -> c_int {
215
+ return rust_uv_udp_recv_start ( server, on_alloc, on_recv) ;
216
+ }
217
+
218
+ pub unsafe fn udp_recv_stop ( server : * uv_udp_t ) -> c_int {
219
+ return rust_uv_udp_recv_stop ( server) ;
220
+ }
221
+
186
222
pub unsafe fn tcp_init ( loop_handle : * c_void , handle : * uv_tcp_t ) -> c_int {
187
223
return rust_uv_tcp_init ( loop_handle, handle) ;
188
224
}
@@ -417,6 +453,17 @@ extern {
417
453
name : * sockaddr_in ) -> c_int ;
418
454
fn rust_uv_tcp_getpeername6 ( tcp_handle_ptr : * uv_tcp_t ,
419
455
name : * sockaddr_in6 ) ->c_int ;
456
+
457
+ fn rust_uv_udp_init ( loop_handle : * uv_loop_t , handle_ptr : * uv_udp_t ) -> c_int ;
458
+ fn rust_uv_udp_bind ( server : * uv_udp_t , addr : * sockaddr_in , flags : c_uint ) -> c_int ;
459
+ fn rust_uv_udp_bind6 ( server : * uv_udp_t , addr : * sockaddr_in6 , flags : c_uint ) -> c_int ;
460
+ fn rust_uv_udp_send ( req : * uv_udp_send_t , handle : * uv_udp_t , buf_in : * uv_buf_t ,
461
+ buf_cnt : c_int , addr : * sockaddr_in , cb : * u8 ) -> c_int ;
462
+ fn rust_uv_udp_send6 ( req : * uv_udp_send_t , handle : * uv_udp_t , buf_in : * uv_buf_t ,
463
+ buf_cnt : c_int , addr : * sockaddr_in6 , cb : * u8 ) -> c_int ;
464
+ fn rust_uv_udp_recv_start ( server : * uv_udp_t , on_alloc : * u8 , on_recv : * u8 ) -> c_int ;
465
+ fn rust_uv_udp_recv_stop ( server : * uv_udp_t ) -> c_int ;
466
+
420
467
fn rust_uv_listen ( stream : * c_void , backlog : c_int , cb : * u8 ) -> c_int ;
421
468
fn rust_uv_accept ( server : * c_void , client : * c_void ) -> c_int ;
422
469
fn rust_uv_write ( req : * c_void ,
0 commit comments