def nvmlUnitGetHandleByIndex(index):
    r"""
    /**
     * Acquire the handle for a particular unit, based on its index.
     *
     * For S-class products.
     *
     * Valid indices are derived from the \a unitCount returned by \ref nvmlUnitGetCount().
     *   For example, if \a unitCount is 2 the valid indices are 0 and 1, corresponding to UNIT 0 and UNIT 1.
     *
     * The order in which NVML enumerates units has no guarantees of consistency between reboots.
     *
     * @param index                                The index of the target unit, >= 0 and < \a unitCount
     * @param unit                                 Reference in which to return the unit handle
     *
     * @return
     *         - \ref NVML_SUCCESS                 if \a unit has been set
     *         - \ref NVML_ERROR_UNINITIALIZED     if the library has not been successfully initialized
     *         - \ref NVML_ERROR_INVALID_ARGUMENT  if \a index is invalid or \a unit is NULL
     *         - \ref NVML_ERROR_UNKNOWN           on any unexpected error
     */
    nvmlReturn_t DECLDIR nvmlUnitGetHandleByIndex
    """
    """
/**
 * Acquire the handle for a particular unit, based on its index.
 *
 * For S-class products.
 *
 * Valid indices are derived from the \a unitCount returned by \ref nvmlUnitGetCount().
 *   For example, if \a unitCount is 2 the valid indices are 0 and 1, corresponding to UNIT 0 and UNIT 1.
 *
 * The order in which NVML enumerates units has no guarantees of consistency between reboots.
 *
 * @param index                                The index of the target unit, >= 0 and < \a unitCount
 * @param unit                                 Reference in which to return the unit handle
 *
 * @return
 *         - \ref NVML_SUCCESS                 if \a unit has been set
 *         - \ref NVML_ERROR_UNINITIALIZED     if the library has not been successfully initialized
 *         - \ref NVML_ERROR_INVALID_ARGUMENT  if \a index is invalid or \a unit is NULL
 *         - \ref NVML_ERROR_UNKNOWN           on any unexpected error
 */
    """
    c_index = c_uint(index)
    unit = c_nvmlUnit_t()
    fn = _nvmlGetFunctionPointer("nvmlUnitGetHandleByIndex")
    ret = fn(c_index, byref(unit))
    _nvmlCheckReturn(ret)
    return bytes_to_str(unit)
r"""
    /**
     * Acquire the handle for a particular unit, based on its index.
     *
     * For S-class products.
     *
     * Valid indices are derived from the \a unitCount returned by \ref nvmlUnitGetCount().
     *   For example, if \a unitCount is 2 the valid indices are 0 and 1, corresponding to UNIT 0 and UNIT 1.
     *
     * The order in which NVML enumerates units has no guarantees of consistency between reboots.
     *
     * @param index                                The index of the target unit, >= 0 and < \a unitCount
     * @param unit                                 Reference in which to return the unit handle
     *
     * @return
     *         - \ref NVML_SUCCESS                 if \a unit has been set
     *         - \ref NVML_ERROR_UNINITIALIZED     if the library has not been successfully initialized
     *         - \ref NVML_ERROR_INVALID_ARGUMENT  if \a index is invalid or \a unit is NULL
     *         - \ref NVML_ERROR_UNKNOWN           on any unexpected error
     */
    nvmlReturn_t DECLDIR nvmlUnitGetHandleByIndex