at the time afs was written it wasnt a mistake. syscall was the only
(easy) way into the kernel from user space. adding multiple syscalls
would have just been completely painful. as for examples, pioctl() --
the user space of the afs syscall -- is a bit like syssgi() i am afraid:
venus/fs.c: code = pioctl(0, VIOC_GETCELLSTATUS, &blob, 1);
venus/fs.c: code = pioctl(0, VIOC_SETRXKCRYPT, &blob, 1);
vlserver/sascnvldb.c: code = pioctl(ti->data, VIOCGETVOLSTAT, &blob, 1);
auth/ktc_nt.c: code = pioctl(0, VIOCNEWGETTOK, &iob, 0);
auth/ktc_nt.c: code = pioctl(0, VIOCDELTOK, &iob, 0);
package/package.c: code = pioctl(0, VIOC_AFS_SYSNAME, &data, 1);
venus/up.c: code = pioctl(file1, _VICEIOCTL(2), &blob, 1);
in reality, very few things other than afs are going to want to use
the afs syscall (arla might be a possible user).
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/