noderb 0.0.8 → 0.0.9
Sign up to get free protection for your applications and to get access to all the features.
- data/ext/noderb_extension/extconf.rb +4 -2
- data/ext/noderb_extension/libuv/AUTHORS +2 -0
- data/ext/noderb_extension/libuv/Makefile +1 -1
- data/ext/noderb_extension/libuv/common.gypi +51 -51
- data/ext/noderb_extension/libuv/config-mingw.mk +3 -9
- data/ext/noderb_extension/libuv/config-unix.mk +10 -1
- data/ext/noderb_extension/libuv/include/uv-private/uv-unix.h +3 -2
- data/ext/noderb_extension/libuv/include/uv-private/uv-win.h +7 -6
- data/ext/noderb_extension/libuv/include/uv.h +47 -13
- data/ext/noderb_extension/libuv/src/ares/config_netbsd/ares_config.h +510 -0
- data/ext/noderb_extension/libuv/src/unix/core.c +20 -65
- data/ext/noderb_extension/libuv/src/unix/darwin.c +1 -0
- data/ext/noderb_extension/libuv/src/unix/eio/config_netbsd.h +81 -0
- data/ext/noderb_extension/libuv/src/unix/error.c +9 -1
- data/ext/noderb_extension/libuv/src/unix/ev/config_netbsd.h +120 -0
- data/ext/noderb_extension/libuv/src/unix/fs.c +151 -21
- data/ext/noderb_extension/libuv/src/unix/internal.h +30 -0
- data/ext/noderb_extension/libuv/src/unix/netbsd.c +68 -0
- data/ext/noderb_extension/libuv/src/unix/pipe.c +20 -30
- data/ext/noderb_extension/libuv/src/unix/process.c +13 -0
- data/ext/noderb_extension/libuv/src/unix/stream.c +105 -63
- data/ext/noderb_extension/libuv/src/unix/tcp.c +75 -21
- data/ext/noderb_extension/libuv/src/unix/tty.c +69 -0
- data/ext/noderb_extension/libuv/src/unix/udp.c +31 -0
- data/ext/noderb_extension/libuv/src/uv-common.c +2 -0
- data/ext/noderb_extension/libuv/src/uv-common.h +0 -6
- data/ext/noderb_extension/libuv/src/win/cares.c +7 -7
- data/ext/noderb_extension/libuv/src/win/core.c +25 -17
- data/ext/noderb_extension/libuv/src/win/error.c +7 -0
- data/ext/noderb_extension/libuv/src/win/fs.c +587 -92
- data/ext/noderb_extension/libuv/src/win/getaddrinfo.c +3 -1
- data/ext/noderb_extension/libuv/src/win/handle.c +0 -17
- data/ext/noderb_extension/libuv/src/win/internal.h +15 -5
- data/ext/noderb_extension/libuv/src/win/loop-watcher.c +1 -1
- data/ext/noderb_extension/libuv/src/win/pipe.c +6 -0
- data/ext/noderb_extension/libuv/src/win/process.c +90 -43
- data/ext/noderb_extension/libuv/src/win/tcp.c +37 -4
- data/ext/noderb_extension/libuv/src/win/threads.c +81 -0
- data/ext/noderb_extension/libuv/src/win/timer.c +15 -15
- data/ext/noderb_extension/libuv/src/win/tty.c +37 -0
- data/ext/noderb_extension/libuv/src/win/udp.c +8 -2
- data/ext/noderb_extension/libuv/src/win/winapi.c +12 -0
- data/ext/noderb_extension/libuv/src/win/winapi.h +1146 -1015
- data/ext/noderb_extension/libuv/test/benchmark-ares.c +0 -1
- data/ext/noderb_extension/libuv/test/benchmark-getaddrinfo.c +0 -1
- data/ext/noderb_extension/libuv/test/benchmark-ping-pongs.c +0 -1
- data/ext/noderb_extension/libuv/test/benchmark-pound.c +0 -1
- data/ext/noderb_extension/libuv/test/benchmark-pump.c +4 -6
- data/ext/noderb_extension/libuv/test/benchmark-spawn.c +0 -1
- data/ext/noderb_extension/libuv/test/benchmark-udp-packet-storm.c +0 -1
- data/ext/noderb_extension/libuv/test/dns-server.c +2 -2
- data/ext/noderb_extension/libuv/test/echo-server.c +4 -5
- data/ext/noderb_extension/libuv/test/run-tests.c +0 -2
- data/ext/noderb_extension/libuv/test/test-async.c +0 -2
- data/ext/noderb_extension/libuv/test/test-callback-stack.c +0 -2
- data/ext/noderb_extension/libuv/test/test-connection-fail.c +3 -5
- data/ext/noderb_extension/libuv/test/test-delayed-accept.c +2 -3
- data/ext/noderb_extension/libuv/test/test-fs.c +578 -42
- data/ext/noderb_extension/libuv/test/test-get-currentexe.c +12 -2
- data/ext/noderb_extension/libuv/test/test-getaddrinfo.c +10 -5
- data/ext/noderb_extension/libuv/test/test-gethostbyname.c +0 -2
- data/ext/noderb_extension/libuv/test/test-getsockname.c +92 -72
- data/ext/noderb_extension/libuv/test/test-idle.c +0 -3
- data/ext/noderb_extension/libuv/test/test-list.h +13 -0
- data/ext/noderb_extension/libuv/test/test-loop-handles.c +0 -3
- data/ext/noderb_extension/libuv/test/test-ping-pong.c +13 -19
- data/ext/noderb_extension/libuv/test/test-pipe-bind-error.c +0 -12
- data/ext/noderb_extension/libuv/test/test-ref.c +0 -7
- data/ext/noderb_extension/libuv/test/test-shutdown-eof.c +3 -3
- data/ext/noderb_extension/libuv/test/test-spawn.c +2 -11
- data/ext/noderb_extension/libuv/test/test-tcp-bind-error.c +0 -19
- data/ext/noderb_extension/libuv/test/test-tcp-bind6-error.c +0 -15
- data/ext/noderb_extension/libuv/test/test-tcp-close.c +129 -0
- data/ext/noderb_extension/libuv/test/test-tcp-writealot.c +0 -3
- data/ext/noderb_extension/libuv/test/test-threadpool.c +0 -2
- data/ext/noderb_extension/libuv/test/test-timer-again.c +0 -3
- data/ext/noderb_extension/libuv/test/test-timer.c +0 -2
- data/ext/noderb_extension/libuv/test/test-udp-dgram-too-big.c +0 -2
- data/ext/noderb_extension/libuv/test/test-udp-ipv6.c +0 -2
- data/ext/noderb_extension/libuv/test/test-udp-send-and-recv.c +0 -2
- data/ext/noderb_extension/libuv/uv.gyp +18 -2
- data/ext/noderb_extension/noderb_fs.c +1 -2
- data/lib/noderb/version.rb +1 -1
- metadata +10 -2
@@ -1,17 +1,19 @@
|
|
1
1
|
require "mkmf"
|
2
2
|
|
3
|
-
cflags = " -shared "
|
3
|
+
cflags = " -shared -fPIC "
|
4
4
|
|
5
5
|
if $solaris
|
6
6
|
cflags = " -G -fPIC "
|
7
7
|
# From EventMachine
|
8
8
|
CONFIG['LDSHARED'] = "$(CXX) -G -fPIC"
|
9
9
|
if CONFIG['CC'] == 'cc'
|
10
|
-
|
10
|
+
cflags = "-g -O2 -fPIC"
|
11
11
|
CONFIG['CCDLFLAGS'] = "-fPIC"
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
|
+
$CFLAGS = CONFIG['CFLAGS'] = cflags
|
16
|
+
|
15
17
|
`cd libuv; CFLAGS="#{cflags}" make; cd ..; cp libuv/uv.a libuv.a`
|
16
18
|
|
17
19
|
dir_config("uv", File.expand_path("../libuv/include", __FILE__), File.expand_path("../libuv", __FILE__))
|
@@ -80,7 +80,7 @@ endif
|
|
80
80
|
TESTS=test/echo-server.c test/test-*.c
|
81
81
|
BENCHMARKS=test/echo-server.c test/dns-server.c test/benchmark-*.c
|
82
82
|
|
83
|
-
all: uv.a test/run-tests test/run-benchmarks
|
83
|
+
all: uv.a test/run-tests$(E) test/run-benchmarks$(E)
|
84
84
|
|
85
85
|
$(CARES_OBJS): %.o: %.c
|
86
86
|
$(CC) -o $*.o -c $(CFLAGS) $(CPPFLAGS) $< -DHAVE_CONFIG_H
|
@@ -1,5 +1,6 @@
|
|
1
1
|
{
|
2
2
|
'variables': {
|
3
|
+
'visibility%': 'hidden', # V8's visibility setting
|
3
4
|
'target_arch%': 'ia32', # set v8's target architecture
|
4
5
|
'host_arch%': 'ia32', # set v8's host architecture
|
5
6
|
'library%': 'static_library', # allow override to 'shared_library' for DLL/.so builds
|
@@ -87,6 +88,11 @@
|
|
87
88
|
'DataExecutionPrevention': 2, # enable DEP
|
88
89
|
'AllowIsolation': 'true',
|
89
90
|
'SuppressStartupBanner': 'true',
|
91
|
+
'target_conditions': [
|
92
|
+
['_type=="executable"', {
|
93
|
+
'SubSystem': 1, # console executable
|
94
|
+
}],
|
95
|
+
],
|
90
96
|
},
|
91
97
|
},
|
92
98
|
'conditions': [
|
@@ -103,61 +109,55 @@
|
|
103
109
|
],
|
104
110
|
}],
|
105
111
|
[ 'OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', {
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
},
|
112
|
+
'cflags': [ '-Wall', '-pthread', ],
|
113
|
+
'cflags_cc': [ '-fno-rtti', '-fno-exceptions' ],
|
114
|
+
'ldflags': [ '-pthread', ],
|
115
|
+
'conditions': [
|
116
|
+
[ 'target_arch=="ia32"', {
|
117
|
+
'cflags': [ '-m32' ],
|
118
|
+
'ldflags': [ '-m32' ],
|
119
|
+
}],
|
120
|
+
[ 'OS=="linux"', {
|
121
|
+
'cflags': [ '-ansi' ],
|
122
|
+
}],
|
123
|
+
[ 'visibility=="hidden"', {
|
124
|
+
'cflags': [ '-fvisibility=hidden' ],
|
125
|
+
}],
|
126
|
+
],
|
122
127
|
}],
|
123
128
|
['OS=="mac"', {
|
124
|
-
'
|
125
|
-
'
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
'
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
'
|
148
|
-
|
149
|
-
'-Wendif-labels',
|
150
|
-
'-W',
|
151
|
-
'-Wno-unused-parameter',
|
152
|
-
'-Wnon-virtual-dtor',
|
153
|
-
],
|
154
|
-
},
|
155
|
-
'target_conditions': [
|
156
|
-
['_type!="static_library"', {
|
157
|
-
'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-search_paths_first']},
|
158
|
-
}],
|
129
|
+
'xcode_settings': {
|
130
|
+
'ALWAYS_SEARCH_USER_PATHS': 'NO',
|
131
|
+
'GCC_CW_ASM_SYNTAX': 'NO', # No -fasm-blocks
|
132
|
+
'GCC_DYNAMIC_NO_PIC': 'NO', # No -mdynamic-no-pic
|
133
|
+
# (Equivalent to -fPIC)
|
134
|
+
'GCC_ENABLE_CPP_EXCEPTIONS': 'NO', # -fno-exceptions
|
135
|
+
'GCC_ENABLE_CPP_RTTI': 'NO', # -fno-rtti
|
136
|
+
'GCC_ENABLE_PASCAL_STRINGS': 'NO', # No -mpascal-strings
|
137
|
+
# GCC_INLINES_ARE_PRIVATE_EXTERN maps to -fvisibility-inlines-hidden
|
138
|
+
'GCC_INLINES_ARE_PRIVATE_EXTERN': 'YES',
|
139
|
+
'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden
|
140
|
+
'GCC_THREADSAFE_STATICS': 'NO', # -fno-threadsafe-statics
|
141
|
+
'GCC_VERSION': '4.2',
|
142
|
+
'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES', # -Wnewline-eof
|
143
|
+
'MACOSX_DEPLOYMENT_TARGET': '10.4', # -mmacosx-version-min=10.4
|
144
|
+
'PREBINDING': 'NO', # No -Wl,-prebind
|
145
|
+
'USE_HEADERMAP': 'NO',
|
146
|
+
'OTHER_CFLAGS': [
|
147
|
+
'-fno-strict-aliasing',
|
148
|
+
],
|
149
|
+
'WARNING_CFLAGS': [
|
150
|
+
'-Wall',
|
151
|
+
'-Wendif-labels',
|
152
|
+
'-W',
|
153
|
+
'-Wno-unused-parameter',
|
159
154
|
],
|
160
155
|
},
|
156
|
+
'target_conditions': [
|
157
|
+
['_type!="static_library"', {
|
158
|
+
'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-search_paths_first']},
|
159
|
+
}],
|
160
|
+
],
|
161
161
|
}],
|
162
162
|
],
|
163
163
|
},
|
@@ -36,25 +36,19 @@ RUNNER_LINKFLAGS=$(LINKFLAGS)
|
|
36
36
|
RUNNER_LIBS=-lws2_32
|
37
37
|
RUNNER_SRC=test/runner-win.c
|
38
38
|
|
39
|
-
uv.a: $(WIN_OBJS) src/uv-common.o
|
40
|
-
$(AR) rcs uv.a src/win/*.o src/uv-common.o
|
39
|
+
uv.a: $(WIN_OBJS) src/uv-common.o $(CARES_OBJS)
|
40
|
+
$(AR) rcs uv.a src/win/*.o src/uv-common.o $(CARES_OBJS)
|
41
41
|
|
42
42
|
src/win/%.o: src/win/%.c src/win/internal.h
|
43
43
|
$(CC) $(CFLAGS) -o $@ -c $<
|
44
44
|
|
45
|
-
src/uv-common.o: src/uv-common.c include/uv.h include/uv-win.h
|
45
|
+
src/uv-common.o: src/uv-common.c include/uv.h include/uv-private/uv-win.h
|
46
46
|
$(CC) $(CFLAGS) -c src/uv-common.c -o src/uv-common.o
|
47
47
|
|
48
48
|
EIO_CPPFLAGS += $(CPPFLAGS)
|
49
49
|
EIO_CPPFLAGS += -DEIO_STACKSIZE=65536
|
50
50
|
EIO_CPPFLAGS += -D_GNU_SOURCE
|
51
51
|
|
52
|
-
src/eio/eio.o: src/eio/eio.c
|
53
|
-
$(CC) $(EIO_CPPFLAGS) $(CFLAGS) -c src/eio/eio.c -o src/eio/eio.o
|
54
|
-
|
55
|
-
src/uv-eio.o: src/uv-eio.c
|
56
|
-
$(CC) $(CPPFLAGS) -Isrc/eio/ $(CFLAGS) -c src/uv-eio.c -o src/uv-eio.o
|
57
|
-
|
58
52
|
clean-platform:
|
59
53
|
-rm -f src/ares/*.o
|
60
54
|
-rm -f src/eio/*.o
|
@@ -37,6 +37,7 @@ OBJS += src/unix/error.o
|
|
37
37
|
OBJS += src/unix/process.o
|
38
38
|
OBJS += src/unix/tcp.o
|
39
39
|
OBJS += src/unix/pipe.o
|
40
|
+
OBJS += src/unix/tty.o
|
40
41
|
OBJS += src/unix/stream.o
|
41
42
|
|
42
43
|
ifeq (SunOS,$(uname_S))
|
@@ -58,7 +59,7 @@ endif
|
|
58
59
|
ifeq (Linux,$(uname_S))
|
59
60
|
EV_CONFIG=config_linux.h
|
60
61
|
EIO_CONFIG=config_linux.h
|
61
|
-
CSTDFLAG += -
|
62
|
+
CSTDFLAG += -D_GNU_SOURCE
|
62
63
|
CPPFLAGS += -Isrc/ares/config_linux
|
63
64
|
LINKFLAGS+=-lrt
|
64
65
|
OBJS += src/unix/linux.o
|
@@ -72,6 +73,14 @@ LINKFLAGS+=
|
|
72
73
|
OBJS += src/unix/freebsd.o
|
73
74
|
endif
|
74
75
|
|
76
|
+
ifeq (NetBSD,$(uname_S))
|
77
|
+
EV_CONFIG=config_netbsd.h
|
78
|
+
EIO_CONFIG=config_netbsd.h
|
79
|
+
CPPFLAGS += -Isrc/ares/config_netbsd
|
80
|
+
LINKFLAGS+=
|
81
|
+
OBJS += src/unix/netbsd.o
|
82
|
+
endif
|
83
|
+
|
75
84
|
ifneq (,$(findstring CYGWIN,$(uname_S)))
|
76
85
|
EV_CONFIG=config_cygwin.h
|
77
86
|
EIO_CONFIG=config_cygwin.h
|
@@ -61,6 +61,7 @@ typedef int uv_file;
|
|
61
61
|
int write_index; \
|
62
62
|
uv_buf_t* bufs; \
|
63
63
|
int bufcnt; \
|
64
|
+
int error; \
|
64
65
|
uv_buf_t bufsml[UV_REQ_BUFSML_SIZE];
|
65
66
|
|
66
67
|
#define UV_SHUTDOWN_PRIVATE_FIELDS /* empty */
|
@@ -117,9 +118,7 @@ typedef int uv_file;
|
|
117
118
|
|
118
119
|
|
119
120
|
/* UV_NAMED_PIPE */
|
120
|
-
#define UV_PIPE_PRIVATE_TYPEDEF
|
121
121
|
#define UV_PIPE_PRIVATE_FIELDS \
|
122
|
-
UV_TCP_PRIVATE_FIELDS \
|
123
122
|
const char* pipe_fname; /* strdup'ed */
|
124
123
|
|
125
124
|
|
@@ -175,4 +174,6 @@ typedef int uv_file;
|
|
175
174
|
#define UV_WORK_PRIVATE_FIELDS \
|
176
175
|
eio_req* eio;
|
177
176
|
|
177
|
+
#define UV_TTY_PRIVATE_FIELDS /* empty */
|
178
|
+
|
178
179
|
#endif /* UV_UNIX_H */
|
@@ -73,7 +73,7 @@ RB_HEAD(uv_timer_tree_s, uv_timer_s);
|
|
73
73
|
uv_prepare_t* next_prepare_handle; \
|
74
74
|
uv_check_t* next_check_handle; \
|
75
75
|
uv_idle_t* next_idle_handle; \
|
76
|
-
ares_channel
|
76
|
+
ares_channel ares_chan; \
|
77
77
|
int ares_active_sockets; \
|
78
78
|
uv_timer_t ares_polling_timer; \
|
79
79
|
/* Last error code */ \
|
@@ -235,10 +235,7 @@ RB_HEAD(uv_timer_tree_s, uv_timer_s);
|
|
235
235
|
struct uv_process_close_s { \
|
236
236
|
UV_REQ_FIELDS \
|
237
237
|
} close_req; \
|
238
|
-
|
239
|
-
uv_pipe_t* server_pipe; \
|
240
|
-
HANDLE child_pipe; \
|
241
|
-
} stdio_pipes[3]; \
|
238
|
+
HANDLE child_stdio[3]; \
|
242
239
|
int exit_signal; \
|
243
240
|
DWORD spawn_errno; \
|
244
241
|
HANDLE wait_handle; \
|
@@ -247,7 +244,8 @@ RB_HEAD(uv_timer_tree_s, uv_timer_s);
|
|
247
244
|
|
248
245
|
#define UV_FS_PRIVATE_FIELDS \
|
249
246
|
int flags; \
|
250
|
-
|
247
|
+
int last_error; \
|
248
|
+
struct _stati64 stat; \
|
251
249
|
void* arg0; \
|
252
250
|
union { \
|
253
251
|
struct { \
|
@@ -263,6 +261,9 @@ RB_HEAD(uv_timer_tree_s, uv_timer_s);
|
|
263
261
|
|
264
262
|
#define UV_WORK_PRIVATE_FIELDS \
|
265
263
|
|
264
|
+
|
265
|
+
#define UV_TTY_PRIVATE_FIELDS /* empty */
|
266
|
+
|
266
267
|
int uv_utf16_to_utf8(const wchar_t* utf16Buffer, size_t utf16Size,
|
267
268
|
char* utf8Buffer, size_t utf8Size);
|
268
269
|
int uv_utf8_to_utf16(const char* utf8Buffer, wchar_t* utf16Buffer,
|
@@ -49,6 +49,7 @@ typedef struct uv_stream_s uv_stream_t;
|
|
49
49
|
typedef struct uv_tcp_s uv_tcp_t;
|
50
50
|
typedef struct uv_udp_s uv_udp_t;
|
51
51
|
typedef struct uv_pipe_s uv_pipe_t;
|
52
|
+
typedef struct uv_tty_s uv_tty_t;
|
52
53
|
typedef struct uv_timer_s uv_timer_t;
|
53
54
|
typedef struct uv_prepare_s uv_prepare_t;
|
54
55
|
typedef struct uv_check_s uv_check_t;
|
@@ -81,11 +82,10 @@ typedef struct uv_work_s uv_work_t;
|
|
81
82
|
* All callbacks in libuv are made asynchronously. That is they are never
|
82
83
|
* made by the function that takes them as a parameter.
|
83
84
|
*/
|
84
|
-
void uv_init();
|
85
85
|
uv_loop_t* uv_loop_new();
|
86
|
-
|
87
86
|
void uv_loop_delete(uv_loop_t*);
|
88
87
|
|
88
|
+
|
89
89
|
/*
|
90
90
|
* Returns the default loop.
|
91
91
|
*/
|
@@ -172,6 +172,7 @@ typedef enum {
|
|
172
172
|
UV_ENOTCONN,
|
173
173
|
UV_ENOTSOCK,
|
174
174
|
UV_ENOTSUP,
|
175
|
+
UV_ENOENT,
|
175
176
|
UV_EPIPE,
|
176
177
|
UV_EPROTO,
|
177
178
|
UV_EPROTONOSUPPORT,
|
@@ -182,7 +183,8 @@ typedef enum {
|
|
182
183
|
UV_EAINONAME,
|
183
184
|
UV_EAISERVICE,
|
184
185
|
UV_EAISOCKTYPE,
|
185
|
-
UV_ESHUTDOWN
|
186
|
+
UV_ESHUTDOWN,
|
187
|
+
UV_EEXIST
|
186
188
|
} uv_err_code;
|
187
189
|
|
188
190
|
typedef enum {
|
@@ -199,7 +201,6 @@ typedef enum {
|
|
199
201
|
UV_ASYNC,
|
200
202
|
UV_ARES_TASK,
|
201
203
|
UV_ARES_EVENT,
|
202
|
-
UV_GETADDRINFO,
|
203
204
|
UV_PROCESS
|
204
205
|
} uv_handle_type;
|
205
206
|
|
@@ -214,6 +215,7 @@ typedef enum {
|
|
214
215
|
UV_UDP_SEND,
|
215
216
|
UV_FS,
|
216
217
|
UV_WORK,
|
218
|
+
UV_GETADDRINFO,
|
217
219
|
UV_REQ_TYPE_PRIVATE
|
218
220
|
} uv_req_type;
|
219
221
|
|
@@ -324,7 +326,7 @@ uv_buf_t uv_buf_init(char* base, size_t len);
|
|
324
326
|
*
|
325
327
|
* uv_stream is an abstract class.
|
326
328
|
*
|
327
|
-
* uv_stream_t is the parent class of uv_tcp_t, uv_pipe_t
|
329
|
+
* uv_stream_t is the parent class of uv_tcp_t, uv_pipe_t, uv_tty_t
|
328
330
|
* and soon uv_file_t.
|
329
331
|
*/
|
330
332
|
struct uv_stream_s {
|
@@ -415,6 +417,8 @@ int uv_tcp_init(uv_loop_t*, uv_tcp_t* handle);
|
|
415
417
|
|
416
418
|
int uv_tcp_bind(uv_tcp_t* handle, struct sockaddr_in);
|
417
419
|
int uv_tcp_bind6(uv_tcp_t* handle, struct sockaddr_in6);
|
420
|
+
int uv_tcp_getsockname(uv_tcp_t* handle, struct sockaddr* name, int* namelen);
|
421
|
+
int uv_tcp_getpeername(uv_tcp_t* handle, struct sockaddr* name, int* namelen);
|
418
422
|
|
419
423
|
/*
|
420
424
|
* uv_tcp_connect, uv_tcp_connect6
|
@@ -436,9 +440,6 @@ struct uv_connect_s {
|
|
436
440
|
};
|
437
441
|
|
438
442
|
|
439
|
-
int uv_getsockname(uv_handle_t* handle, struct sockaddr* name, int* namelen);
|
440
|
-
|
441
|
-
|
442
443
|
/*
|
443
444
|
* UDP support.
|
444
445
|
*/
|
@@ -521,6 +522,7 @@ int uv_udp_bind(uv_udp_t* handle, struct sockaddr_in addr, unsigned flags);
|
|
521
522
|
* 0 on success, -1 on error.
|
522
523
|
*/
|
523
524
|
int uv_udp_bind6(uv_udp_t* handle, struct sockaddr_in6 addr, unsigned flags);
|
525
|
+
int uv_udp_getsockname(uv_udp_t* handle, struct sockaddr* name, int* namelen);
|
524
526
|
|
525
527
|
/*
|
526
528
|
* Send data. If the socket has not previously been bound with `uv_udp_bind`
|
@@ -587,6 +589,25 @@ int uv_udp_recv_start(uv_udp_t* handle, uv_alloc_cb alloc_cb,
|
|
587
589
|
int uv_udp_recv_stop(uv_udp_t* handle);
|
588
590
|
|
589
591
|
|
592
|
+
/*
|
593
|
+
* uv_tty_t is a subclass of uv_stream_t
|
594
|
+
*
|
595
|
+
* Representing a stream for the console.
|
596
|
+
*/
|
597
|
+
struct uv_tty_s {
|
598
|
+
UV_HANDLE_FIELDS
|
599
|
+
UV_STREAM_FIELDS
|
600
|
+
UV_TTY_PRIVATE_FIELDS
|
601
|
+
};
|
602
|
+
|
603
|
+
int uv_tty_init(uv_loop_t*, uv_tty_t*, uv_file fd);
|
604
|
+
|
605
|
+
/*
|
606
|
+
* Set mode. 0 for normal, 1 for raw.
|
607
|
+
*/
|
608
|
+
int uv_tty_set_mode(uv_tty_t*, int mode);
|
609
|
+
|
610
|
+
|
590
611
|
/*
|
591
612
|
* uv_pipe_t is a subclass of uv_stream_t
|
592
613
|
*
|
@@ -601,6 +622,11 @@ struct uv_pipe_s {
|
|
601
622
|
|
602
623
|
int uv_pipe_init(uv_loop_t*, uv_pipe_t* handle);
|
603
624
|
|
625
|
+
/*
|
626
|
+
* Opens an existing file descriptor or HANDLE as a pipe.
|
627
|
+
*/
|
628
|
+
void uv_pipe_open(uv_pipe_t*, uv_file file);
|
629
|
+
|
604
630
|
int uv_pipe_bind(uv_pipe_t* handle, const char* name);
|
605
631
|
|
606
632
|
int uv_pipe_connect(uv_connect_t* req, uv_pipe_t* handle,
|
@@ -736,14 +762,14 @@ void uv_ares_destroy(uv_loop_t*, ares_channel channel);
|
|
736
762
|
|
737
763
|
|
738
764
|
/*
|
739
|
-
* uv_getaddrinfo_t is a subclass of
|
740
|
-
*
|
741
|
-
* TODO this should be a subclass of uv_req_t
|
765
|
+
* uv_getaddrinfo_t is a subclass of uv_req_t
|
742
766
|
*
|
743
767
|
* Request object for uv_getaddrinfo.
|
744
768
|
*/
|
745
769
|
struct uv_getaddrinfo_s {
|
746
|
-
|
770
|
+
UV_REQ_FIELDS
|
771
|
+
/* read-only */
|
772
|
+
uv_loop_t* loop; \
|
747
773
|
UV_GETADDRINFO_PRIVATE_FIELDS
|
748
774
|
};
|
749
775
|
|
@@ -890,6 +916,7 @@ struct uv_fs_s {
|
|
890
916
|
uv_fs_cb cb;
|
891
917
|
ssize_t result;
|
892
918
|
void* ptr;
|
919
|
+
char* path;
|
893
920
|
int errorno;
|
894
921
|
UV_FS_PRIVATE_FIELDS
|
895
922
|
};
|
@@ -948,8 +975,14 @@ int uv_fs_lstat(uv_loop_t* loop, uv_fs_t* req, const char* path, uv_fs_cb cb);
|
|
948
975
|
int uv_fs_link(uv_loop_t* loop, uv_fs_t* req, const char* path,
|
949
976
|
const char* new_path, uv_fs_cb cb);
|
950
977
|
|
978
|
+
/*
|
979
|
+
* This flag can be used with uv_fs_symlink on Windows
|
980
|
+
* to specify whether path argument points to a directory.
|
981
|
+
*/
|
982
|
+
#define UV_FS_SYMLINK_DIR 0x0001
|
983
|
+
|
951
984
|
int uv_fs_symlink(uv_loop_t* loop, uv_fs_t* req, const char* path,
|
952
|
-
const char* new_path, uv_fs_cb cb);
|
985
|
+
const char* new_path, int flags, uv_fs_cb cb);
|
953
986
|
|
954
987
|
int uv_fs_readlink(uv_loop_t* loop, uv_fs_t* req, const char* path,
|
955
988
|
uv_fs_cb cb);
|
@@ -1019,6 +1052,7 @@ struct uv_counters_s {
|
|
1019
1052
|
uint64_t tcp_init;
|
1020
1053
|
uint64_t udp_init;
|
1021
1054
|
uint64_t pipe_init;
|
1055
|
+
uint64_t tty_init;
|
1022
1056
|
uint64_t prepare_init;
|
1023
1057
|
uint64_t check_init;
|
1024
1058
|
uint64_t idle_init;
|