code: def nvmlDeviceGetSupportedEventTypes(handle):
      r
      c_eventTypes = c_ulonglong()
      fn = _nvmlGetFunctionPointer("nvmlDeviceGetSupportedEventTypes")
      ret = fn(handle, byref(c_eventTypes))
      _nvmlCheckReturn(ret)
      return bytes_to_str(c_eventTypes.value)
docs: r"""
      /**
       * Returns information about events supported on device
       *
       * For Fermi &tm; or newer fully supported devices.
       *
       * Events are not supported on Windows. So this function returns an empty mask in \a eventTypes on Windows.
       *
       * @param device                               The identifier of the target device
       * @param eventTypes                           Reference in which to return bitmask of supported events
       *
       * @return
       *         - \ref NVML_SUCCESS                 if the eventTypes has been set
       *         - \ref NVML_ERROR_UNINITIALIZED     if the library has not been successfully initialized
       *         - \ref NVML_ERROR_INVALID_ARGUMENT  if \a eventType is NULL
       *         - \ref NVML_ERROR_GPU_IS_LOST       if the target GPU has fallen off the bus or is otherwise inaccessible
       *         - \ref NVML_ERROR_UNKNOWN           on any unexpected error
       *
       * @see nvmlEventType
       * @see nvmlDeviceRegisterEvents
       */
      nvmlReturn_t DECLDIR nvmlDeviceGetSupportedEventTypes