diff --git a/src/network.cpp b/src/network.cpp index 584fdb3..2a880a2 100644 --- a/src/network.cpp +++ b/src/network.cpp @@ -59,7 +59,10 @@ bionic::socktype bionic::from_host_socktype(int socktype) { case SOCK_STREAM: return socktype::STREAM; case SOCK_DGRAM: return socktype::DGRAM; case SOCK_RAW: return socktype::RAW; - default: throw std::runtime_error("Unknown socktype"); + case 0: return socktype::ANY; + default: + printf("WARNING: Unknown socktype\n"); + return socktype::ANY; } } @@ -68,7 +71,10 @@ int bionic::to_host_socktype(bionic::socktype socktype) { case socktype::STREAM: return SOCK_STREAM; case socktype::DGRAM: return SOCK_DGRAM; case socktype::RAW: return SOCK_RAW; - default: throw std::runtime_error("Unknown socktype"); + case socktype::ANY: return 0; + default: + printf("WARNING: Unknown socktype\n"); + return 0; } } diff --git a/src/network.h b/src/network.h index 9e2eb65..700f8c7 100644 --- a/src/network.h +++ b/src/network.h @@ -27,6 +27,7 @@ namespace shim { }; enum class socktype : int { + ANY = 0, STREAM = 1, DGRAM = 2, RAW = 3