Difference between revisions of "ETicket services"

From Nintendo Switch Brew
Jump to navigation Jump to search
 
(27 intermediate revisions by 3 users not shown)
Line 12: Line 12:
 
| 3 || DeleteTicket
 
| 3 || DeleteTicket
 
|-
 
|-
| 4 || DeletePersonalizedTicket
+
| 4 || [1.0.0-13.2.1] DeletePersonalizedTicket
 
|-
 
|-
 
| 5 || DeleteAllCommonTicket
 
| 5 || DeleteAllCommonTicket
Line 34: Line 34:
 
| 14 || GetCommonTicketSize
 
| 14 || GetCommonTicketSize
 
|-
 
|-
| 15 || [2.0.0-?] GetPersonalizedTicketSize
+
| 15 || [2.0.0-4.1.0] GetPersonalizedTicketSize
 
|-
 
|-
 
| 16 || GetCommonTicketData
 
| 16 || GetCommonTicketData
 
|-
 
|-
| 17 || [2.0.0-?] GetPersonalizedTicketData
+
| 17 || [2.0.0-4.1.0] GetPersonalizedTicketData
 
|-
 
|-
 
| 18 || OwnTicket
 
| 18 || OwnTicket
Line 62: Line 62:
 
| 28 || [6.0.0+] ListPrepurchaseRecordRightsIds ([4.0.0-5.1.0] ListPrepurchaseRecord)
 
| 28 || [6.0.0+] ListPrepurchaseRecordRightsIds ([4.0.0-5.1.0] ListPrepurchaseRecord)
 
|-
 
