/*
- * 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.
// We don't actually support either of these flags
// currently.
-#define MSG_DONTWAIT 0
+#define MSG_DONTWAIT 0x1000
#define MSG_EOR 0
struct msghdr {
void* msg_name;
// These are the same, but PF_LOCAL
// isn't defined by WinSock.
+#define AF_LOCAL PF_UNIX
#define PF_LOCAL PF_UNIX
-#define SO_REUSEPORT SO_REUSEADDR
+
+// 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...
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,