Filesystem services: Difference between revisions

Neobrain (talk | contribs)
m neither a service.
Neobrain (talk | contribs)
Restructuring
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 =