Line 316:
Line 316:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
−
! BlkID
+
! BlkID !! Size !! Command needed !! Description
−
! Size
−
! Command needed
−
! Description
|-
|-
−
| 0x1
+
| 0x1 || 0x1 || [[ACTU:GetCommonInfo|GetCommonInfo]] || Number of accounts
−
| 0x1
−
| [[ACTU:GetCommonInfo|GetCommonInfo]]
−
| Number of accounts
|-
|-
−
| 0x2
+
| 0x2 || 0x1 || [[ACTU:GetCommonInfo|GetCommonInfo]] || Current account slot
−
| 0x1
−
| [[ACTU:GetCommonInfo|GetCommonInfo]]
−
| Current account slot
|-
|-
−
| 0x3
+
| 0x3 || 0x1 || [[ACTU:GetCommonInfo|GetCommonInfo]] || Default account slot
−
| 0x1
−
| [[ACTU:GetCommonInfo|GetCommonInfo]]
−
| Default account slot
|-
|-
−
| 0x4
+
| 0x4 || 0x8 || [[ACTU:GetCommonInfo|GetCommonInfo]] || Difference betwwen server time and device time (in nanoseconds)
−
| 0x8
−
| [[ACTU:GetCommonInfo|GetCommonInfo]]
−
| ?
|-
|-
−
| 0x5
+
| 0x5 || 0x4 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || PersistentId
−
| 0x4
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| PersistentId
|-
|-
−
| 0x6
+
| 0x6 || 0x8 || [[ACTU:GetCommonInfo|GetCommonInfo]]/[[ACTU:GetAccountDataBlock|GetAccountInfo]] || CommonTransferableIdBase on GetCommonInfo / TransferableIdBase on GetAccountInfo
−
| 0x8
−
| [[ACTU:GetCommonInfo|GetCommonInfo]]/[[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| CommonTransferableIdBase on GetCommonInfo / TransferableIdBase on GetAccountInfo
|-
|-
−
| 0x7
+
| 0x7 || 0x60 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || [[Mii#Mii_format|MiiData]]
−
| 0x60
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| [[Mii#Mii_format|MiiData]]
|-
|-
−
| 0x8
+
| 0x8 || 0x11 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || AccountId (ASCII NULL-terminated Nintendo Network ID)
−
| 0x11
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| AccountId (ASCII NUL-terminated Nintendo Network ID)
|-
|-
−
| 0x9
+
| 0x9 || 0x101 || [[ACTU:AcquireAccountInfo|AcquireAccountInfo]] || Mail address
−
| 0x101
−
| AcquireAccountInfo
−
| Mail address
|-
|-
−
| 0xA
+
| 0xA || 0x4 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || Birthdate
−
| 0x4
+
{| class="wikitable" border="1"
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| Birthday {u16 year; u8 month; u8 day;}
|-
|-
−
| 0xB
+
! Offset !! Size !! Description
−
| 0x3
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| ASCII NUL-terminated Country Name
|-
|-
−
| 0xC
+
| 0x0 || 0x2 || Year
−
| 0x4
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| PrincipalId
|-
|-
−
| 0xE
+
| 0x2 || 0x1 || Month
−
| 0x1
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| IsPasswordCacheEnabled
|-
|-
−
| 0xF
+
| 0x3 || 0x1 || Day
−
| 0x1
+
|}
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| Does nothing?
|-
|-
−
| 0x11
+
| 0xB || 0x3 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || ASCII NULL-terminated Country Name
−
| 0xA0
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| struct{u32 PersistentID; u32 padding; u64 TransferableIDBase; u8[0x60] MiiData; char16_t[0xB] MachinUserName?; char[0x11] AccountID; u8 padding; struct{u16 year; u8 month; u8 day;}Birthday; u32 PrincipalID;}
|-
|-
−
| 0x12
+
| 0xC || 0x4 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || PrincipalId
−
| 0x4
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| ?
|-
|-
−
| 0x13
+
| 0xE || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || IsPasswordCacheEnabled
−
| 0x1
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| Gender
|-
|-
−
| 0x14
+
| 0xF || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || Does not return anything.
−
| 0x1
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| LastAuthenticationResult
|-
|-
−
| 0x15
+
| 0x11 || 0xA0 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] ||
−
| 0x11
+
{| class="wikitable" border="1"
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| AssignedAccountId (ASCII NUL-terminated Nintendo Network ID)
|-
|-
−
| 0x16
+
! Offset !! Size !! Description
−
| 0x1
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| ParentalControlSlotNo
|-
|-
−
| 0x17
+
| 0x0 || 0x4 || u32 PersistentID
−
| 0x4
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| SimpleAddressId ([[Config_Savegame#CountryInfo|CountryInfo]])
|-
|-
−
| 0x19
+
| 0x4 || 0x4 || padding
−
| 0x8
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| UtcOffset
|-
|-
−
| 0x1A
+
| 0x8 || 0x8 || u64 TransferableIDBase
−
| 0x1
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| IsCommited
|-
|-
−
| 0x1B
+
| 0x10 || 0x60 || [[Mii#Mii_format|Mii]]
−
| 0x16
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| MiiName (NUL-terminated UTF-16 Mii name)
|-
|-
−
| 0x1C
+
| 0x70 || (10 + 1) * 2 || 10-character UTF-16 Mii Display Name
−
| 0x11
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| NfsPassword
|-
|-
−
| 0x1D
+
| 0x86 || 0x11 || ASCII NULL-terminated NNID Account ID (username)
−
| 0x1
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| Bool: if EciVirtualAccount has a value
|-
|-
−
| 0x1E
+
| 0x97 || 1 || padding
−
| 0x41
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| TimeZoneId (ASCII Time Zone Location)
|-
|-
−
| 0x1F
+
| 0x98 || 0x4 || Birthdate
−
| 0x1
+
{| class="wikitable" border="1"
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| IsMiiUpdated
|-
|-
−
| 0x20
+
! Offset !! Size !! Description
−
| 0x1
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| IsMailAddressValidated
|-
|-
−
| 0x21
+
| 0x0 || 0x2 || Year
−
| 0x4C
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| ?
|-
|-
−
| 0x24
+
| 0x2 || 0x1 || Month
−
| 0x1
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| IsServerAccountDeleted
|-
|-
−
| 0x25
+
| 0x3 || 0x1 || Day
−
| 0x101
+
|}
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| MiiImageUrl (ASCII NUL-terminated URL to account mii image)
|-
|-
−
| 0x26
+
| 0x9C || 0x4 || u32, PrincipalID
−
| 0x4
+
|}
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| AssignedPrincipalId
|-
|-
−
| 0x27
+
| 0x12 || 0x4 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] ||
−
| 0x4
+
{| class="wikitable" border="1"
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| ? (Only accessible with param[1] = 0xFE)
|-
|-
−
| 0x28
+
! Offset !! Size !! Description
−
| 0x24
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| struct{char[0x21] NnasSubDomain?; char[0x3] NnasNfsEnv;}
|-
|-
−
| 0x29
+
| 0x0 || 0x1 || NNAS (Nintendo Network Authentication Server) Type
−
| 0x24
−
| [[ACTU:GetCommonInfo|GetCommonInfo]]
−
| struct{char[0x21] DefaultNnasSubDomain?; char[0x3] DefaultNnasNfsEnv;}
|-
|-
−
| 0x2A
+
| 0x1 || 0x1 || [[Friend_Services#Server_Types|NFS (Nintendo Friend Server) Type Value]]
−
| 0x8
−
| [[ACTU:GetCommonInfo|GetCommonInfo]]
−
| ?
|-
|-
−
| 0x2B
+
| 0x2 || 0x1 || [[Friend_Services#Server_Types|NFS (Nintendo Friend Server) Number]]
−
| 0x1
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| FpLocalAccountId
|-
|-
−
| 0x2C
+
| 0x3 || 0x1 || padding (0)
−
| 0x2
+
|}
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| Age
|-
|-
−
| 0x2D
+
| 0x13 || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || Gender
−
| 0x1
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| IsEnabledReceiveAds
|-
|-
−
| 0x2E
+
| 0x14 || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || LastAuthenticationResult
−
| 0x1
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
−
| IsOffDeviceAccessEnabled
|-
|-
−
| 0x2F
+
| 0x15 || 0x11 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || AssignedAccountId (ASCII NULL-terminated Nintendo Network ID)
−
| 0x4
+
|-
−
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
+
| 0x16 || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || ParentalControlSlotNo
−
| [[Cfg:TranslateCountryInfo|Translated]] SimpleAddressId ([[Config_Savegame#CountryInfo|CountryInfo]])
+
|-
+
| 0x17 || 0x4 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || SimpleAddressId ([[Config_Savegame#CountryInfo|CountryInfo]])
+
|-
+
| 0x19 || 0x8 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || UtcOffset
+
|-
+
| 0x1A || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || IsCommited
+
|-
+
| 0x1B || 0x16 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || 10-character UTF-16 Mii Name (10 characters + NULL termination)
+
|-
+
| 0x1C || 0x11 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || ASCII NULL-termiinated NfsPassword
+
|-
+
| 0x1D || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || HasEciVirtualAccount (checks whether EciVirtualAccount has a value)
+
|-
+
| 0x1E || 0x41 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || TimeZoneId (ASCII Time Zone Location)
+
|-
+
| 0x1F || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || IsMiiUpdated
+
|-
+
| 0x20 || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || IsMailAddressValidated
+
|-
+
| 0x21 || 0x4C || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || (Developer units only) Account access token
+
{| class="wikitable" border="1"
+
|-
+
! Offset !! Size !! Description
+
|-
+
| 0x0 || 0x1 || Access token state (0: uninitialized, 1: expired, 2: valid)
+
|-
+
| 0x1 || 0x21 || ASCII NULL-terminated access token
+
|-
+
| 0x22 || 0x29 || ASCII NULL-terminated refresh token
+
|}
+
|-
+
| 0x24 || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || IsServerAccountDeleted
+
|-
+
| 0x25 || 0x101 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || MiiImageUrl (ASCII NULL-terminated URL to account mii image)
+
|-
+
| 0x26 || 0x4 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || AssignedPrincipalId
+
|-
+
| 0x27 || 0x4 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || Account Access token state, only accessible with account slot = 0xFE: (0: uninitialized, 1: expired, 2: valid)
+
|-
+
| 0x28 || 0x24 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || Account server environment
+
{| class="wikitable" border="1"
+
|-
+
! Offset !! Size !! Description
+
|-
+
| 0x0 || 0x21 || ASCII NULL-terminated NNAS subdomain
+
|-
+
| 0x21 || 0x3 || [[Friend_Services#Server_Types|NFS (Nintendo Friend Server) Environment]]
+
|}
+
|-
+
| 0x29 || 0x24 || [[ACTU:GetCommonInfo|GetCommonInfo]] || Server environment of default account
+
{| class="wikitable" border="1"
+
|-
+
! Offset !! Size !! Description
+
|-
+
| 0x0 || 0x21 || ASCII NULL-terminated NNAS subdomain
+
|-
+
| 0x21 || 0x3 || [[Friend_Services#Server_Types|NFS (Nintendo Friend Server) Environment]]
+
|}
+
|-
+
| 0x2A || 0x8 || [[ACTU:GetCommonInfo|GetCommonInfo]] || first 8 bytes of <code>SHA256 ( [[AM:GetDeviceId]]() as 4 little endian bytes + 'A2257354' )</code>
+
|-
+
| 0x2B || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || FpLocalAccountId (local account ID of [[Friend_Services|friends sysmodule]])
+
|-
+
| 0x2C || 0x2 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || Age (calculated using server time, not device time)
+
|-
+
| 0x2D || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || IsEnabledReceiveAds
+
|-
+
| 0x2E || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || IsOffDeviceAccessEnabled
+
|-
+
| 0x2F || 0x4 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || [[Cfg:TranslateCountryInfo|Translated]] SimpleAddressId ([[Config_Savegame#CountryInfo|CountryInfo]])
|}
|}