Line 3: |
Line 3: |
| The ACT module handles NNID accounts. | | The ACT module handles NNID accounts. |
| | | |
− | = ACT service "act:a" = | + | = ACT service "act:u" = |
| + | These commands are common to both act:u and act:a |
| | | |
− | = ACT service "act:u" =
| |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 14: |
Line 14: |
| | 0x00010084 | | | 0x00010084 |
| | | | | |
− | | Initialize? cmd[1] = u32 ctrsdkversion_probably, cmd[2] = unknown, cmd[3] = 0x20(kernel PID header), cmd[4] = PID value written by kernel, cmd[5] = 0x0(handle-transfer header for kernel), cmd[6] = handle value. | + | | [[ACT:Initialize|Initialize]] |
| |- | | |- |
| | 0x00020040 | | | 0x00020040 |
| | | | | |
− | | Unknown | + | | [[ACT:GetErrorCode|GetErrorCode]] |
| + | |- |
| + | | 0x00030000 |
| + | | |
| + | | GetLastResponsecode |
| + | |- |
| + | | 0x00040000? |
| + | | |
| + | | ? |
| + | |- |
| + | | 0x00050082 |
| + | | |
| + | | GetCommonInfo |
| |- | | |- |
| | 0x000600C2 | | | 0x000600C2 |
| | | | | |
| | [[ACTU:GetAccountDataBlock|GetAccountDataBlock]] | | | [[ACTU:GetAccountDataBlock|GetAccountDataBlock]] |
| + | |- |
| + | | 0x00070082 |
| + | | |
| + | | GetResultAsync |
| + | |- |
| + | | 0x000800C2 |
| + | | |
| + | | GetMiiImageData |
| + | |- |
| + | | 0x00090180 |
| + | | |
| + | | SetNfsPassword |
| + | |- |
| + | | 0x000A0040? |
| + | | |
| + | | ? |
| + | |- |
| + | | 0x000B0042 |
| + | | |
| + | | AcquireEulaList |
| + | |- |
| + | | 0x000C0082 |
| + | | |
| + | | ? |
| + | |- |
| + | | 0x000D0040 |
| + | | |
| + | | GenerateUuid |
| + | |- |
| + | | 0x000E0080? |
| + | | |
| + | | ? |
| + | |- |
| + | | 0x000F0140 |
| + | | |
| + | | FindSlotNoByUuid |
| + | |- |
| + | | 0x00100000? |
| + | | |
| + | | ? |
| + | |- |
| + | | 0x00110080 |
| + | | |
| + | | GetTransferableId |
| + | |- |
| + | | 0x00120102 |
| + | | |
| + | | AccquireNexServiceToken |
| + | |- |
| + | | 0x00130002 |
| + | | |
| + | | GetNexServiceToken |
| + | |- |
| + | | 0x00140382 |
| + | | |
| + | | AccquireIndependentServiceToken |
| + | |- |
| + | | 0x00150002 |
| + | | |
| + | | GetIndependentServiceToken |
| + | |- |
| + | | 0x00160082 |
| + | | |
| + | | AccquireAccountInfo |
| + | |- |
| + | | 0x00170084 |
| + | | |
| + | | AccquireAccountIdByPid |
| + | |- |
| + | | 0x00180044 |
| + | | |
| + | | GetPidByAccountID |
| + | |- |
| + | | 0x00190044 |
| + | | |
| + | | AcquireMii |
| + | |- |
| + | | 0x001A0042 |
| + | | |
| + | | AccquireRawAccountInfo |
| + | |- |
| + | | 0x001B0084 |
| + | | |
| + | | AccquireOtherTypePrincipalID |
| + | |- |
| + | | 0x001C0342 |
| + | | |
| + | | ? |
| + | |- |
| + | | 0x001D0004 |
| + | | |
| + | | ? |
| + | |- |
| + | | 0x001E0082 |
| + | | |
| + | | AcquireEula |
| + | |- |
| + | | 0x001F0082 |
| + | | |
| + | | AcquireEulaLanguageList |
| + | |- |
| + | |} |
| + | |
| + | = ACT service "act:a" = |
| + | These commands are exclusive to act:a |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Command Header |
| + | ! Available since system-version |
| + | ! Description |
| + | |- |
| + | | 0x041300C2 |
| + | | |
| + | | UpdateMiiImage |
| + | |- |
| + | | 0x041B0142 |
| + | | |
| + | | AgreeEula |
| + | |- |
| + | | 0x04210042 |
| + | | |
| + | | UploadMii |
| + | |- |
| + | | 0x04230082 |
| + | | |
| + | | ValidateMailAddress |
| |} | | |} |
| + | |
| | | |
| This is the service used by regular applications. | | This is the service used by regular applications. |
| + | |
| + | =HTTPS Requests= |
| + | |
| + | With each request, ACT-sysmodule specifies request-header "X-Nintendo-Device-Model". This is the only *dedicated* request-header that's contains anything Old3DS/New3DS specific. This was implemented with [[9.0.0-20|9.0.0-X]], and presumably [[8.1.0-0_New3DS]]. The value is from a string initialized during ACT-sysmodule startup. The value-string is the [[Cfg:GetSystemModel|codename]] string for all 5 of the model values from [[Cfg:GetSystemModel]]. When the output from GetSystemModel is >=5(switch statement default case), it runs this: "len = snprintf(outstr, outmaxsize, "3DS-%u", model);" |
| + | |
| + | ==Trusted Root CAs== |
| + | ACT module uses a [[HTTP_Services|RootCertChain]] for all HTTPS requests, the only trusted root CA is [[SSLC:RootCertChainAddDefaultCert|default]] CertID 0x3. |
| + | |
| + | =New3DS= |
| + | Even though ACT-sysmodule uses [[PTM_Services|ptm:s]], it doesn't use CheckNew3DS at all. |