diff --git a/cc3200/qstrdefsport.h b/cc3200/qstrdefsport.h
index c4039d012bb1005d785522382b6343f2a338511f..d88c05a0f7c712c3d00b8fc35968a846bdadf2e4 100644
--- a/cc3200/qstrdefsport.h
+++ b/cc3200/qstrdefsport.h
@@ -228,6 +228,10 @@ Q(register)
 Q(unregister)
 Q(modify)
 Q(poll)
+Q(POLLIN)
+Q(POLLOUT)
+Q(POLLERR)
+Q(POLLHUP)
 
 // for socket class
 Q(socket)
diff --git a/stmhal/moduselect.c b/stmhal/moduselect.c
index 232520ec44a7cfa43714348a854f6a6d098ad619..592c3fa3f8991172f9030b09848167646d085399 100644
--- a/stmhal/moduselect.c
+++ b/stmhal/moduselect.c
@@ -285,6 +285,10 @@ STATIC const mp_map_elem_t mp_module_select_globals_table[] = {
     { MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_uselect) },
     { MP_OBJ_NEW_QSTR(MP_QSTR_select), (mp_obj_t)&mp_select_select_obj },
     { MP_OBJ_NEW_QSTR(MP_QSTR_poll), (mp_obj_t)&mp_select_poll_obj },
+    { MP_OBJ_NEW_QSTR(MP_QSTR_POLLIN), MP_OBJ_NEW_SMALL_INT(MP_IOCTL_POLL_RD) },
+    { MP_OBJ_NEW_QSTR(MP_QSTR_POLLOUT), MP_OBJ_NEW_SMALL_INT(MP_IOCTL_POLL_WR) },
+    { MP_OBJ_NEW_QSTR(MP_QSTR_POLLERR), MP_OBJ_NEW_SMALL_INT(MP_IOCTL_POLL_ERR) },
+    { MP_OBJ_NEW_QSTR(MP_QSTR_POLLHUP), MP_OBJ_NEW_SMALL_INT(MP_IOCTL_POLL_HUP) },
 };
 
 STATIC MP_DEFINE_CONST_DICT(mp_module_select_globals, mp_module_select_globals_table);
diff --git a/stmhal/pybioctl.h b/stmhal/pybioctl.h
index 79f994b8b6b3d645b8ad5b00af799a4e8097a467..b71e04ed5ddf05498c2f8acba23b0e350a72817a 100644
--- a/stmhal/pybioctl.h
+++ b/stmhal/pybioctl.h
@@ -1,6 +1,8 @@
 #define MP_IOCTL_POLL (0x100 | 1)
 
+// These values are compatible with Linux, which are in turn
+// compatible with iBCS2 spec.
 #define MP_IOCTL_POLL_RD  (0x0001)
-#define MP_IOCTL_POLL_WR  (0x0002)
-#define MP_IOCTL_POLL_HUP (0x0004)
+#define MP_IOCTL_POLL_WR  (0x0004)
 #define MP_IOCTL_POLL_ERR (0x0008)
+#define MP_IOCTL_POLL_HUP (0x0010)
diff --git a/stmhal/qstrdefsport.h b/stmhal/qstrdefsport.h
index e2eabe3a3fd9800101cc2c0648e4ea2999a2fa39..5cb2557a7a1048a13722dd0eabff3c0a44b996db 100644
--- a/stmhal/qstrdefsport.h
+++ b/stmhal/qstrdefsport.h
@@ -427,6 +427,10 @@ Q(poll)
 Q(register)
 Q(unregister)
 Q(modify)
+Q(POLLIN)
+Q(POLLOUT)
+Q(POLLERR)
+Q(POLLHUP)
 
 // for input
 Q(input)