[Overview][Constants][Types][Procedures and functions][Index] |
Create a symbolic link
Source position: bunxh.inc line 97
function fpSymlink( |
oldname: PChar; |
newname: PChar |
):cint; |
SymLink makes NewName point to the file in OldName, which doesn't necessarily exist. The two files DO NOT have the same inode number. This is known as a 'soft' link.
The permissions of the link are irrelevant, as they are not used when following the link. Ownership of the file is only checked in case of removal or renaming of the link.
The function returns zero if the call was succesful, a nonzero value if the call failed.
Extended error information is returned by the FpGetErrno function.
|
Create a hard link to a file |
|
|
Unlink (i.e. remove) a file. |
|
|
Read destination of symbolic link |
Program Example22; { Program to demonstrate the SymLink and UnLink functions. } Uses baseunix,Unix; 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 fpSymLink ('test.txt','new.txt')<>0 then writeln ('Error when symlinking !'); { Removing test.txt still leaves new.txt Pointing now to a non-existent file ! } If fpUnlink ('test.txt')<>0 then Writeln ('Error when unlinking !'); Assign (f,'new.txt'); { This should fail, since the symbolic link points to a non-existent file! } {$i-} Reset (F); {$i+} If IOResult=0 then Writeln ('This shouldn''t happen'); { Now remove new.txt also } If fpUnlink ('new.txt')<>0 then Writeln ('Error when unlinking !'); end.
lazarus-ccr.sourceforge.net |