Error Report services: Difference between revisions

fix new firleids
(7 intermediate revisions by one other user not shown)
Line 28: Line 28:
| 10 || [8.0.0+] [[#CreateReportWithAttachments]]
| 10 || [8.0.0+] [[#CreateReportWithAttachments]]
|-
|-
| 11 || [11.0.0+] CreateReport
| 11 || [17.0.0+] CreateReportV1 ([11.0.0-16.1.0] CreateReport)
|-
| 12 || [17.0.0+] CreateReport
|-
|-
| 20 || [12.0.0+] RegisterRunningApplet
| 20 || [12.0.0+] RegisterRunningApplet
Line 40: Line 42:


== SubmitContext ==
== SubmitContext ==
Takes 2 type-5 input buffers [[#ContextEntry]] and '''FieldList'''.
Takes two type-0x5 input buffers [[#ContextEntry]] and '''FieldList'''. No output.
 
=== ContextEntry ===
This is a 0x160 bytes structure used to encapsulate an error report context.
 
{| class="wikitable" border="1"
|-
! Offset || Size || Description
|-
| 0x0 || 0x4 || Version
|-
| 0x4 || 0x4 || FieldCount
|-
| 0x8 || 0x4 || CategoryId
|-
| 0xC || 0x144 || Array of FieldEntry
|-
| 0x150 || 0x8 || Pointer to a FieldList object
|-
| 0x158 || 0x4 || FieldList free count
|-
| 0x15C || 0x4 || FieldList total size
|}


== CreateReportV0 ==
== CreateReportV0 ==
Takes an u32 '''ReportType''' and 3 type-5 input buffers [[#ContextEntry]], '''ReportList''' and '''ReportMetaData'''.
Takes an u32 '''ReportType''' and 3 type-0x5 input buffers [[#ContextEntry]], '''ReportList''' and '''ReportMetaData'''. No output.


== CreateReportWithAttachments ==
== CreateReportWithAttachments ==
Takes 4-bytes of input and 3 type-0x5 input buffers, no output.
Takes an u32 '''ReportType''' and 3 type-0x5 input buffers. No output.


[11.0.0+] Now takes an additional 4-bytes of input.
[11.0.0+] Now takes an additional u32.
 
[17.0.0+] Now takes an additional [[#CreateReportOptionFlag]].


= erpt:r =
= erpt:r =
Line 146: Line 128:
|}
|}


= sprof:bg =
= sprof:bg, sprof:sp =
This is "nn::sprofile::srv::ISprofileServiceForBgAgent".
These are "nn::sprofile::srv::IServiceGetter".
 
This was added with [13.0.0+].  


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 155: Line 135:
! Cmd || Name
! Cmd || Name
|-
|-
| 100 || OpenProfileImporter
| 0 || [[#OpenSprofileServiceForSystemProcess]]
|-
|-
| 200 || ReadMetadata
| 1 || [[#OpenSprofileServiceForBgAgent]]
|}
 
== OpenSprofileServiceForSystemProcess ==
No input. Returns an [[#ISprofileServiceForSystemProcess]].
 
== OpenSprofileServiceForBgAgent ==
No input. Returns an [[#ISprofileServiceForBgAgent]].
 
== ISprofileServiceForBgAgent ==
This is "nn::sprofile::srv::ISprofileServiceForBgAgent".
 
This was added with [13.0.0+].
 
This was moved from its own service "sprof:bg" with [14.0.0+].
 
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 100 || [[#OpenProfileImporter]]
|-
| 200 || ReadMetadata
|-
|-
| 201 || IsUpdateNeeded
| 201 || IsUpdateNeeded
Line 164: Line 166:
|}
|}


== IProfileImporter ==
=== OpenProfileImporter ===
No input. Returns an [[#IProfileImporter]].
 
=== IProfileImporter ===
This is "nn::sprofile::srv::IProfileImporter".
This is "nn::sprofile::srv::IProfileImporter".


Line 178: Line 183:
|}
|}


= sprof:sp =
== ISprofileServiceForSystemProcess ==
This is "nn::sprofile::srv::ISprofileServiceForSystemProcess".
This is "nn::sprofile::srv::ISprofileServiceForSystemProcess".


This was added with [13.0.0+].  
This was added with [13.0.0+].
 
This was moved from its own service "sprof:sp" with [14.0.0+].


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 187: Line 194:
! Cmd || Name
! Cmd || Name
|-
|-
| 100 || OpenProfileReader
| 100 || [[#OpenProfileReader]]
|-
|-
| 101 || OpenProfileUpdateObserver
| 101 || [[#OpenProfileUpdateObserver]]
|-
|-
| 900 || OpenProfileControllerForDebug
| 900 || [[#OpenProfileControllerForDebug]]
|}
|}


== IProfileReader ==
=== OpenProfileReader ===
No input. Returns an [[#IProfileReader]].
 
=== OpenProfileUpdateObserver ===
No input. Returns an [[#IProfileUpdateObserver]].
 
=== OpenProfileControllerForDebug ===
No input. Returns an [[#IProfileControllerForDebug]].
 
=== IProfileReader ===
This is "nn::sprofile::srv::IProfileReader".
This is "nn::sprofile::srv::IProfileReader".


Line 212: Line 228:
|}
|}


== IProfileUpdateObserver ==
=== IProfileUpdateObserver ===
This is "nn::sprofile::srv::IProfileUpdateObserver".
This is "nn::sprofile::srv::IProfileUpdateObserver".


Line 226: Line 242:
|}
|}


== IProfileControllerForDebug ==
=== IProfileControllerForDebug ===
This is "nn::sprofile::srv::IProfileControllerForDebug".
This is "nn::sprofile::srv::IProfileControllerForDebug".


Line 238: Line 254:
|}
|}


= Reports =
= ContextEntry =
== Fields ==
This is "nn::erpt::ContextEntry". This is a 0x160-byte struct.
{| class=wikitable
 
! Id || Name || Category || FieldType || FieldFlag
{| class="wikitable" border="1"
|-
|-
| 0x0 || TestU64 || Test || NumericU64 || None
! Offset || Size || Description
|-
|-
| 0x1 || TestU32 || Test || NumericU32 || None
| 0x0 || 0x4 || Version
|-
|-
| 0x2 || TestI64 || Test || NumericI64 || None
| 0x4 || 0x4 || FieldCount
|-
| 0x8 || 0x4 || CategoryId
|-
| 0xC || 0x144 || Array of FieldEntry
|-
| 0x150 || 0x8 || Pointer to a FieldList object
|-
| 0x158 || 0x4 || FieldList free count
|-
| 0x15C || 0x4 || FieldList total size
|}
 
= CreateReportOptionFlag =
This is "nn::erpt::CreateReportOptionFlag". This is a 32-bit flag.
 
= FieldId =
This is "nn::erpt::FieldId".
 
{| class=wikitable
|-
! Value || Name || Category || FieldType || FieldFlag
|-
| 0x0 || TestU64 || Test || NumericU64 || None
|-
| 0x1 || TestU32 || Test || NumericU32 || None
|-
| 0x2 || TestI64 || Test || NumericI64 || None
|-
|-
| 0x3 || TestI32 || Test || NumericI32 || None
| 0x3 || TestI32 || Test || NumericI32 || None
Line 1,554: Line 1,597:
|-
|-
| 0x28F || [14.0.0+] FatFsSdCardDirectoryPeakOpenCount || FsProxyErrorInfo || NumericU16 || None
| 0x28F || [14.0.0+] FatFsSdCardDirectoryPeakOpenCount || FsProxyErrorInfo || NumericU16 || None
|-
| 0x290 || [15.0.0+] SslAlertInfo || NetworkSecurityCertificateInfo || U8Array || None
|-
| 0x291 || [15.0.0+] SslVersionInfo || NetworkSecurityCertificateInfo || U8Array || None
|-
| 0x292 || [15.0.0+] FatFsBisSystemUniqueFileEntryPeakOpenCount || FsProxyErrorInfo || NumericU16 || None
|-
| 0x293 || [15.0.0+] FatFsBisSystemUniqueDirectoryEntryPeakOpenCount || FsProxyErrorInfo || NumericU16 || None
|-
| 0x294 || [15.0.0+] FatFsBisUserUniqueFileEntryPeakOpenCount || FsProxyErrorInfo || NumericU16 || None
|-
| 0x295 || [15.0.0+] FatFsBisUserUniqueDirectoryEntryPeakOpenCount || FsProxyErrorInfo || NumericU16 || None
|-
| 0x296 || [15.0.0+] FatFsSdCardUniqueFileEntryPeakOpenCount || FsProxyErrorInfo || NumericU16 || None
|-
| 0x297 || [15.0.0+] FatFsSdCardUniqueDirectoryEntryPeakOpenCount || FsProxyErrorInfo || NumericU16 || None
|-
| 0x298 || [16.0.0+] ServerErrorIsRetryable || ErrorInfo || Bool || None
|-
| 0x299 || [16.0.0+] FsDeepRetryStartCount || FsProxyErrorInfo2 || NumericU32 || None
|-
| 0x29A || [16.0.0+] FsUnrecoverableByGameCardAccessFailedCount || FsProxyErrorInfo2 || NumericU32 || None
|-
| 0x29B || [16.0.0+] BuiltInWirelessOUI || BuiltInWirelessOUIInfo || String || None
|-
| 0x29C || [16.0.0+] WirelessAPOUI || WirelessAPOUIInfo || String || None
|-
| 0x29D || [16.0.0+] EthernetAdapterOUI || EthernetAdapterOUIInfo || String || None
|-
| 0x29E || [17.0.0+] FatFsBisSystemFatSafeControlResult || FsProxyErrorInfo2 || NumericU8 || None
|-
| 0x29F || [17.0.0+] FatFsBisSystemFatErrorNumber || FsProxyErrorInfo2 || NumericI32 || None
|-
| 0x2A0 || [17.0.0+] FatFsBisSystemFatSafeErrorNumber || FsProxyErrorInfo2 || NumericI32 || None
|-
| 0x2A1 || [17.0.0+] FatFsBisUserFatSafeControlResult || FsProxyErrorInfo2 || NumericU8 || None
|-
| 0x2A2 || [17.0.0+] FatFsBisUserFatErrorNumber || FsProxyErrorInfo2 || NumericI32 || None
|-
| 0x2A3 || [17.0.0+] FatFsBisUserFatSafeErrorNumber || FsProxyErrorInfo2 || NumericI32 || None
|-
| 0x2A4 || [17.0.0+] GpuCrashDump2 || GpuCrashInfo || U8Array || None
|-
| 0x2A5 || [17.0.0+] NANDType || NANDTypeInfo || U8Array || None
|-
| 0x2A6 || [17.0.0+] MicroSDType || MicroSDTypeInfo || U8Array || None
|-
| 0x2A7 || [17.0.0+] GameCardLastDeactivateReasonResult || GameCardErrorInfo || NumericU32 || None
|-
| 0x2A8 || [17.0.0+] GameCardLastDeactivateReason || GameCardErrorInfo || NumericU8 || None
|-
| 0x2A9 || [18.0.0+] InvalidErrorCode || ErrorInfo || String || None
|-
| 0x3E8|| [18.0.0+] TestStringNx || TestNx || String || None
|-
| 0x3E9 || [18.0.0+] BoostModeCurrentLimit || BatteryChargeInfo || NumericI32 || None
|-
| 0x3EA || [18.0.0+] ChargeConfiguration || BatteryChargeInfo || NumericI32 || None
|-
| 0x3EB || [18.0.0+] HizMode || BatteryChargeInfo || Bool || None
|-
| 0x3EC || [18.0.0+] PowerSupplyPath || BatteryChargeInfo || NumericI32 || None
|-
| 0x3ED || [18.0.0+] ControllerPowerSupplyAcquired || BatteryChargeInfo || Bool || None
|-
| 0x3EE || [18.0.0+] OtgRequested || BatteryChargeInfo || Bool || None
|-
| 0x3EF || [18.0.0+] AdspExceptionRegisters || AdspErrorInfo || U32Array || None
|-
| 0x3F0 || [18.0.0+] AdspExceptionSpsr || AdspErrorInfo || NumericU32 || None
|-
| 0x3F1 || [18.0.0+] AdspExceptionArmModeRegisters || AdspErrorInfo || U32Array || None
|-
| 0x3F2 || [18.0.0+] AdspExceptionStackAddress || AdspErrorInfo || NumericU32 || None
|-
| 0x3F3 || [18.0.0+] AdspExceptionStackDump || AdspErrorInfo || U32Array || None
|-
| 0x3F4 || [18.0.0+] AdspExceptionReason || AdspErrorInfo || NumericU32 || None
|}
|}


[[Category:Services]]
[[Category:Services]]