Logo
Explore Help
Sign In
factotum/libressl-portable
1
Fork 0
You've already forked libressl-portable
Code Issues Pull Requests Packages Projects Releases Wiki Activity
libressl-portable/include/compat/sys/socket.h

19 lines
487 B
C
Raw Permalink Normal View History

fixup windows and older linux builds
2015-09-13 18:57:29 -05:00
/*
* Public domain
* sys/socket.h compatibility shim
*/
#ifndef _WIN32
#include_next <sys/socket.h>
#else
#include <win32netcompat.h>
#endif
include pipe2/socketpair compat for macOS
2017-01-15 04:30:41 -06:00
#if !defined(SOCK_NONBLOCK) || !defined(SOCK_CLOEXEC)
Fix unreachable nc portability shim This fixes nc failing to run on darwin due to it incorrectly setting the linux-specific SOCK_NONBLOCK flag on connect. nc already had a portability shim in apps/nc/compat/sys/socket.h, which kicks in if SOCK_NONBLOCK is undefined. But that header includes include/compat/sys/socket.h, which also has a portability shim that defines a default value for SOCK_NONBLOCK if it's undefined. Thus the first portability shim was unreachable. Fixes this by moving the NEED_SOCKET_FLAGS flag into the outer shim, and having the inner shim activate if NEED_SOCKET_FLAGS is defined. This closes https://github.com/libressl-portable/portable/issues/631
2022-04-15 23:48:50 -07:00
#define NEED_SOCKET_FLAGS
include pipe2/socketpair compat for macOS
2017-01-15 04:30:41 -06:00
#define SOCK_CLOEXEC 0x8000 /* set FD_CLOEXEC */
#define SOCK_NONBLOCK 0x4000 /* set O_NONBLOCK */
int bsd_socketpair(int domain, int type, int protocol, int socket_vector[2]);
#define socketpair(d,t,p,sv) bsd_socketpair(d,t,p,sv)
#endif
Reference in New Issue Copy Permalink
Powered by Gitea
English
Bahasa Indonesia Deutsch English Español Français Gaeilge Italiano Latviešu Magyar nyelv Nederlands Polski Português de Portugal Português do Brasil Suomi Svenska Türkçe Čeština Ελληνικά Български Русский Українська فارسی മലയാളം 日本語 简体中文 繁體中文(台灣) 繁體中文(香港) 한국어
Licenses API