Home
main
Restricted
restrict!
SystemOperation
PathPermission
PathAccess
Stderr
print!
println!
Stdin
lines!
Stdout
print!
println!
Restricted
.
restrict!
:
List
(
SystemOperation
),
List
(
SystemOperation
),
List
(
PathAccess
)
=>
Try
({ }, [
RestrictErr
(
Str
), ..])
Restricted
.
SystemOperation
: [
StdinStdoutStderrAndBasicFunctionality
,
ReadFromFilesystem
,
WriteToFilesystem
,
CreateAndRemoveOnFilesystem
,
SpecialCreateAndRemoveOnFilesystem
,
Networking
,
NetworkingMulticast
,
FileAttributeModifiaction
,
ChangeFileOwnership
,
FileLocking
,
Unix
,
DNS
,
GetPassword
,
SendFileDescriptors
,
ReceivingFileDescriptors
,
TapeDrives
,
TTY
,
ProcessRelation
,
Execute
,
ProtectionExecute
,
SetTime
,
Processes
,
VirtualMemoryInfo
,
ChangeRightsOfAProcess
,
PacketFiltering
,
InspectionRoutingTable
,
ChangeRoutingTable
,
Audio
,
Video
,
BerkeleyPacketFiltering
,
Error
]
Restricted
.
PathPermission
: [
Read
,
Write
,
Execute
,
CreateAndRemove
]
Restricted
.
PathAccess
: { path :
Str
, permissions :
List
(
PathPermission
) }
Stderr
.
print!
:
Str
=>
Try
({ }, [
StderrErr
(
Str
), ..])
Stderr
.
println!
:
Str
=>
Try
({ }, [
StderrErr
(
Str
), ..])
Stdin
.
lines!
: ()
=>
Try
(
List
(
Str
), [
StdinErr
(
Str
), ..])
Stdout
.
print!
:
Str
=>
Try
({ }, [
StdoutErr
(
Str
), ..])
Stdout
.
println!
:
Str
=>
Try
({ }, [
StdoutErr
(
Str
), ..])