Line 1: |
Line 1: |
| [[Category:Services]] | | [[Category:Services]] |
| | | |
− | = Filesystem service "fs:USER" = | + | = Services = |
| + | == Filesystem service "fs:USER" == |
| You can at most have 32 FS archive handles. | | You can at most have 32 FS archive handles. |
| | | |
Line 693: |
Line 694: |
| Each session for fs:USER has separate permissions, initially these are set to all zero's for new fs:USER sessions. The permissions/etc for fs:USER sessions are initialized via [[FS:Initialize]](loaded from the user process exheader). | | Each session for fs:USER has separate permissions, initially these are set to all zero's for new fs:USER sessions. The permissions/etc for fs:USER sessions are initialized via [[FS:Initialize]](loaded from the user process exheader). |
| | | |
− | =File access= | + | == Filesystem service "fs:LDR" == |
| + | This service is identical to fs:USER, except [[FS:OpenArchive]] archive 0x2345678E can only be accessed with fs:LDR. |
| + | |
| + | == ProgramRegistry service "fs:REG" == |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Command Header |
| + | ! Description |
| + | |- |
| + | | 0x000100C6 |
| + | | [[FSReg:Dummy1|Dummy1]] |
| + | |- |
| + | | 0x040103C0 |
| + | | [[FSReg:Register|Register]] |
| + | |- |
| + | | 0x04020040 |
| + | | [[FSReg:Unregister|Unregister]] |
| + | |- |
| + | | 0x040300C0 |
| + | | [[FSReg:GetProgramInfo|GetProgramInfo]] |
| + | |- |
| + | | 0x04040100 |
| + | | [[FSReg:LoadProgram|LoadProgram]] |
| + | |- |
| + | | 0x04050080 |
| + | | [[FSReg:UnloadProgram|UnloadProgram]] |
| + | |- |
| + | | 0x04060080 |
| + | | [[FSReg:CheckHostLoadId|CheckHostLoadId]] |
| + | |} |
| + | |
| + | Only two sessions can be opened for this service at a time, hence no other processes can use this due to [[Process_Manager_Services|pm-module]] and [[Loader_Services|loader]] using this. |
| + | |
| + | =File and directory access= |
| + | ==Files== |
| File session handles obtained via [[FS:OpenFile]] et al can be used to access files through a service-like interface, despite not being an actual service registered using [[SRV:RegisterService]]. | | File session handles obtained via [[FS:OpenFile]] et al can be used to access files through a service-like interface, despite not being an actual service registered using [[SRV:RegisterService]]. |
| | | |
Line 747: |
Line 782: |
| |} | | |} |
| | | |
− | =Directory access= | + | ==Directories== |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 778: |
Line 813: |
| | [[FSDir:GetPriority|GetPriority]] | | | [[FSDir:GetPriority|GetPriority]] |
| |} | | |} |
− |
| |
− | = Filesystem service "fs:LDR" =
| |
− | This service is identical to fs:USER, except [[FS:OpenArchive]] archive 0x2345678E can only be accessed with fs:LDR.
| |
− |
| |
− | = ProgramRegistry service "fs:REG" =
| |
− | {| class="wikitable" border="1"
| |
− | |-
| |
− | ! Command Header
| |
− | ! Description
| |
− | |-
| |
− | | 0x000100C6
| |
− | | [[FSReg:Dummy1|Dummy1]]
| |
− | |-
| |
− | | 0x040103C0
| |
− | | [[FSReg:Register|Register]]
| |
− | |-
| |
− | | 0x04020040
| |
− | | [[FSReg:Unregister|Unregister]]
| |
− | |-
| |
− | | 0x040300C0
| |
− | | [[FSReg:GetProgramInfo|GetProgramInfo]]
| |
− | |-
| |
− | | 0x04040100
| |
− | | [[FSReg:LoadProgram|LoadProgram]]
| |
− | |-
| |
− | | 0x04050080
| |
− | | [[FSReg:UnloadProgram|UnloadProgram]]
| |
− | |-
| |
− | | 0x04060080
| |
− | | [[FSReg:CheckHostLoadId|CheckHostLoadId]]
| |
− | |}
| |
− |
| |
− | Only two sessions can be opened for this service at a time, hence no other processes can use this due to [[Process_Manager_Services|pm-module]] and [[Loader_Services|loader]] using this.
| |
| | | |
| = Archives = | | = Archives = |