docs: 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)