aboutsummaryrefslogtreecommitdiffstats
path: root/lib/erl_interface/src/misc/ei_internal.h
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2018-12-07 15:49:55 +0100
committerRickard Green <[email protected]>2019-01-23 15:52:01 +0100
commiteaeec753c035c2214be2930290a0a6de411566b0 (patch)
tree9547f5654ea07f787cab3f90e25124bbc1b4bb12 /lib/erl_interface/src/misc/ei_internal.h
parentf0ea49125815ec9197ffb6c74e20ebb5f10732d4 (diff)
downloadotp-eaeec753c035c2214be2930290a0a6de411566b0.tar.gz
otp-eaeec753c035c2214be2930290a0a6de411566b0.tar.bz2
otp-eaeec753c035c2214be2930290a0a6de411566b0.zip
Pluggable distribution socket implementation for EI
Diffstat (limited to 'lib/erl_interface/src/misc/ei_internal.h')
-rw-r--r--lib/erl_interface/src/misc/ei_internal.h18
1 files changed, 11 insertions, 7 deletions
diff --git a/lib/erl_interface/src/misc/ei_internal.h b/lib/erl_interface/src/misc/ei_internal.h
index aa6aacd703..0c58245c0a 100644
--- a/lib/erl_interface/src/misc/ei_internal.h
+++ b/lib/erl_interface/src/misc/ei_internal.h
@@ -22,19 +22,20 @@
#ifndef _EI_INTERNAL_H
#define _EI_INTERNAL_H
+#ifdef EI_HIDE_REAL_ERRNO
+# define EI_CONN_SAVE_ERRNO__(E) \
+ ((E) == ETIMEDOUT ? (erl_errno = ETIMEDOUT) : (erl_errno = EIO))
+#else
+# define EI_CONN_SAVE_ERRNO__(E) \
+ (erl_errno = (E))
+#endif
+
/*
* Some useful stuff not to be exported to users.
*/
#ifdef __WIN32__
#define MAXPATHLEN 256
-#define writesocket(sock,buf,nbyte) send(sock,buf,nbyte,0)
-#define readsocket(sock,buf,nbyte) recv(sock,buf,nbyte,0)
-#else /* not __WIN32__ */
-#define writesocket write
-#define readsocket read
-#define closesocket close
-#define ioctlsocket ioctl
#endif
/*
@@ -155,4 +156,7 @@ extern int ei_tracelevel;
void ei_trace_printf(const char *name, int level, const char *format, ...);
int ei_internal_use_r9_pids_ports(void);
+
+int ei_get_cbs_ctx__(ei_socket_callbacks **cbs, void **ctx, int fd);
+
#endif /* _EI_INTERNAL_H */