diff --git a/android/hw-pipe-net.c b/android/hw-pipe-net.c
index b3bc6c9..2a09718 100644
--- a/android/hw-pipe-net.c
+++ b/android/hw-pipe-net.c
@@ -349,9 +349,9 @@
     unsigned  ret  = 0;
 
     if (mask & LOOP_IO_READ)
-        ret |= PIPE_WAKE_READ;
+        ret |= PIPE_POLL_IN;
     if (mask & LOOP_IO_WRITE)
-        ret |= PIPE_WAKE_WRITE;
+        ret |= PIPE_POLL_OUT;
 
     return ret;
 }
diff --git a/android/hw-qemud.c b/android/hw-qemud.c
index 7de66e0..44d9dd7 100644
--- a/android/hw-qemud.c
+++ b/android/hw-qemud.c
@@ -1965,9 +1965,9 @@
     unsigned ret = 0;
 
     if (client != NULL) {
-        ret |= PIPE_WAKE_WRITE;
+        ret |= PIPE_POLL_OUT;
         if (client->ProtocolSelector.Pipe.messages != NULL) {
-            ret |= PIPE_WAKE_READ;
+            ret |= PIPE_POLL_IN;
         }
     } else {
         D("%s: Unexpected NULL client", __FUNCTION__);
diff --git a/hw/goldfish_pipe.c b/hw/goldfish_pipe.c
index b46a8b8..2227093 100644
--- a/hw/goldfish_pipe.c
+++ b/hw/goldfish_pipe.c
@@ -323,7 +323,7 @@
 static unsigned
 pipeConnector_poll( void* opaque )
 {
-    return PIPE_WAKE_WRITE;
+    return PIPE_POLL_OUT;
 }
 
 static void
@@ -406,7 +406,7 @@
 static unsigned
 zeroPipe_poll( void* opaque )
 {
-    return PIPE_WAKE_READ | PIPE_WAKE_WRITE;
+    return PIPE_POLL_IN | PIPE_POLL_OUT;
 }
 
 static void
@@ -597,10 +597,10 @@
     unsigned       ret = 0;
 
     if (pipe->count < pipe->size)
-        ret |= PIPE_WAKE_WRITE;
+        ret |= PIPE_POLL_OUT;
 
     if (pipe->count > 0)
-        ret |= PIPE_WAKE_READ;
+        ret |= PIPE_POLL_IN;
 
     return ret;
 }
@@ -768,10 +768,10 @@
     unsigned       ret  = pingPongPipe_poll(&pipe->pingpong);
 
     if (pipe->sendExpiration > 0)
-        ret &= ~PIPE_WAKE_WRITE;
+        ret &= ~PIPE_POLL_OUT;
 
     if (pipe->recvExpiration > 0)
-        ret &= ~PIPE_WAKE_READ;
+        ret &= ~PIPE_POLL_IN;
 
     return ret;
 }
diff --git a/hw/goldfish_pipe.h b/hw/goldfish_pipe.h
index be5c449..8074619 100644
--- a/hw/goldfish_pipe.h
+++ b/hw/goldfish_pipe.h
@@ -85,7 +85,7 @@
     int          (*recvBuffers)( void* pipe, GoldfishPipeBuffer* buffers, int numBuffers );
 
     /* Called when guest wants to poll the read/write status for the pipe.
-     * Should return a combination of PIPE_WAKE_XXX flags.
+     * Should return a combination of PIPE_POLL_XXX flags.
      */
     unsigned     (*poll)( void* pipe );
 
