Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!husc6!think!ames!ucbcad!ucbvax!mit-kermit.UUCP!krowitz From: krowitz@mit-kermit.UUCP (David Krowitz) Newsgroups: comp.sys.apollo Subject: procedural interfaces Message-ID: <8706242145.AA09122@EDDIE.MIT.EDU> Date: Wed, 24-Jun-87 17:16:53 EDT Article-I.D.: EDDIE.8706242145.AA09122 Posted: Wed Jun 24 17:16:53 1987 Date-Received: Fri, 26-Jun-87 06:57:53 EDT Sender: uucp@ucbvax.BERKELEY.EDU Distribution: world Organization: The ARPA Internet Lines: 26 The reason that the procedural interfaces that people have been complaining about are missing from the system is that not enough people have written UCRs demanding that Apollo release the system calls. The same hold true for BSD 4.2, if enough people complained to Berkley they might do something about the fact that many programs which do useful things must go mucking around in /dev/kmem. I have some procedures which do the things that A. Petrilli complains about, but they do so by invoking LCNODE, LUSR, NETSTAT and the like and parsing the output. This suffers from the same problem as /dev/kmem -- mainly anytime the format of the output of these programs changes (or the internal structure of /dev/kmem is updated), the programs which rely upon this method break badly! A 'clean' system call is always preferable to messing around in a data structure -- it gives the systems programmer a stable interface to the OS while at the same time allowing the OS/kernal programmers to make changes that aren't going to come back to haunt them forevermore. In short, if you want it and it ain't there, write the UCR! If you can't figure out what all of the fields are for, then leave 'em blank -- that's what I do and Apollo hasn't complained about it yet. -- David Krowitz mit-erl!mit-kermit!krowitz@eddie.mit.edu mit-erl!mit-kermit!krowitz@mit-eddie.arpa krowitz@mit-mc.arpa (in order of decreasing preference)