def nvmlDeviceGetClockInfo(handle, type):
    r"""
    /**
     * Retrieves the current clock speeds for the device.
     *
     * For Fermi &tm; or newer fully supported devices.
     *
     * See \ref nvmlClockType_t for details on available clock information.
     *
     * @param device                               The identifier of the target device
     * @param type                                 Identify which clock domain to query
     * @param clock                                Reference in which to return the clock speed in MHz
     *
     * @return
     *         - \ref NVML_SUCCESS                 if \a clock has been set
     *         - \ref NVML_ERROR_UNINITIALIZED     if the library has not been successfully initialized
     *         - \ref NVML_ERROR_INVALID_ARGUMENT  if \a device is invalid or \a clock is NULL
     *         - \ref NVML_ERROR_NOT_SUPPORTED     if the device cannot report the specified clock
     *         - \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
     */
    nvmlReturn_t DECLDIR nvmlDeviceGetClockInfo
    """
    c_clock = c_uint()
    fn = _nvmlGetFunctionPointer("nvmlDeviceGetClockInfo")
    ret = fn(handle, _nvmlClockType_t(type), byref(c_clock))
    _nvmlCheckReturn(ret)
    return bytes_to_str(c_clock.value)