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 =