diff --git a/src/c_wrapper/pyopencl_ext.h b/src/c_wrapper/pyopencl_ext.h
index cd5d7112ea6325d1770f2fbf4431c33ef2edec0d..b9b7782dc1cd4f3f5b327690d57f4d54b863bd9b 100644
--- a/src/c_wrapper/pyopencl_ext.h
+++ b/src/c_wrapper/pyopencl_ext.h
@@ -26,9 +26,33 @@ typedef union
 } cl_device_topology_amd;
 #endif
 
+/* {{{ these NV defines are often missing from the system headers */
+
+#ifndef CL_DEVICE_KERNEL_EXEC_TIMEOUT_NV
+#define CL_DEVICE_KERNEL_EXEC_TIMEOUT_NV                0x4005
+#endif
+#ifndef CL_DEVICE_INTEGRATED_MEMORY_NV
+#define CL_DEVICE_INTEGRATED_MEMORY_NV                  0x4006
+#endif
+
+#ifndef CL_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT_NV
+#define CL_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT_NV       0x4007
+#endif
+
+#ifndef CL_DEVICE_PCI_BUS_ID_NV
+#define CL_DEVICE_PCI_BUS_ID_NV                         0x4008
+#endif
+
+#ifndef CL_DEVICE_PCI_SLOT_ID_NV
+#define CL_DEVICE_PCI_SLOT_ID_NV                        0x4009
+#endif
+
+/* }}} */
+
 #endif
 
 #endif
 
 #endif
 
+/* vim: foldmethod=marker */