forked from microsoft/devicescript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsock_nodejs.c
More file actions
39 lines (27 loc) · 984 Bytes
/
sock_nodejs.c
File metadata and controls
39 lines (27 loc) · 984 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include "jd_sdk.h"
#if defined(__EMSCRIPTEN__) && JD_EM_NODEJS_SOCKET
#include <emscripten/emscripten.h>
#include "devicescript.h"
EM_JS(int, _jd_tcpsock_new, (const char *hostname, int port),
{ return Module.sockOpen(hostname, port); });
EM_JS(int, _jd_tcpsock_write, (const void *buf, unsigned size),
{ return Module.sockWrite(buf, size); });
EM_JS(int, _jd_tcpsock_close, (void), { return Module.sockClose(); });
EM_JS(bool, _jd_tcpsock_is_available, (void), { return Module.sockIsAvailable(); });
int jd_tcpsock_new(const char *hostname, int port) {
return _jd_tcpsock_new(hostname, port);
}
int jd_tcpsock_write(const void *buf, unsigned size) {
return _jd_tcpsock_write(buf, size);
}
void jd_tcpsock_close(void) {
_jd_tcpsock_close();
}
bool jd_tcpsock_is_available(void) {
return _jd_tcpsock_is_available();
}
EMSCRIPTEN_KEEPALIVE
void jd_em_tcpsock_on_event(int ev, void *arg, int len) {
jd_tcpsock_on_event(ev, arg, len);
}
#endif