Path: utzoo!utgpu!watserv1!watmath!att!linac!pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!usc!cs.utexas.edu!helios!bcm!dimacs.rutgers.edu!seismo!uunet!auspex!guy From: guy@auspex.auspex.com (Guy Harris) Newsgroups: comp.sys.m88k Subject: Re: ABI vs Apple Toolbox Keywords: ABI, 88K, Macintosh Message-ID: <4585@auspex.auspex.com> Date: 29 Nov 90 18:53:59 GMT References: <43399@mips.mips.COM> <14099@mcdphx.phx.mcd.mot.com> Organization: Auspex Systems, Santa Clara Lines: 29 >The 88open ABI, a.k.a. BCS, I thought BCSes were S5R3.x-based, and specified the system interface in terms of "system calls", i.e. traps to the kernel, while ABI's were S5R4-based, and specified the system interface in terms of procedure calls to a dynamically-linked shared library - in other words, while a BCS, in effect, says "the way you get the password database entry for a user is that you do an 'open' call on '/etc/passwd', which is a file in thus-and-such a format, and scan it for a line with that user's login name", an ABI says "the way you get the password database entry for a user is that you call 'getpwnam()' with the user's login name as an argument". (In other words, one ABI-conformant system could implement "getpwnam()" by scanning "/etc/passwd", another could implement it with a BSD-style "ndbm" database, another could use the ONC NIS (formerly known as YP), another could use the NCS Registry, and another could use Project Athena's Hesiod, and any ABI-conformant application would, when run on any of those systems, use whatever implementation that system provided. A BCS-compliant application, however, would have its access method for the password file linked into the executable, and would always try to use the mechanism provided by the system on which it was linked, even if that was inappropriate for the system on which it's being run or unavailable on that system.) At least that's what the 88K ABI document seemed to say when I read it (I forget whether the 88K BCS specified system calls or procedure calls to an S5R3-flavored shared library)....