Files
knutwurst--ps5-patchdl/src/patchdl_prospero.h
T
Knutwurst fbe984da87 Offer the newest patch that fits the firmware via Prospero Patches
Sony's version.xml only lists the newest patch. When that one needs a
newer firmware, PatchDL now asks Prospero Patches for the version history
and offers the newest patch that still runs on the console. Prospero only
hands out download links after a human check, so a guide with a QR code
moves the user to a phone, where they copy the SC link. PatchDL derives
Sony's manifest from that link and downloads like an official update.

The game list now groups by what the user can do: Updates, Up to date,
Not supported. Update all read a nonexistent state.games and did nothing;
it now uses state.titles.
2026-10-15 21:21:51 +02:00

28 lines
1.1 KiB
C

/* SPDX-License-Identifier: GPL-3.0-or-later
* Copyright (C) 2026 Knutwurst
*
* PatchDL is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version. See the LICENSE file in the project root for details.
*/
#pragma once
#include <stdint.h>
typedef struct {
char version[16]; /* e.g. "01.003.000" */
char required_fw[16]; /* PatchDL display format, e.g. "7.01" */
char size[16]; /* Prospero's label, e.g. "71.7 GB" (GiB, rounded up) */
int found;
} patchdl_prospero_result_t;
/* Query prosperopatches.com for the newest patch of `title_id` whose
firmware requirement is <= fw_bin. Returns 0 on success (result may
still have found==0 if no compatible patch exists), -1 on network or
parse failure. Best-effort: a failure means the UI shows no Prospero
data, nothing breaks. */
int patchdl_prospero_query(const char *title_id, uint32_t fw_bin,
patchdl_prospero_result_t *out);