aboutsummaryrefslogtreecommitdiffstats
path: root/lib/erl_interface/src/misc/ei_internal.h
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2019-01-24 17:51:08 +0100
committerRickard Green <[email protected]>2019-01-24 17:51:08 +0100
commit1ff44ec786828c3eeb2114cfeb5dd47e1a7fae61 (patch)
treed4bcae227e9aa7e56edfe84c4c58b253510b2773 /lib/erl_interface/src/misc/ei_internal.h
parenta4aeacd28e4e31d3d79b091afcdc528082be2865 (diff)
parenta4641c5b3469d2e3cb9b0937ed941748fbbf2036 (diff)
downloadotp-1ff44ec786828c3eeb2114cfeb5dd47e1a7fae61.tar.gz
otp-1ff44ec786828c3eeb2114cfeb5dd47e1a7fae61.tar.bz2
otp-1ff44ec786828c3eeb2114cfeb5dd47e1a7fae61.zip
Merge branch 'rickard/ei-ext-maint/OTP-15442' into maint
* rickard/ei-ext-maint/OTP-15442: 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 */