NPDM: Difference between revisions
		
		
		
		Jump to navigation
		Jump to search
		
| No edit summary | |||
| Line 78: | Line 78: | ||
| |- | |- | ||
| | 0x30 | | 0x30 | ||
| |  | | 0x14 | ||
| | ? | | ? | ||
| |- | |||
| | 0x44 | |||
| | ? | |||
| | FS Permissions | |||
| |- | |- | ||
| | 0xF0 | | 0xF0 | ||
| Line 108: | Line 112: | ||
| |- | |- | ||
| | 0x30 | | 0x30 | ||
| |  | | 0x14 | ||
| | ? | |||
| |- | |||
| | 0x44 | |||
| | ? | | ? | ||
| | FS Permissions | |||
| |- | |- | ||
| | 0x60 | | 0x60 | ||
| Line 129: | Line 137: | ||
| The service string can contain a wildcard <code>*</code> character. | The service string can contain a wildcard <code>*</code> character. | ||
| =FS Permissions= | |||
| {| class="wikitable" border="1" | |||
| |- | |||
| ! Bit | |||
| ! Description | |||
| |- | |||
| | 0 | |||
| | MountContent* is accessible when set. | |||
| |- | |||
| | 3 | |||
| | This is only bit set for ShopN in the permissions-u32. | |||
| |} | |||
Revision as of 00:56, 26 June 2017
This is the Switch equivalent of 3DS exheader. This is the file with extension ".npdm" in {Switch ExeFS}. The size of this file varies.
| Offset | Size | Description | 
|---|---|---|
| 0x0 | 0x80 | META | 
| 0x80 | 0x200 | RSA-2048 signature, followed a RSA-2048 modulus for NCA header (like 3DS) | 
| 0x280 | <Varies> | ACID | 
| <See META> | <See META> | ACI0 | 
META
| Offset | Size | Description | 
|---|---|---|
| 0x0 | 0x4 | Magicnum "META". | 
| 0x20 | ? | Name string | 
| 0x70 | 0x4 | Absolute offset for ACI0. | 
| 0x74 | 0x4 | Size of ACI0. | 
| 0x78 | 0x4 | Absolute offset of the RSA signature. | 
| 0x7C | 0x4 | Size used with the above offset. Offset+size is normally ACI0_start-8. | 
Switch version of 3DS "System Control Info"?
ACID
| Offset | Size | Description | 
|---|---|---|
| 0x0 | 0x4 | Magicnum "ACID". | 
| 0x4 | 0x28 | ? | 
| 0x2C | 0x4 | Size of the Service Access Control. | 
| 0x30 | 0x14 | ? | 
| 0x44 | ? | FS Permissions | 
| 0xF0 | <See above> | Service Access Control | 
Switch version of AccessDesc?
ACI0
| Offset | Size | Description | 
|---|---|---|
| 0x0 | 0x4 | Magicnum "ACI0". | 
| 0x4 | 0x28 | ? | 
| 0x2C | 0x4 | Size of the Service Access Control. | 
| 0x30 | 0x14 | ? | 
| 0x44 | ? | FS Permissions | 
| 0x60 | <See above> | Service Access Control | 
Switch version of 3DS ACI(Access Control Info)?
Service Access Control
This is a list of service-name strings which the title has access to, with the following structure:
 +0: control_byte
 +1: {service-name without nul-terminator}
Bitmask 0x0F in control_byte is the {length of the service-name without nul-terminator} - 1.
Bitmask 0x80 in control_byte means service is allowed to be registered.
The service string can contain a wildcard * character.
FS Permissions
| Bit | Description | 
|---|---|
| 0 | MountContent* is accessible when set. | 
| 3 | This is only bit set for ShopN in the permissions-u32. |