83 lines
1.9 KiB
Plaintext
83 lines
1.9 KiB
Plaintext
local record lfs
|
|
|
|
enum FileMode
|
|
"file"
|
|
"directory"
|
|
"link"
|
|
"socket"
|
|
"named pipe"
|
|
"char device"
|
|
"block device"
|
|
"other"
|
|
end
|
|
|
|
record Attributes
|
|
dev: number
|
|
ino: number
|
|
mode: FileMode
|
|
nlink: number
|
|
uid: number
|
|
gid: number
|
|
rdev: number
|
|
access: number
|
|
modification: number
|
|
change: number
|
|
size: number
|
|
permissions: string
|
|
blocks: number
|
|
blksize: number
|
|
end
|
|
|
|
enum OpenFileMode
|
|
"binary"
|
|
"text"
|
|
end
|
|
|
|
enum LockMode
|
|
"r"
|
|
"w"
|
|
end
|
|
|
|
record Lock
|
|
free: function()
|
|
end
|
|
|
|
dir: function(string): function(): string
|
|
|
|
chdir: function(string): boolean, string
|
|
|
|
lock_dir: function(string, number): Lock, string
|
|
|
|
-- returns number on success, really!? this should be fixed in the lfs library
|
|
link: function(string, string, boolean): number, string
|
|
|
|
mkdir: function(string): boolean, string
|
|
|
|
rmdir: function(string): boolean, string
|
|
|
|
setmode: function(string, OpenFileMode): boolean, string
|
|
|
|
currentdir: function(): string
|
|
|
|
attributes: function(string): Attributes
|
|
attributes: function(string, string): string
|
|
attributes: function(string, string): number
|
|
attributes: function(string, string): FileMode
|
|
attributes: function(string, Attributes): Attributes
|
|
|
|
symlinkattributes: function(string): Attributes
|
|
symlinkattributes: function(string, string): string
|
|
symlinkattributes: function(string, string): number
|
|
symlinkattributes: function(string, string): FileMode
|
|
symlinkattributes: function(string, Attributes): Attributes
|
|
|
|
touch: function(string, number, number): boolean, string
|
|
|
|
-- TODO: FILE needs to be renamed to io.FILE in tl itself
|
|
lock: function(FILE, LockMode, number, number): boolean, string
|
|
unlock: function(FILE, number, number): boolean, string
|
|
|
|
end
|
|
|
|
return lfs
|