Remove the relative comparison operators on LogLevel
[folly.git] / folly / portability / Sockets.h
index dcabc13f7610159e25ca186f2a43fe7449ce366c..74060df1b8a211dc7f8db76ed69c390b66909803 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2016 Facebook, Inc.
+ * Copyright 2017 Facebook, Inc.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -37,7 +37,7 @@ using sa_family_t = ADDRESS_FAMILY;
 
 // We don't actually support either of these flags
 // currently.
-#define MSG_DONTWAIT 1
+#define MSG_DONTWAIT 0x1000
 #define MSG_EOR 0
 struct msghdr {
   void* msg_name;
@@ -60,8 +60,13 @@ struct sockaddr_un {
 
 // These are the same, but PF_LOCAL
 // isn't defined by WinSock.
+#define AF_LOCAL PF_UNIX
 #define PF_LOCAL PF_UNIX
 
+// This isn't defined by Windows, and we need to
+// distinguish it from SO_REUSEADDR
+#define SO_REUSEPORT 0x7001
+
 // Someone thought it would be a good idea
 // to define a field via a macro...
 #undef s_host
@@ -71,6 +76,7 @@ namespace folly {
 namespace portability {
 namespace sockets {
 #ifndef _WIN32
+using ::accept;
 using ::bind;
 using ::connect;
 using ::getpeername;
@@ -92,6 +98,7 @@ using ::socket;
 bool is_fh_socket(int fh);
 SOCKET fd_to_socket(int fd);
 int socket_to_fd(SOCKET s);
+int translate_wsa_error(int wsaErr);
 
 // These aren't additional overloads, but rather other functions that
 // are referenced that we need to wrap, or, in the case of inet_aton,