code: def nvmlUnitGetPsuInfo(unit):
      r
      """
  /**
   * Retrieves the PSU stats for the unit.
   *
   * For S-class products.
   *
   * See \ref nvmlPSUInfo_t for details on available PSU info.
   *
   * @param unit                                 The identifier of the target unit
   * @param psu                                  Reference in which to return the PSU information
   *
   * @return
   *         - \ref NVML_SUCCESS                 if \a psu has been populated
   *         - \ref NVML_ERROR_UNINITIALIZED     if the library has not been successfully initialized
   *         - \ref NVML_ERROR_INVALID_ARGUMENT  if \a unit is invalid or \a psu is NULL
   *         - \ref NVML_ERROR_NOT_SUPPORTED     if this is not an S-class product
   *         - \ref NVML_ERROR_UNKNOWN           on any unexpected error
   */
      """
      c_info = c_nvmlPSUInfo_t()
      fn = _nvmlGetFunctionPointer("nvmlUnitGetPsuInfo")
      ret = fn(unit, byref(c_info))
      _nvmlCheckReturn(ret)
      return bytes_to_str(c_info)
docs: r"""
      /**
       * Retrieves the PSU stats for the unit.
       *
       * For S-class products.
       *
       * See \ref nvmlPSUInfo_t for details on available PSU info.
       *
       * @param unit                                 The identifier of the target unit
       * @param psu                                  Reference in which to return the PSU information
       *
       * @return
       *         - \ref NVML_SUCCESS                 if \a psu has been populated
       *         - \ref NVML_ERROR_UNINITIALIZED     if the library has not been successfully initialized
       *         - \ref NVML_ERROR_INVALID_ARGUMENT  if \a unit is invalid or \a psu is NULL
       *         - \ref NVML_ERROR_NOT_SUPPORTED     if this is not an S-class product
       *         - \ref NVML_ERROR_UNKNOWN           on any unexpected error
       */
      nvmlReturn_t DECLDIR nvmlUnitGetPsuInfo