Revert "Revert "Upgrade to 2.1.8-stable (2017-01-22)." and "Probably Mac build fix?""

This reverts commit 83a0c9c65a60a92d3ea5542596b3ba56db492c37.

Bug: 64543673
Test: make checkbuild
Test: Manual tombstoned test
Change-Id: I84bb128d1dec433195f2cbdbf70236ba17fa9955
diff --git a/iocp-internal.h b/iocp-internal.h
index ae79cbc..93dbe2b 100644
--- a/iocp-internal.h
+++ b/iocp-internal.h
@@ -24,8 +24,8 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef _EVENT_IOCP_INTERNAL_H
-#define _EVENT_IOCP_INTERNAL_H
+#ifndef IOCP_INTERNAL_H_INCLUDED_
+#define IOCP_INTERNAL_H_INCLUDED_
 
 #ifdef __cplusplus
 extern "C" {
@@ -39,7 +39,7 @@
 /* This whole file is actually win32 only. We wrap the structures in a win32
  * ifdef so that we can test-compile code that uses these interfaces on
  * non-win32 platforms. */
-#ifdef WIN32
+#ifdef _WIN32
 
 /**
    Internal use only.  Wraps an OVERLAPPED that we're using for libevent
@@ -92,7 +92,7 @@
 	HANDLE *shutdownSemaphore;
 };
 
-const struct win32_extension_fns *event_get_win32_extension_fns(void);
+const struct win32_extension_fns *event_get_win32_extension_fns_(void);
 #else
 /* Dummy definition so we can test-compile more things on unix. */
 struct event_overlapped {
@@ -106,61 +106,61 @@
     @param cb The callback that should be invoked once the IO operation has
 	finished.
  */
-void event_overlapped_init(struct event_overlapped *, iocp_callback cb);
+void event_overlapped_init_(struct event_overlapped *, iocp_callback cb);
 
 /** Allocate and return a new evbuffer that supports overlapped IO on a given
     socket.  The socket must be associated with an IO completion port using
-    event_iocp_port_associate.
+    event_iocp_port_associate_.
 */
-struct evbuffer *evbuffer_overlapped_new(evutil_socket_t fd);
+struct evbuffer *evbuffer_overlapped_new_(evutil_socket_t fd);
 
 /** XXXX Document (nickm) */
-evutil_socket_t _evbuffer_overlapped_get_fd(struct evbuffer *buf);
+evutil_socket_t evbuffer_overlapped_get_fd_(struct evbuffer *buf);
 
-void _evbuffer_overlapped_set_fd(struct evbuffer *buf, evutil_socket_t fd);
+void evbuffer_overlapped_set_fd_(struct evbuffer *buf, evutil_socket_t fd);
 
 /** Start reading data onto the end of an overlapped evbuffer.
 
     An evbuffer can only have one read pending at a time.  While the read
     is in progress, no other data may be added to the end of the buffer.
-    The buffer must be created with event_overlapped_init().
-    evbuffer_commit_read() must be called in the completion callback.
+    The buffer must be created with event_overlapped_init_().
+    evbuffer_commit_read_() must be called in the completion callback.
 
     @param buf The buffer to read onto
     @param n The number of bytes to try to read.
     @param ol Overlapped object with associated completion callback.
     @return 0 on success, -1 on error.
  */
-int evbuffer_launch_read(struct evbuffer *buf, size_t n, struct event_overlapped *ol);
+int evbuffer_launch_read_(struct evbuffer *buf, size_t n, struct event_overlapped *ol);
 
 /** Start writing data from the start of an evbuffer.
 
     An evbuffer can only have one write pending at a time.  While the write is
     in progress, no other data may be removed from the front of the buffer.
-    The buffer must be created with event_overlapped_init().
-    evbuffer_commit_write() must be called in the completion callback.
+    The buffer must be created with event_overlapped_init_().
+    evbuffer_commit_write_() must be called in the completion callback.
 
     @param buf The buffer to read onto
     @param n The number of bytes to try to read.
     @param ol Overlapped object with associated completion callback.
     @return 0 on success, -1 on error.
  */
-int evbuffer_launch_write(struct evbuffer *buf, ev_ssize_t n, struct event_overlapped *ol);
+int evbuffer_launch_write_(struct evbuffer *buf, ev_ssize_t n, struct event_overlapped *ol);
 
 /** XXX document */
-void evbuffer_commit_read(struct evbuffer *, ev_ssize_t);
-void evbuffer_commit_write(struct evbuffer *, ev_ssize_t);
+void evbuffer_commit_read_(struct evbuffer *, ev_ssize_t);
+void evbuffer_commit_write_(struct evbuffer *, ev_ssize_t);
 
 /** Create an IOCP, and launch its worker threads.  Internal use only.
 
     This interface is unstable, and will change.
  */
-struct event_iocp_port *event_iocp_port_launch(int n_cpus);
+struct event_iocp_port *event_iocp_port_launch_(int n_cpus);
 
 /** Associate a file descriptor with an iocp, such that overlapped IO on the
     fd will happen on one of the iocp's worker threads.
 */
-int event_iocp_port_associate(struct event_iocp_port *port, evutil_socket_t fd,
+int event_iocp_port_associate_(struct event_iocp_port *port, evutil_socket_t fd,
     ev_uintptr_t key);
 
 /** Tell all threads serving an iocp to stop.  Wait for up to waitMsec for all
@@ -169,29 +169,29 @@
     0. Otherwise, return -1.  If you get a -1 return value, it is safe to call
     this function again.
 */
-int event_iocp_shutdown(struct event_iocp_port *port, long waitMsec);
+int event_iocp_shutdown_(struct event_iocp_port *port, long waitMsec);
 
 /* FIXME document. */
-int event_iocp_activate_overlapped(struct event_iocp_port *port,
+int event_iocp_activate_overlapped_(struct event_iocp_port *port,
     struct event_overlapped *o,
     ev_uintptr_t key, ev_uint32_t n_bytes);
 
 struct event_base;
 /* FIXME document. */
-struct event_iocp_port *event_base_get_iocp(struct event_base *base);
+struct event_iocp_port *event_base_get_iocp_(struct event_base *base);
 
 /* FIXME document. */
-int event_base_start_iocp(struct event_base *base, int n_cpus);
-void event_base_stop_iocp(struct event_base *base);
+int event_base_start_iocp_(struct event_base *base, int n_cpus);
+void event_base_stop_iocp_(struct event_base *base);
 
 /* FIXME document. */
-struct bufferevent *bufferevent_async_new(struct event_base *base,
+struct bufferevent *bufferevent_async_new_(struct event_base *base,
     evutil_socket_t fd, int options);
 
 /* FIXME document. */
-void bufferevent_async_set_connected(struct bufferevent *bev);
-int bufferevent_async_can_connect(struct bufferevent *bev);
-int bufferevent_async_connect(struct bufferevent *bev, evutil_socket_t fd,
+void bufferevent_async_set_connected_(struct bufferevent *bev);
+int bufferevent_async_can_connect_(struct bufferevent *bev);
+int bufferevent_async_connect_(struct bufferevent *bev, evutil_socket_t fd,
 	const struct sockaddr *sa, int socklen);
 
 #ifdef __cplusplus