17
17
18
18
#include " rust_globals.h"
19
19
20
- // extern fn pointers
21
- typedef void (*extern_async_op_cb)(uv_loop_t * loop, void * data,
22
- uv_async_t * op_handle);
23
- typedef void (*extern_simple_cb)(uint8_t * id_buf, void * loop_data);
24
- typedef void (*extern_close_cb)(uint8_t * id_buf, void * handle,
25
- void * data);
26
-
27
- // data types
28
- #define RUST_UV_HANDLE_LEN 16
29
-
30
- struct handle_data {
31
- uint8_t id_buf[RUST_UV_HANDLE_LEN];
32
- extern_simple_cb cb;
33
- extern_close_cb close_cb;
34
- };
35
-
36
- static void
37
- foreign_timer_cb (uv_timer_t * handle, int status) {
38
- handle_data* handle_d = (handle_data*)handle->data ;
39
- void * loop_data = handle->loop ->data ;
40
- handle_d->cb (handle_d->id_buf , loop_data);
41
- }
42
-
43
- static void
44
- foreign_close_cb (uv_handle_t * handle) {
45
- handle_data* data = (handle_data*)handle->data ;
46
- data->close_cb (data->id_buf , handle, handle->loop ->data );
47
- }
48
20
extern " C" void *
49
21
rust_uv_loop_new () {
50
22
return (void *)uv_loop_new ();
@@ -91,13 +63,6 @@ rust_uv_walk(uv_loop_t* loop, uv_walk_cb cb, void* arg) {
91
63
uv_walk (loop, cb, arg);
92
64
}
93
65
94
- extern " C" void
95
- rust_uv_hilvl_close (uv_handle_t * handle, extern_close_cb cb) {
96
- handle_data* data = (handle_data*)handle->data ;
97
- data->close_cb = cb;
98
- uv_close (handle, foreign_close_cb);
99
- }
100
-
101
66
extern " C" void
102
67
rust_uv_async_send (uv_async_t * handle) {
103
68
uv_async_send (handle);
@@ -110,12 +75,6 @@ rust_uv_async_init(uv_loop_t* loop_handle,
110
75
return uv_async_init (loop_handle, async_handle, cb);
111
76
}
112
77
113
- extern " C" void
114
- rust_uv_hilvl_timer_start (uv_timer_t * the_timer, uint32_t timeout,
115
- uint32_t repeat) {
116
- uv_timer_start (the_timer, foreign_timer_cb, timeout, repeat);
117
- }
118
-
119
78
extern " C" int
120
79
rust_uv_timer_init (uv_loop_t * loop, uv_timer_t * timer) {
121
80
return uv_timer_init (loop, timer);
@@ -301,58 +260,6 @@ rust_uv_accept(uv_stream_t* server, uv_stream_t* client) {
301
260
return uv_accept (server, client);
302
261
}
303
262
304
- extern " C" size_t
305
- rust_uv_helper_uv_tcp_t_size () {
306
- return sizeof (uv_tcp_t );
307
- }
308
- extern " C" size_t
309
- rust_uv_helper_uv_connect_t_size () {
310
- return sizeof (uv_connect_t );
311
- }
312
- extern " C" size_t
313
- rust_uv_helper_uv_buf_t_size () {
314
- return sizeof (uv_buf_t );
315
- }
316
- extern " C" size_t
317
- rust_uv_helper_uv_write_t_size () {
318
- return sizeof (uv_write_t );
319
- }
320
- extern " C" size_t
321
- rust_uv_helper_uv_err_t_size () {
322
- return sizeof (uv_err_t );
323
- }
324
- extern " C" size_t
325
- rust_uv_helper_sockaddr_in_size () {
326
- return sizeof (sockaddr_in);
327
- }
328
- extern " C" size_t
329
- rust_uv_helper_sockaddr_in6_size () {
330
- return sizeof (sockaddr_in6);
331
- }
332
- extern " C" size_t
333
- rust_uv_helper_uv_async_t_size () {
334
- return sizeof (uv_async_t );
335
- }
336
- extern " C" size_t
337
- rust_uv_helper_uv_timer_t_size () {
338
- return sizeof (uv_timer_t );
339
- }
340
- extern " C" size_t
341
- rust_uv_helper_addr_in_size () {
342
- return sizeof (sockaddr_in6);
343
- }
344
- extern " C" size_t
345
- rust_uv_helper_uv_getaddrinfo_t_size () {
346
- return sizeof (uv_getaddrinfo_t );
347
- }
348
- extern " C" size_t
349
- rust_uv_helper_addrinfo_size () {
350
- return sizeof (addrinfo);
351
- }
352
- extern " C" unsigned int
353
- rust_uv_helper_get_INADDR_NONE () {
354
- return INADDR_NONE;
355
- }
356
263
extern " C" uv_stream_t *
357
264
rust_uv_get_stream_handle_from_connect_req (uv_connect_t * connect) {
358
265
return connect->handle ;
0 commit comments