diff options
author | Rickard Green <[email protected]> | 2018-12-07 15:49:55 +0100 |
---|---|---|
committer | Rickard Green <[email protected]> | 2019-01-23 15:52:01 +0100 |
commit | eaeec753c035c2214be2930290a0a6de411566b0 (patch) | |
tree | 9547f5654ea07f787cab3f90e25124bbc1b4bb12 /lib/erl_interface/src/misc/ei_internal.h | |
parent | f0ea49125815ec9197ffb6c74e20ebb5f10732d4 (diff) | |
download | otp-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.h | 18 |
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 */ |