diff --git a/src/kits/network/init.cpp b/src/kits/network/init.cpp index 4dca5ba28d..291591b886 100644 --- a/src/kits/network/init.cpp +++ b/src/kits/network/init.cpp @@ -12,7 +12,7 @@ #include #include -#include +#include bool __gR5Compatibility = false; diff --git a/src/kits/network/r5_compatibility.cpp b/src/kits/network/r5_compatibility.cpp index ab2174cc60..c4d1135fcd 100644 --- a/src/kits/network/r5_compatibility.cpp +++ b/src/kits/network/r5_compatibility.cpp @@ -10,7 +10,9 @@ #include +#include +#include #include #include @@ -18,6 +20,7 @@ struct net_settings; extern "C" { + int *_h_errnop(void); int _netstat(int fd, char **output, int verbose); int closesocket(int socket); char *find_net_setting(net_settings* settings, const char* heading, @@ -29,6 +32,16 @@ extern "C" { } +int32 __gHErrnoTLS = tls_allocate(); + + +int * +_h_errnop(void) +{ + return (int *)tls_address(__gHErrnoTLS); +} + + int _netstat(int fd, char **output, int verbose) {