mirror of
https://git.sr.ht/~thestr4ng3r/chiaki
synced 2025-03-12 05:25:23 -07:00
Make CLI Wakeup work for PS5
This commit is contained in:
parent
7870a28cdd
commit
695da18473
@ -11,10 +11,14 @@ static char doc[] = "Send a PS4 wakeup packet.";
|
||||
|
||||
#define ARG_KEY_HOST 'h'
|
||||
#define ARG_KEY_REGISTKEY 'r'
|
||||
#define ARG_KEY_PS4 '4'
|
||||
#define ARG_KEY_PS5 '5'
|
||||
|
||||
static struct argp_option options[] = {
|
||||
{ "host", ARG_KEY_HOST, "Host", 0, "Host to send wakeup packet to", 0 },
|
||||
{ "registkey", ARG_KEY_REGISTKEY, "RegistKey", 0, "PS4 registration key", 0 },
|
||||
{ "registkey", ARG_KEY_REGISTKEY, "RegistKey", 0, "Remote Play registration key (plaintext)", 0 },
|
||||
{ "ps4", ARG_KEY_PS4, NULL, 0, "PlayStation 4", 0 },
|
||||
{ "ps5", ARG_KEY_PS5, NULL, 0, "PlayStation 5 (default)", 0 },
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
@ -22,6 +26,7 @@ typedef struct arguments
|
||||
{
|
||||
const char *host;
|
||||
const char *registkey;
|
||||
bool ps5;
|
||||
} Arguments;
|
||||
|
||||
static int parse_opt(int key, char *arg, struct argp_state *state)
|
||||
@ -39,6 +44,12 @@ static int parse_opt(int key, char *arg, struct argp_state *state)
|
||||
case ARGP_KEY_ARG:
|
||||
argp_usage(state);
|
||||
break;
|
||||
case ARG_KEY_PS4:
|
||||
arguments->ps5 = false;
|
||||
break;
|
||||
case ARG_KEY_PS5:
|
||||
arguments->ps5 = true;
|
||||
break;
|
||||
default:
|
||||
return ARGP_ERR_UNKNOWN;
|
||||
}
|
||||
@ -51,6 +62,7 @@ static struct argp argp = { options, parse_opt, 0, doc, 0, 0, 0 };
|
||||
CHIAKI_EXPORT int chiaki_cli_cmd_wakeup(ChiakiLog *log, int argc, char *argv[])
|
||||
{
|
||||
Arguments arguments = { 0 };
|
||||
arguments.ps5 = true;
|
||||
error_t argp_r = argp_parse(&argp, argc, argv, ARGP_IN_ORDER, NULL, &arguments);
|
||||
if(argp_r != 0)
|
||||
return 1;
|
||||
@ -73,5 +85,5 @@ CHIAKI_EXPORT int chiaki_cli_cmd_wakeup(ChiakiLog *log, int argc, char *argv[])
|
||||
|
||||
uint64_t credential = (uint64_t)strtoull(arguments.registkey, NULL, 16);
|
||||
|
||||
return chiaki_discovery_wakeup(log, NULL, arguments.host, credential, false);
|
||||
return chiaki_discovery_wakeup(log, NULL, arguments.host, credential, arguments.ps5);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user