set: fix SetRegion, setsysGetSerialNumber

This commit is contained in:
Michael Scire 2020-04-11 16:45:14 -07:00
parent 0a9f8261cb
commit b99efa5ab9
2 changed files with 13 additions and 16 deletions

View File

@ -51,9 +51,8 @@ typedef enum {
SetRegion_USA = 1, ///< The Americas
SetRegion_EUR = 2, ///< Europe
SetRegion_AUS = 3, ///< Australia/New Zealand
SetRegion_CHN = 4, ///< China
SetRegion_KOR = 5, ///< Korea
SetRegion_TWN = 6, ///< Taiwan
SetRegion_HTK = 4, ///< Hong Kong/Taiwan/Korea
SetRegion_CHN = 5, ///< China
} SetRegion;
/// ConnectionFlag
@ -341,6 +340,11 @@ typedef struct {
char digest[0x40];
} SetSysFirmwareVersionDigest;
/// Structure returned by \ref setsysGetSerialNumber.
typedef struct {
char number[0x18];
} SetSysSerialNumber;
/// UserSelectorSettings
typedef struct {
u32 flags; ///< Bitmask with \ref SetSysUserSelectorFlag.
@ -1291,9 +1295,9 @@ Result setsysGetBatteryLot(SetBatteryLot *out);
/**
* @brief Gets the system's serial number.
* @param serial Pointer to output the serial to. (The buffer size needs to be at least 0x19 bytes)
* @param[out] out \ref SetSysSerialNumber
*/
Result setsysGetSerialNumber(char *serial);
Result setsysGetSerialNumber(SetSysSerialNumber *out);
/**
* @brief GetNfcEnableFlag

View File

@ -569,15 +569,8 @@ Result setsysGetBatteryLot(SetBatteryLot *out) {
return serviceDispatchOut(&g_setsysSrv, 67, *out);
}
Result setsysGetSerialNumber(char *serial) {
char out[0x18]={0};
Result rc = serviceDispatchOut(&g_setsysSrv, 68, out);
if (R_SUCCEEDED(rc) && serial) {
memcpy(serial, out, 0x18);
serial[0x18]=0;
}
return rc;
Result setsysGetSerialNumber(SetSysSerialNumber *out) {
return serviceDispatchOut(&g_setsysSrv, 68, *out);
}
Result setsysGetNfcEnableFlag(bool *out) {