docs: def nvmlUnitGetDevices(unit):
      r"""
      /**
       * Retrieves the set of GPU devices that are attached to the specified unit.
       *
       * For S-class products.
       *
       * The \a deviceCount argument is expected to be set to the size of the input \a devices array.
       *
       * @param unit                                 The identifier of the target unit
       * @param deviceCount                          Reference in which to provide the \a devices array size, and
       *                                             to return the number of attached GPU devices
       * @param devices                              Reference in which to return the references to the attached GPU devices
       *
       * @return
       *         - \ref NVML_SUCCESS                 if \a deviceCount and \a devices have been populated
       *         - \ref NVML_ERROR_UNINITIALIZED     if the library has not been successfully initialized
       *         - \ref NVML_ERROR_INSUFFICIENT_SIZE if \a deviceCount indicates that the \a devices array is too small
       *         - \ref NVML_ERROR_INVALID_ARGUMENT  if \a unit is invalid, either of \a deviceCount or \a devices is NULL
       *         - \ref NVML_ERROR_UNKNOWN           on any unexpected error
       */
      nvmlReturn_t DECLDIR nvmlUnitGetDevices
      """
      """
  /**
   * Retrieves the set of GPU devices that are attached to the specified unit.
   *
   * For S-class products.
   *
   * The \a deviceCount argument is expected to be set to the size of the input \a devices array.
   *
   * @param unit                                 The identifier of the target unit
   * @param deviceCount                          Reference in which to provide the \a devices array size, and
   *                                             to return the number of attached GPU devices
   * @param devices                              Reference in which to return the references to the attached GPU devices
   *
   * @return
   *         - \ref NVML_SUCCESS                 if \a deviceCount and \a devices have been populated
   *         - \ref NVML_ERROR_UNINITIALIZED     if the library has not been successfully initialized
   *         - \ref NVML_ERROR_INSUFFICIENT_SIZE if \a deviceCount indicates that the \a devices array is too small
   *         - \ref NVML_ERROR_INVALID_ARGUMENT  if \a unit is invalid, either of \a deviceCount or \a devices is NULL
   *         - \ref NVML_ERROR_UNKNOWN           on any unexpected error
   */
      """
      c_count = c_uint(nvmlUnitGetDeviceCount(unit))
      device_array = c_nvmlDevice_t * c_count.value
      c_devices = device_array()
      fn = _nvmlGetFunctionPointer("nvmlUnitGetDevices")
      ret = fn(unit, byref(c_count), c_devices)
      _nvmlCheckReturn(ret)
      return bytes_to_str(c_devices)