LINK
LINK(struct evAccept) link;
FILLOP(link, LINK);
GETSYSCALL(rump, LINK), GETSYSCALL(host, LINK));
GETSYSCALL(rump, LINK), GETSYSCALL(host, LINK));
{ DUALCALL_LINK, "link", RSYS_NAME(LINK) },
type |= LINK;
lookuptype = LINK;
if (lookuptype == LINK) {
if (lookuptype == LINK) {
ep = addentry(name, ino, type|LINK);
if (lookuptype == LINK) {
ep = addentry(name, ino, type|LINK);
if (type == LEAF && lookuptype != LINK)
np->e_type = type & ~LINK;
if (type & LINK) {
CHECKOP_NOTSUPP(LINK);
ATF_REQUIRE(symlink(FILE, LINK) == 0); /* NB: FILE does not exists */
ATF_REQUIRE(symlink(FILE, LINK) == 0);
ATF_REQUIRE(lstat(LINK, &st) == 0);
ATF_REQUIRE(symlink(FILE, LINK) == 0); /* Target does not exists */
ATF_REQUIRE(lstat(LINK, &st) == 0);
ATF_REQUIRE(symlink(FILE, LINK) == 0); /* target does not exists */
ATF_REQUIRE(symlink(RELFILE, LINK) == 0);
ATF_REQUIRE(lstat(LINK, &ost) == 0);
ATF_REQUIRE(symlink(RELFILE, LINK) == 0);
ATF_REQUIRE(lstat(LINK, &ost) == 0);
ATF_REQUIRE(readlinkat(AT_FDCWD, LINK, buf, sizeof(buf)) == -1);
ATF_REQUIRE(symlink(FILE, LINK) == 0);
ATF_REQUIRE(readlinkat(-1, LINK, buf, sizeof(buf)) == -1);
ATF_REQUIRE(symlink(FILE, LINK) == 0);
ATF_REQUIRE(symlink(FILE, LINK) == 0);
len = readlinkat(AT_FDCWD, LINK, buf, sizeof(buf)-1);
ATF_REQUIRE(symlinkat(FILEERR, AT_FDCWD, LINK) == 0);
ATF_REQUIRE(lstat(LINK, &st) == 0);
ATF_REQUIRE(stat(LINK, &st) == -1);
ATF_REQUIRE(symlinkat(RELFILE, -1, LINK) == -1);
ATF_REQUIRE(stat(LINK, &nst) == 0);
ATF_REQUIRE(symlinkat(RELFILE, AT_FDCWD, LINK) == 0);
ATF_REQUIRE(stat(LINK, &nst) == 0);
RL(symlink(FILE, LINK)); /* NB: FILE does not exists */
RL(lstat(LINK, &st));