|-
| 29 || [4.0.0+] ListPrepurchaseRecordInfo
+
| 29 || [4.0.0+] [[#ListPrepurchaseRecordInfo]]
 
|-
 
|-
 
| 30 || [5.0.0+] CountTicket
 
| 30 || [5.0.0+] CountTicket
Line 70: Line 70:
 
| 32 || [5.0.0+] CountPrepurchaseRecordEx
 
| 32 || [5.0.0+] CountPrepurchaseRecordEx
 
|-
 
|-
| 33 || [5.0.0+] ListPrepurchaseRecordRightsIdsEx
+
| 33 || [5.0.0-6.2.0] ListPrepurchaseRecordRightsIdsEx
 
|-
 
|-
 
| 34 || [5.0.0+] GetEncryptedTicketSize
 
| 34 || [5.0.0+] GetEncryptedTicketSize
 
|-
 
|-
| 35 || [5.0.0+] GetEncryptedTicketData. [6.0.0+]: Now returns an additional 8-bytes.
+
| 35 || [5.0.0+] [[#GetEncryptedTicketData]]
 
|-
 
|-
| 36 || [6.0.0+] DeleteAllInactiveELicenseRequiredPersonalizedTicket
+
| 36 || [6.0.0-12.1.0] DeleteAllInactiveELicenseRequiredPersonalizedTicket
 +
|-
 +
| 37 || [9.0.0+] OwnTicket2
 +
|-
 +
| 38 || [9.0.0+] OwnTicket3
 +
|-
 +
| 39 || [13.0.0+] DeleteAllInactivePersonalizedTicket
 +
|-
 +
| 40 || [13.0.0+] DeletePrepurchaseRecordByNintendoAccountId
 +
|-
 +
| 101 || [18.0.0+]
 +
|-
 +
| 102 || [18.0.0+]
 +
|-
 +
| 103 || [18.0.0+]
 +
|-
 +
| 104 || [18.0.0+]
 +
|-
 +
| 201 || [18.0.0+]
 +
|-
 +
| 202 || [18.0.0+]
 +
|-
 +
| 203 || [18.0.0+]
 +
|-
 +
| 204 || [18.0.0+]
 
|-
 
|-
 
| 501 || [6.0.0+]
 
| 501 || [6.0.0+]
Line 82: Line 106:
 
| 502 || [6.0.0+]
 
| 502 || [6.0.0+]
 
|-
 
|-
| 503 || [6.0.0+] GetTitleKey
+
| 503 || [6.0.0+] [[#GetTitleKey]]
 
|-
 
|-
 
| 504 || [6.0.0+]
 
| 504 || [6.0.0+]
Line 91: Line 115:
 
|-
 
|-
 
| 510 || [6.0.0+]
 
| 510 || [6.0.0+]
 +
|-
 +
| 511 || [9.0.0+]
 
|-
 
|-
 
| 1001 || [6.0.0+]
 
| 1001 || [6.0.0+]
Line 96: Line 122:
 
| 1002 || [6.0.0+]
 
| 1002 || [6.0.0+]
 
|-
 
|-
| 1003 || [6.0.0+] Returns an [[#EsAsyncValue]].
+
| 1003 || [6.0.0+] Returns an [[#IAsyncValue]].
 
|-
 
|-
 
| 1004 || [6.0.0+]
 
| 1004 || [6.0.0+]
Line 121: Line 147:
 
|-
 
|-
 
| 1016 || [6.0.0+]
 
| 1016 || [6.0.0+]
 +
|-
 +
| 1017 || [9.0.0+]
 +
|-
 +
| 1018 || [9.0.0+]
 +
|-
 +
| 1019 || [9.0.0+]
 +
|-
 +
| 1020 || [9.0.0+]
 +
|-
 +
| 1021 || [9.0.0+]
 +
|-
 +
| 1022 || [15.0.0+]
 +
|-
 +
| 1023 || [17.0.0+]
 +
|-
 +
| 1024 || [17.0.0+]
 +
|-
 +
| 1025 || [17.0.0+]
 +
|-
 +
| 1026 || [17.0.0+]
 +
|-
 +
| 1027 || [17.0.0+]
 +
|-
 +
| 1028 || [18.0.0+]
 +
|-
 +
| 1029 || [19.0.0+]
 
|-
 
|-
 
| 1501 || [6.0.0+]
 
| 1501 || [6.0.0+]
Line 132: Line 184:
 
| 1505 || [6.0.0+]
 
| 1505 || [6.0.0+]
 
|-
 
|-
| 2000 || [6.0.0+] No input, returns an [[#EsSubinterface2000]].
+
| 1506 || [13.0.0+]
 +
|-
 +
| 2000 || [6.0.0+] No input, returns an [[#IActiveRightsContext]].
 +
|-
 +
| 2001 || [9.0.0+] No input, returns an [[#IActiveRightsContext]].
 +
|-
 +
| 2002 || [13.0.0-16.1.0]
 +
|-
 +
| 2003 || [13.0.0-16.1.0]
 
|-
 
|-
 
| 2100 || [7.0.0+]
 
| 2100 || [7.0.0+]
Line 140: Line 200:
 
| 2502 || [6.0.0+]
 
| 2502 || [6.0.0+]
 
|-
 
|-
| 3001 || [7.0.0+]
+
| 2601 || [13.0.0+]
 +
|-
 +
| 3001 || [7.0.0-15.0.1]
 
|-
 
|-
| 3002 || [7.0.0+]
+
| 3002 || [7.0.0-15.0.1]
 
|}
 
|}
  
== EsAsyncValue ==
+
== ListPrepurchaseRecordInfo ==
 +
[7.0.0+] 0x8-bytes of input for ListPrepurchaseRecordInfo was removed.
 +
 
 +
== GetEncryptedTicketData ==
 +
[6.0.0+] Now returns an additional 8-bytes.
 +
 
 +
== GetTitleKey ==
 +
[3.0.0+] GetTitleKey now takes an additional 4-bytes of input.
 +
 
 +
== Cmd1027 ==
 +
Takes 0x10-bytes of input, a type-0x6 output buffer containing an array of 0x10-byte entries, and a type-0x5 input buffer. Returns 4-bytes of output.
 +
 
 +
[19.0.0+] Takes 8-bytes of input, a type-0x6 output buffer containing an array of 0x10-byte entries, a type-0x5 input buffer containing an array of 8-byte entries, and a type-0x5 input buffer. Returns 4-bytes of output.
 +
 
 +
== IAsyncValue ==
 +
This is "nn::es::detail::IAsyncValue".
 +
 
 
This was added with [6.0.0+].
 
This was added with [6.0.0+].
  
Line 159: Line 237:
 
|}
 
|}
  
== EsSubinterface2000 ==
+
== IActiveRightsContext ==
 +
This is "nn::es::IActiveRightsContext".
 +
 
 
This was added with [6.0.0+].
 
This was added with [6.0.0+].
  
Line 174: Line 254:
 
| 4 ||  
 
| 4 ||  
 
|-
 
|-
| 5 ||  
+
| 5 || [6.0.0-14.1.2]
 
|-
 
|-
 
| 6 ||  
 
| 6 ||  
Line 185: Line 265:
 
|-
 
|-
 
| 10 ||  
 
| 10 ||  
 +
|-
 +
| 11 || [8.0.0+]
 +
|-
 +
| 12 || [10.0.0+]
 +
|-
 +
| 13 || [11.0.0+]
 +
|-
 +
| 14 || [13.0.0+]
 +
|-
 +
| 15 || [13.0.0+]
 +
|-
 +
| 16 || [13.1.0+]
 +
|-
 +
| 17 || [14.0.0+]
 +
|-
 +
| 18 || [16.0.0+]
 
|-
 
|-
 
| 100 ||  
 
| 100 ||  
Line 203: Line 299:
 
|-
 
|-
 
| 211 ||  
 
| 211 ||  
 +
|-
 +
| 212 || [13.0.0-16.1.0]
 +
|-
 +
| 213 || [13.0.0+]
 +
|-
 +
| 214 || [14.0.0+]
 +
|-
 +
| 215 || [14.0.0+]
 +
|-
 +
| 216 || [15.0.0+]
 +
|-
 +
| 300 || [13.0.0+]
 
|-
 
|-
 
| 900 ||  
 
| 900 ||  
Line 209: Line 317:
 
|-
 
|-
 
| 1000 ||  
 
| 1000 ||  
 +
|-
 +
| 1001 || [7.0.0+]
 
|-
 
|-
 
|}
 
|}
 +
 +
[8.0.0+] Cmd201 now returns an additional 0x8-bytes of output.
 +
 +
= ndrm:lu =
 +
This is "nn::ndrm::low::detail::INdrmLowUserInterface".
 +
 +
This was added with [13.0.0+].
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Cmd || Name
 +
|-
 +
| 1 ||
 +
|-
 +
| 2 ||
 +
|-
 +
| 3 ||
 +
|-
 +
| 1000 ||
 +
|-
 +
| 8000 ||
 +
|}
 +
 +
= ndrm:la =
 +
This is "nn::ndrm::low::detail::INdrmLowAdminInterface".
 +
 +
This was added with [13.0.0+].
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Cmd || Name
 +
|-
 +
| 1 ||
 +
|-
 +
| 2 ||
 +
|-
 +
| 3 ||
 +
|-
 +
| 4 ||
 +
|-
 +
| 5 ||
 +
|-
 +
| 6 ||
 +
|-
 +
| 7 ||
 +
|-
 +
| 8 ||
 +
|-
 +
| 9 ||
 +
|-
 +
| 10 ||
 +
|-
 +
| 11 ||
 +
|-
 +
| 12 ||
 +
|-
 +
| 13 ||
 +
|-
 +
| 14 ||
 +
|-
 +
| 15 ||
 +
|-
 +
| 16 ||
 +
|-
 +
| 17 ||
 +
|-
 +
| 18 ||
 +
|-
 +
| 19 ||
 +
|-
 +
| 20 ||
 +
|-
 +
| 21 ||
 +
|-
 +
| 22 ||
 +
|-
 +
| 23 ||
 +
|-
 +
| 24 ||
 +
|-
 +
| 25 ||
 +
|-
 +
| 26 ||       
 +
|-
 +
| 27 ||
 +
|-
 +
| 28 ||
 +
|-
 +
| 29 ||
 +
|-
 +
| 30 ||
 +
|-
 +
| 31 ||
 +
|-
 +
| 32 ||
 +
|-
 +
| 33 || [13.1.0+]
 +
|-
 +
| 34 || [13.1.0+]
 +
|-
 +
| 35 || [13.1.0+]
 +
|-
 +
| 36 || [13.1.0+]
 +
|-
 +
| 37 || [14.0.0+]
 +
|-
 +
| 38 || [14.0.0+]
 +
|-
 +
| 39 || [14.0.0+]
 +
|-
 +
| 40 || [15.0.0+]
 +
|-
 +
| 42 || [15.0.0+]
 +
|-
 +
| 43 || [15.0.0+]
 +
|-
 +
| 44 || [15.0.0+]
 +
|-
 +
| 45 || [17.0.0+]
 +
|-
 +
| 46 || [18.0.0+]
 +
|-
 +
| 8000 ||
 +
|-
 +
| 8001 ||
 +
|-
 +
| 8002 ||
 +
|-
 +
| 8003 || [13.0.0-13.2.1]
 +
|}
 +
 +
== Cmd3 ==
 +
Takes a total of 8-bytes of input and a type-0x5 input buffer, no output.
 +
 +
[15.0.0+] Now takes a total of 0x18-bytes of input and a type-0x5 input buffer, no output.

Latest revision as of 23:32, 22 October 2024

es

This is "nn::es::IETicketService".

Cmd Name
1 ImportTicket
2 ImportTicketCertificateSet
3 DeleteTicket
4 [1.0.0-13.2.1] DeletePersonalizedTicket
5 DeleteAllCommonTicket
6 DeleteAllPersonalizedTicket
7 DeleteAllPersonalizedTicketEx
8 [2.0.0-5.1.0] GetTitleKey
9 CountCommonTicket
10 CountPersonalizedTicket
11 [6.0.0+] ListCommonTicketRightsIds ([2.0.0-5.1.0] ListCommonTicket)
12 [6.0.0+] ListPersonalizedTicketRightsIds ([2.0.0-5.1.0] ListPersonalizedTicket)
13 ListMissingPersonalizedTicket
14 GetCommonTicketSize
15 [2.0.0-4.1.0] GetPersonalizedTicketSize
16 GetCommonTicketData
17 [2.0.0-4.1.0] GetPersonalizedTicketData
18 OwnTicket
19 GetTicketInfo
20 ListLightTicketInfo
21 [2.0.0-6.2.0] SignData
22 [4.0.0+] GetCommonTicketAndCertificateSize
23 [4.0.0+] GetCommonTicketAndCertificateData
24 [4.0.0+] ImportPrepurchaseRecord
25 [4.0.0+] DeletePrepurchaseRecord
26 [4.0.0+] DeleteAllPrepurchaseRecord
27 [4.0.0+] CountPrepurchaseRecord
28 [6.0.0+] ListPrepurchaseRecordRightsIds ([4.0.0-5.1.0] ListPrepurchaseRecord)
29 [4.0.0+] #ListPrepurchaseRecordInfo
30 [5.0.0+] CountTicket
31 [5.0.0+] ListTicketRightsIds
32 [5.0.0+] CountPrepurchaseRecordEx
33 [5.0.0-6.2.0] ListPrepurchaseRecordRightsIdsEx
34 [5.0.0+] GetEncryptedTicketSize
35 [5.0.0+] #GetEncryptedTicketData
36 [6.0.0-12.1.0] DeleteAllInactiveELicenseRequiredPersonalizedTicket
37 [9.0.0+] OwnTicket2
38 [9.0.0+] OwnTicket3
39 [13.0.0+] DeleteAllInactivePersonalizedTicket
40 [13.0.0+] DeletePrepurchaseRecordByNintendoAccountId
101 [18.0.0+]
102 [18.0.0+]
103 [18.0.0+]
104 [18.0.0+]
201 [18.0.0+]
202 [18.0.0+]
203 [18.0.0+]
204 [18.0.0+]
501 [6.0.0+]
502 [6.0.0+]
503 [6.0.0+] #GetTitleKey
504 [6.0.0+]
508 [6.0.0+]
509 [6.0.0+]
510 [6.0.0+]
511 [9.0.0+]
1001 [6.0.0+]
1002 [6.0.0+]
1003 [6.0.0+] Returns an #IAsyncValue.
1004 [6.0.0+]
1005 [6.0.0+]
1006 [6.0.0+]
1007 [6.0.0+]
1009 [6.0.0+]
1010 [6.0.0+]
1011 [6.0.0+]
1012 [6.0.0+]
1013 [6.0.0+]
1014 [6.0.0+]
1015 [6.0.0+]
1016 [6.0.0+]
1017 [9.0.0+]
1018 [9.0.0+]
1019 [9.0.0+]
1020 [9.0.0+]
1021 [9.0.0+]
1022 [15.0.0+]
1023 [17.0.0+]
1024 [17.0.0+]
1025 [17.0.0+]
1026 [17.0.0+]
1027 [17.0.0+]
1028 [18.0.0+]
1029 [19.0.0+]
1501 [6.0.0+]
1502 [6.0.0+]
1503 [6.0.0+]
1504 [6.0.0+]
1505 [6.0.0+]
1506 [13.0.0+]
2000 [6.0.0+] No input, returns an #IActiveRightsContext.
2001 [9.0.0+] No input, returns an #IActiveRightsContext.
2002 [13.0.0-16.1.0]
2003 [13.0.0-16.1.0]
2100 [7.0.0+]
2501 [6.0.0+]
2502 [6.0.0+]
2601 [13.0.0+]
3001 [7.0.0-15.0.1]
3002 [7.0.0-15.0.1]

ListPrepurchaseRecordInfo

[7.0.0+] 0x8-bytes of input for ListPrepurchaseRecordInfo was removed.

GetEncryptedTicketData

[6.0.0+] Now returns an additional 8-bytes.

GetTitleKey

[3.0.0+] GetTitleKey now takes an additional 4-bytes of input.

Cmd1027

Takes 0x10-bytes of input, a type-0x6 output buffer containing an array of 0x10-byte entries, and a type-0x5 input buffer. Returns 4-bytes of output.

[19.0.0+] Takes 8-bytes of input, a type-0x6 output buffer containing an array of 0x10-byte entries, a type-0x5 input buffer containing an array of 8-byte entries, and a type-0x5 input buffer. Returns 4-bytes of output.

IAsyncValue

This is "nn::es::detail::IAsyncValue".

This was added with [6.0.0+].

Cmd Name
0
1
2

IActiveRightsContext

This is "nn::es::IActiveRightsContext".

This was added with [6.0.0+].

Cmd Name
1
2
3
4
5 [6.0.0-14.1.2]
6
7
8
9
10
11 [8.0.0+]
12 [10.0.0+]
13 [11.0.0+]
14 [13.0.0+]
15 [13.0.0+]
16 [13.1.0+]
17 [14.0.0+]
18 [16.0.0+]
100
101
102
200
201
202
203
210
211
212 [13.0.0-16.1.0]
213 [13.0.0+]
214 [14.0.0+]
215 [14.0.0+]
216 [15.0.0+]
300 [13.0.0+]
900
901
1000
1001 [7.0.0+]

[8.0.0+] Cmd201 now returns an additional 0x8-bytes of output.

ndrm:lu

This is "nn::ndrm::low::detail::INdrmLowUserInterface".

This was added with [13.0.0+].

Cmd Name
1
2
3
1000
8000

ndrm:la

This is "nn::ndrm::low::detail::INdrmLowAdminInterface".

This was added with [13.0.0+].

Cmd Name
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 [13.1.0+]
34 [13.1.0+]
35 [13.1.0+]
36 [13.1.0+]
37 [14.0.0+]
38 [14.0.0+]
39 [14.0.0+]
40 [15.0.0+]
42 [15.0.0+]
43 [15.0.0+]
44 [15.0.0+]
45 [17.0.0+]
46 [18.0.0+]
8000
8001
8002
8003 [13.0.0-13.2.1]

Cmd3

Takes a total of 8-bytes of input and a type-0x5 input buffer, no output.

[15.0.0+] Now takes a total of 0x18-bytes of input and a type-0x5 input buffer, no output.