Next: LocalToEpoch
Up: Functions and procedures
Previous: LStat
Function Link (OldPath,NewPath : pathstr) : Boolean;
Link makes NewPath point to the same file als OldPath. The two files
then have the same inode number. This is known as a 'hard' link.
The function returns True if the call was succesfull, False if the call
failed.
Errors are returned in LinuxError.
- sys_exdev
- OldPath and NewPath are not on the same
filesystem.
- sys_eperm
- The filesystem containing oldpath and newpath doesn't
support linking files.
- sys_eaccess
- Write access for the directory containing Newpath
is disallowed, or one of the directories in OldPath or NewPath has no
search (=execute) permission.
- sys_enoent
- A directory entry in OldPath or NewPath does
not exist or is a symbolic link pointing to a non-existent directory.
- sys_enotdir
- A directory entry in OldPath or NewPath is
nor a directory.
- sys_enomem
- Insufficient kernel memory.
- sys_erofs
- The files are on a read-only filesystem.
- sys_eexist
- NewPath already exists.
- sys_emlink
- OldPath has reached maximal link count.
- sys_eloop
- OldPath or NewPath has a reference to a circular
symbolic link, i.e. a symbolic link, whose expansion points to itself.
- sys_enospc
- The device containing NewPath has no room for anothe
entry.
- sys_eperm
- OldPath points to . or .. of a directory.
SymLink, UnLink, Link (2)
- Example
-
Program Example21;
{ Program to demonstrate the Link and UnLink functions. }
Uses linux;
Var F : Text;
S : String;
begin
Assign (F,'test.txt');
Rewrite (F);
Writeln (F,'This is written to test.txt');
Close(f);
{ new.txt and test.txt are now the same file }
if not Link ('test.txt','new.txt') then
writeln ('Error when linking !');
{ Removing test.txt still leaves new.txt }
If not Unlink ('test.txt') then
Writeln ('Error when unlinking !');
Assign (f,'new.txt');
Reset (F);
While not EOF(f) do
begin
Readln(F,S);
Writeln ('> ',s);
end;
Close (f);
{ Remove new.txt also }
If not Unlink ('new.txt') then
Writeln ('Error when unlinking !');
end.
Michael Van Canneyt
Thu Sep 10 13:59:33 CEST 1998