Filesystem services: Difference between revisions
New FS commands |
No edit summary |
||
Line 6: | Line 6: | ||
! Cmd || Name || Arguments || Notes | ! Cmd || Name || Arguments || Notes | ||
|- | |- | ||
| 0 || | | 0 || OpenCodeFileSystem || u64 TitleId + X descriptor [[#ContentPath]] || Returns an [[#IFileSystem]]. | ||
|- | |- | ||
| 1 || | | 1 || IsArchivedProgram || u64 ProcessId || Returns a bool (1 if code is mounted). | ||
|- | |- | ||
| 2 || [4.0.0+] | | 2 || [4.0.0+] SetCurrentProcess || PID descriptor || | ||
|} | |} | ||
Line 20: | Line 20: | ||
! Cmd || Name || Notes | ! Cmd || Name || Notes | ||
|- | |- | ||
| 0 || [[# | | 0 || [[#RegisterProgram]] || | ||
|- | |- | ||
| 1 || [[# | | 1 || [[#UnregisterProgram]] || | ||
|- | |- | ||
| 2 || [4.0.0+] | | 2 || [4.0.0+] SetCurrentProcess || | ||
|- | |- | ||
| 256 || [[#SetEnabledProgramVerification]] || | | 256 || [[#SetEnabledProgramVerification]] || | ||
|} | |} | ||
== | == RegisterProgram == | ||
Takes a storageID, a pid, a titleID, a 0x1C type-A buffer for the [[NPDM#FS_Access_Header| FS Access Header]], and a 0x2C type-A buffer for the [[NPDM#FS_Access_Control| FS Access Control]] | Takes a storageID, a pid, a titleID, a 0x1C type-A buffer for the [[NPDM#FS_Access_Header| FS Access Header]], and a 0x2C type-A buffer for the [[NPDM#FS_Access_Control| FS Access Control]] | ||
Final FS permissions are stored as (ACI0_perms & ACID_perms). Will panic(svcBreak) when buffer sizes from ipc-rawdata are invalid. | Final FS permissions are stored as (ACI0_perms & ACID_perms). Will panic(svcBreak) when buffer sizes from ipc-rawdata are invalid. | ||
== | == UnregisterProgram == | ||
Takes a pid. Removes registered FS permissions for that PID. | Takes a pid. Removes registered FS permissions for that PID. | ||