extending 1003.1 to include sym links
Moderator, John S. Quarterman
std-unix at longway.TIC.COM
Wed Mar 21 17:03:49 AEST 1990
From: Clive Feather <uunet!relay.EU.net!ixi!clive>
In article <580 at longway.TIC.COM> std-unix at uunet.uu.net writes:
> The posix 1003.1 standard has cleverly evaded naming of bits
> in the mode field of the stat structure. it does this by
> defining tests (like S_ISDIR(mode) rather than (mode&S_IFMT)==S_IFDIR).
> the question is, how do people deal with sym links? I simply
> added a S_ISLNK macro but would prefer to go with the flow
> if there is one.
There is a set of changes to the standard being proposed under the title
1003.1b (the copy I have is draft 0.1, May 19, 1989). This adds the test macro
S_ISLNK(m), and the function lstat(). stat() and lstat() differ only in that
stat() never returns information about a symbolic link, whereas lstat() does.
Because you cannot open a symbolic link, fstat() is like stat() here.
The draft defines two new functions:
int readlink (char *path, char *buf, int buf_size);
int symlink (char *target_path, char *symlink_path);
The functions that operate on links rather than the file pointed to are:
lstat() readlink() rename() remove() rmdir() symlink() unlink()
The effects of the following functions form an open issue:
chown() chmod() link() utime()
--
Clive D.W. Feather | IXI Limited | +44 223 462 131 (v)
clive at ixi.co.uk | 62-74 Burleigh Street | +44 224 462 132 (fax)
...!uunet!ixi!clive | Cambridge U.K. |-----------------------------
| CB1 1OJ | Silly quote being thought up
Volume-Number: Volume 19, Number 17
More information about the Comp.std.unix
mailing list