From: jim@jagubox.gsfc.nasa.gov (Jim Jagielski) Newsgroups: comp.unix.aux,news.answers,comp.answers Subject: Apple A/UX FAQ List (4/4) Followup-To: comp.unix.aux Date: 6 Jan 98 17:24:44 GMT Organization: NASA Goddard Space Flight Center -- Greenbelt, Maryland USA Message-ID: <4770@jagubox.gsfc.nasa.gov> Reply-To: jim@jagubox.gsfc.nasa.gov (Jim Jagielski) Summary: Latest posting of FAQ for A/UX Keywords: FAQ A/UX X-Newsreader: NN version 6.5.1 (NOV) Archive-name: aux-faq/part4 Last-modified: Tue Jan 6 12:18:24 EST 1998 This is the Frequently Asked Question (FAQ) list for A/UX 3.x.x \\\\\\\\\\\\\\\\\\\\\\ START OF PART 4 OF 4 ////////////////////// ============================================================ D.15) What 3rd party accelerators are compatible with A/UX? ------------------------------------------------------------ For the most part, all DayStar Digital accelerators are compatible with A/UX 3.0 even if their controlling CDEVs don't work under A/UX (the accelerator must be enabled with the CDEV before booting A/UX). However, their 040 accelerators do NOT work under A/UX. In fact, except for Apple's own Quadra 700 Logic Board Upgrade, there are no 040 accelerators that work (i.e. don't crash) under A/UX. There has been at least 1 report of the DayStar-accelerated MacII not working under 3.0.2... it's possible that 3.0.2 is more sensitive to timing than 3.0 was... If in doubt, be _sure_ that you can return the accelerator if you can't run it under A/UX. According to Daystar Digital, the DayStar QuadraCache is _not_ compatible with A/UX. DayStar is working on a fix... Nonetheless, there are a number of people (including people at Apple) who are using these cache cards with no problems at all and with very nice (~25%) performance boosts. << ED: This is kinda skimpy, but I'd thought I'd start it up. EMail me your list >> ============================================================== D.16) Will the old serial HP DeskWriter work under A/UX? -------------------------------------------------------------- No, it won't... You need to use AppleTalk to use it under A/UX. ================================================ D.17) How can I use a HP DeskWriter under A/UX? ------------------------------------------------ For the answer, snag a copy of DeskWriter.txt which is available via anon- ftp on jagubox in /pub/aux/Info. ====================================== D.18) Does A/UX support 24-bit color? -------------------------------------- Yes. There is one major caveat, that will hopefully be addressed in future versions. On startup, A/UX reinitializes all hardware drivers, including the video-drivers; as a result, most accelerated 24-bit cards (all third- party cards known to date, as well as Apple's old 8*24 GC card) will be reinitialized to run in non-accelerated mode. You'll still get 24-bit video, but depending on your hardware, it may be painfully slow. This could be solved by better driver support from the vendors of accelerated video cards. Certain vendors have been promising such support for awhile now. The best hardware to run A/UX with 24-bit video enabled are currently the Quadra 700, 900, and 950, whose internal video can be populated with enough VRAM to support 24-bit color (note that the Q800 cannot do this !). Performance is considered good under A/UX by many users. The following is a list of 24-bit cards that readers have reported work with A/UX from personal experience. It is NOT a complete list; there have been no reports of cards that work under MacOS but not A/UX (excepting the caveat detailed above): Apple 8*24, 8*24GC Quadra 700, 900, 950 internal video PrecisionColor PRO 24xp RasterOps 24STV, Paintboard li Radius 24XP, 24XK ================================================= D.19) What's the specifics on the AWS95 PDS Card? ------------------------------------------------- The AWS95 PDS Card (known as "Pisces") has two main functional additions to the Q950. The first is that it includes an external level-2 cache for the Quadra's 68040. The cache size is 128K, but this can be increased with Apple provided SRAM upgrade kits. The use of a L2 cache increases the base perfor- mance of the Q950. The second capability that Pisces includes is the addition of two additional upgraded SCSI buses. Pisces fully supports Direct Memory Access (DMA) on these SCSI buses. This can greatly increase SCSI throughput by offloading SCSI operations to the PDS card. The card supports active termination and negation on the 2 SCSI DMA buses, improving signal quality and integrity. ================================================= D.20) What are the specifics of SCSI under A/UX? ------------------------------------------------- SCSI under A/UX is SCSI-1/CCS and not SCSI-2. However, A/UX can use most SCSI-2 devices. Problems will arise on some SCSI-2 disks if their Error Correction Mode Pages are incorrect (See Q&A D.04). A/UX supports SCSI connect/disconnect which results in more efficient use of the SCSI bus. Finally, A/UX provides asynchronous I/O as well. ========================================================= D.21) I can't get my LaserJet 4M to work reliably. Help! --------------------------------------------------------- Bad news... for some reason, if the LaserJet is connected _directly_ to a Q700 running A/UX via AppleTalk then it won't work. If you have a router or something similar between the two it'll work like a hose. It looks like it's most probably a 4M ROM bug and I hear that HP is "working" on a fix. ========================================================== D.22) Does the Apple Adjustable Keyboard work under A/UX? ---------------------------------------------------------- No it doesn't... This is due to the way the Adjustable keyboard actually works and the fact that A/UX doesn't fully support the ADB Manager. :( =============================================================================== D.23) How can I increase the number of inodes when creating a new file system? ------------------------------------------------------------------------------- There is a limit on the number of inodes per cylinder group (2048). Large disks (2-4GB) are setup so that each cylinder group is quite large (>5MB) so that when 'newfs' creates the file system, it hits the limit quickly and you end up with a disk with a "small" amount of inodes. The trick is to use the '-c' option to 'newfs' to make each cylinder smaller by reducing the number of cylinders per group. In many cases, 'newfs -c 8' works well. Of course, you should use this in combination with the '-i' option as well. ========================================= D.24) Can I use my Zip Drive under A/UX? ----------------------------------------- You certainly can. There are some tricks in getting it to work and be usable under the MacOS environment, but they are pretty easy. First of all, the device-files (slice31) for the Zip drive needs to be readable and writable by the person using the MacOS. If you are the sole user of the A/UX machine, then it's easy: % chown <yourname> /dev/rdsk/cXd0s31 /dev/dsk/cXd0s31 where 'X' is the SCSI ID of the Zip. If your system is multi-user, then you'll need to: % chmod 666 /dev/rdsk/cXd0s31 /dev/dsk/cXd0s31 You need to have the Zip catridge in the drive while the MacOS-A/UX environ- ment is booting for the disk to be mounted. If you will be using the Zip only as a UNIX file system, here are some hints: o Use HD SC Setup (the A/UX version) to create the Partition and file system. Don't bother with 'newfs' unless you need to alter the number of inodes created; Use the 'Generic|other' entry in /etc/disktab o You'll need to manually eject the disk when done with it and after it's 'umount'ed o DON'T eject the disk if it's still mounted !! ::::::::::::::::::::::::::::::::::: ::::: PORTING AND PROGRAMMING ::::: ::::::::::::::::::::::::::::::::::: ================================================================ P.01) How come rn|elm|less|etc... act weird concerning signals? ---------------------------------------------------------------- Well, it's not really them at all. Many people have found that more than a few ports require the addition of the 'set42sig()' call to enable BSD 4.2 signal delivery. The best place to add this is as the 1st executable statement under "main() {" Another point about porting applications: A/UX's 'cc' does provide "strict" BSD, SystemV and Posix libraries. If you are porting a BSD program, you can enable BSD "emulation" by adding the "-ZB -lbsd" options to your 'cc' command line. In fact, using just the '-lbsd' option alleviates the need for adding the 'set42sig()' call mentioned above and is, in many cases, the suggested option. Compiling with gcc also helps out a great deal. =================================== P.02) Is X11R5 available for A/UX? ----------------------------------- Not anymore :-( ===================================================================== P.03) I've noticed that FSF GNU doesn't support A/UX. Does that mean I'll miss out on all the neat Gnu-stuff like gcc? --------------------------------------------------------------------- Although it's true that FSF is "boycotting" Apple and A/UX (FSF doesn't like Apple's predisposition of suing to protect "look and feel"), ports of most Gnu applications are available. Of particular interest is gcc version 2.7.2 which has been ported by Jim Jagielski (based on previous ports by John Coolidge and is available via anon-ftp on wuarchive.wustl.edu in systems/aux/gnu. The binaries, sources and diffs are all available. GCC version 2.7.2 for A/UX has been ported and is available... Highly recommended! As a nice compliment to using GCC, gdb (4.9) is also available. %%% For more info about gcc for A/UX, please contact Jim via E-mail %%% ========================================================================== P.04) I've ported Elm (or other mail reader) and it doesn't seem to work. Why? -------------------------------------------------------------------------- It seems most likely that the reason is because they attempt to use a different file locking scheme that /bin/mail does. Pre-3.0 versions of mail used 'flock' style file locking. 3.x.x now uses the '.lock' scheme for mail file locking. Elm 2.4.X requires that both flock and .lock be enabled. Elm 2.3.X requires _only_ .lock locking. ============================================= P.05) What languages are available for A/UX? --------------------------------------------- A/UX comes with a C compiler ('cc'), a FORTRAN-77 compiler ('f77') as well as an assembler ('as'), SNOBOL ('sno') and a kinda-basic interpreter ('bs'). 'cc' is a nice, stable, if not-too-quick compiler. 'f77' is a true FORTRAN-77 compiler and appears quite workable. I've not used 'sno' (I couldn't recall how to program in SNOBOL if my life depended on it :) or 'bs'. If you are doing any work in C, then it would be well worth it to get a copy of the GNU C compiler ('gcc') (see Q&A #P.03). gcc is K&R and ANSI compatible so if you are doing ANSI work you'll need it. Apple also has an ANSI C compiler ('c89') that you can buy. It's available on the "A/UX Developer's Toolkit CD" from APDA. There is also at least one other 3rd-party C compiler out there, but I can't recall it's name right now. gcc is free; c89 runs about $800. Both include C++ capabilities. There are also 2 very good 3rd-party FORTRAN compilers: NKR FORTRAN and Absoft MacFORTRAN II. In my opinion, MacFORTRAN II is the better product... it has finer compiler control, a wide number of compatibility options (such as VAX FORTRAN) and excellent speed. If you do order MFII, be _sure_ to get the A/UX version. They also sell an MPW version that will work under A/UX but it's run under, you guessed it, MPW. The A/UX version is a true "Unix" compiler and it's optimized for A/UX. Both MFII and NKR FORTRAN run about $500-$600. Oasys sells 3 compiler packages: C, C++ and FORTRAN. All the compilers are based on the GreenHills compilers which are known to be robust and fast. However, the Oasys packages are expensive, running about $2000 per language (although you do get assemblers and linker/loaders with the package). Unisoft used to distribute their "Optimizing Compilers" (FORTRAN and C) for A/UX, but they are no longer available... Pity, because they also were based on GreenHills and were quite nice. At present, I know of no true Pascal compilers for A/UX. Finally, if you are doing program development, then you'll need a good debugger. As described above in "List of ports...", gdb has been ported if you would prefer using something other than sdb or dbx, which are included with A/UX. If you are using FORTRAN, then Absoft also makes an excellent debugger which has been fine-tuned to work with MFII (it also does quite well with C); it's called FX. It has two interfaces, character and Motif, and is quite powerful. ======================================= P.06) Is OSF/Motif available for A/UX? --------------------------------------- The only source for OSF/Motif (1.1.4) for A/UX that I know of is: Integrated Computer Solutions 201 Broadway Cambridge, MA 02139 617-547-0510 However, they have stopped producing this and have since stopped support for A/UX OSF/Motif. They may still have a few copies of it available, so if you don't mind using unsupported software, give them a call. If you have, or can get, the actual source code for Motif then the following will be of some help: 1.1.4 compiles with minimal changes to the source using 'cc' and works "great." However, the source for 1.2.2 makes calls to various XIM multi-character routines, leaving many unresolved externals when linking. Now, if someone ported X11R5 and left the XIM routines intact, then maybe compiling and linking 1.2.2 would go off without a hitch... Any takers?? ============================================================= P.07) While trying to port some software, the Makefile looks for a program called 'ranlib' and dies when it can't find it. What is it and where can I get it. ------------------------------------------------------------- 'ranlib' is a program that increases the efficiency of accessing and using archives (*.a files). A/UX's 'ar' already does this, so it isn't needed. To get around this, do something like: ln /bin/true /bin/ranlib You could also use '/bin/touch' but the above will (hopefully) take care of cases when ranlib is called with options. If you want to put 'ranlib' somewhere else, then that's OK. If the location is a different file system, then you'll need to use a symbolic link: ln -s /bin/true /usr2/local/bin/ranlib ============================================================ P.08) When compiling, I get the message that 'setlocale' is an "undefined symbol"... what's going on? ------------------------------------------------------------ The 'locale' suite can be found in /lib/libposix.a. To avoid linking to libposix.a you can do the following to create a separate locale library: $ ar xv /lib/libposix.a locale.o $ ar rv /usr/lib/liblocale.a locale.o Now you can simply link to '-llocale' to add it in. A better fix would be to grab and use libUTIL, a collection of useful and needed functions for any serious porting effort (see Hints&WOW, above). libUTIL is maintained by Jim Jagielski and can be found on jagubox. ========================================= P.09) How in the world do I use nlist()? ----------------------------------------- The nlist structure used by nlist() is a very weird beast. The structure itself contains a union, which can cause problems with automatic initialization of nlist. In particular, there are specific times when you need to use "n_name" and other times when you must use "n_nptr". Here's the deal: o If the variable name is less than 8 characters in length (as defined by strlen()), then the NULL-terminated string should be copied into 'n_name'. EG: var = "timbuf"; strcpy(nl.n_name, var); o If the variable name is exactly 8 characters in length, _only_ those 8 characters should be copied into the 'n_name' field; The '/0' character should _NOT_ be copied as well. EG: var = "longlook"; strncpy(nl.n_name, var, 8); o If the variable name is greater than 8 characters in length, 'n_ptr' should be set to the pointer to that string and 'n_zeroes' be set to 0. EG: var = "clock_offset"; nl.n_ptr = var; ::::::::::::::::::::::::: ::::: COMMUNICATION ::::: ::::::::::::::::::::::::: =========================================================================== C.01) I'm unable to start a getty process on a built-in serial port. When I use 'setport' to enable the port, I get a "no such device" error. Configuring /etc/inittab to respawn getty on the port has no effect. --------------------------------------------------------------------------- AppleTalk is probably enabled for the port. The getty process can be started temporarily by turning off AppleTalk via A/UX's Finder Chooser and THEN using the 'setport' command. You can permanently disable AppleTalk by reconfiguring the kernel with "newconfig noappletalk". If you wish to keep the drivers installed in the kernel but still want to "permanently" disable AppleTalk, you can edit /etc/startup to prevent AppleTalk from initializing and /etc/inittab can be editted to start getty. (NOTE: /etc/startup is regenerated by newconfig so you'll have to redo this if you reconfigure the kernel). If you don't have an EtherTalk card installed, then you can also modify /etc/appletalkrc to point to "ethertalk0" instead of "localtalk0". Doing this stops AppleTalk from bothering the serial port because it tries to use the non-existant card. ============================================================================= C.02) I am using and depending on /etc/hosts to do all my hostname resolving (i.e. not using named or /etc/resolv.conf). How come I can't mail to other hosts, but I can ping|ftp|etc... them? ----------------------------------------------------------------------------- Well, the problem is actually with sendmail (in /usr/lib). sendmail (under A/UX 2.0 and later) assumes the use of a nameserver. Pre-2.0 versions were "adjusted" to look in /etc/hosts if any nameserver call failed (which it would if it wasn't running, of course :). Jim Jagielski (jim@jagubox.gsfc.nasa.gov) has hacked sendmail 5.65 for A/UX to have it also check /etc/hosts. The source code is available on jagubox. You may also want to upgrade to smail 3.1.28. smail is a very powerful yet easy to configure (and maintain) replacement for sendmail. It can both query the NameServer as well as look in /etc/hosts to "interpret" hostnames. The required A/UX-related diffs and patches, which were written by Bob Denny (denny@alisa.com) are available on jagubox. %%% For more info, contact Jim %%% ======================================================================== C.03) When I try to mail something, I get the following error message: "Cannot read frozen config file: not a typewriter". What's wrong? ------------------------------------------------------------------------ This message is produced by sendmail (/usr/lib/sendmail) when it's frozen configuration file (/usr/lib/sendmail.fc) is unusable (as it is in the A/UX distribution which has it as a 0-byte file). To create a "new" frozen file of your present sendmail.cf file (assuming that it's good), type: $ /usr/lib/sendmail -bz (the sendmail daemon, if it exists, must be killed 1st). ========================================================================== C.04) How do I set up my Mac and A/UX to enable remote logins via a modem on tty0? -------------------------------------------------------------------------- First of all, you must edit /etc/inittab to start getty on tty0 using mo_2400 (or whatever speed you want, such as mo_9600): 00:2:respawn:/etc/getty -u -t 60 tty0 mo_2400 Make sure that your modem is set to be quiet, to not return result codes and to not echo back. It must also reset on DTR being dropped ("atq1e0&d3" will achieve this for most Hayes-compatible modems except certain (all) USR modems). Your modem must also raise DCD on connection ("at&c1") in order to have Dialup security (i.e. when the line is closed, HangUp the process. This means that MODEM flow control must be specified in gettydefs). You then save these changes using the "at&w" sequence. Finally, to make it autoanswer, be sure to add "ats0=1&w". Make sure that the modem cable is correctly configured (NOTE: This is for Dialup Security!): Mac Modem -------------------- 1 (HskO) 20 (DTR) 4 (RTS) <- yep... it gets sent to Pin 20 & 4 2 (HskI) 8 (DCD) 3 (TxD-) 2 (TxD) 4 (GDN) 7 (Sgnd) 5 (RxD-) 3 (RxD) 6 NO CONNECT 7 NO CONNECT 8 (RxD+) 7 (Sgnd) <- this is right, it gets tied to Mac pin 4 too. If you mess up pin 8 things can get so flaky that you'll never figure out what's going on. You see, by grounding pin 8, you make the modem port truly RS-232 compatible. If not grounded, the port will use the RS-422 standard, which can cause lots of problems. For more info about pinouts and cable pinouts, check out "/usr/lib/uucp/README". Please note that getty is the bidirectional version of getty, which is sometimes known as uugetty. Thus, you can have dial in and dial out at the same time on the same port. You should be using at least version 1.16 of HDB (see above: "known bugs" and Q&A #A.16) As mentioned above, the cable described provides for Dialup Security and prevents the use of hardware flow control... If, however, the exact same baudrate is used throughout the phone link, the need for hardware flow control is greatly reduced. ======================================================================== C.05) How come I can't use 'talk' with some of the other Unix boxes out there, and they can't talk to me? ------------------------------------------------------------------------ The reason why is because there are two versions of talk (and it's daemon talkd) out there. A/UX uses the BSD 4.2 version. Others use the 4.3 version. The two aren't compatible and don't even talk on the same port. If you try to talk to someone and all you get is a "Checking for invitation..." message then it's because the machine you're trying to access is using 4.3. Steve Green (xrsbg@dirac.gsfc.nasa.gov) has ported the 4.3 versions of talk and talkd (now renamed ntalk and ntalkd for A/UX) to overcome this snag. You can have both versions available and running with no problems. The port is available on jagubox.gsfc.nasa.gov. ===================================================== C.06) How can I convince A/UX to forward IP packets? ----------------------------------------------------- You will need to use 'adb' to adjust the A/UX kernel to enable IP forwarding. This is done by changing the value of the 'ipforwarding' "variable" from 0 (no forwarding) to 1 (enable forwarding). As root, and in single-user mode, apply this patch: # Enable fowarding: just the kernel adb -w -k /unix << Foo ipforwarding?D ipforwarding?W 1 $w $q Foo And reboot. You'll need to redo this whenever the kernel is rebuilt (like via 'newunix') unless you apply the patch to /etc/install.d/boot.d/bnet as follows: # Enable fowarding: keep it that way adb -w /etc/install.d/boot.d/bnet << Foo ipforwarding?D ipforwarding?W 1 $w $q Foo ================================= C.07) Is PPP available for A/UX? --------------------------------- Unfortunately, I know of no port of PPP for A/UX :( ================================================ C.08) How can I change the MTU value for CSlip? ------------------------------------------------ You will need to use 'adb' to adjust either the kernel or the CSlip driver to change this value (slip_mtu). As root, and in single-user mode, apply this patch (please replace $THE_VALUE with the actual HEX value you want MTU to be): # Change SLIP MTU value to $THE_VALUE: just the kernel adb -w -k /unix << Foo slip_mtu?d slip_mtu?w $THE_VALUE $w $q Foo And reboot. You'll need to redo this whenever the kernel is rebuilt (like via 'newunix') unless you apply the patch to /etc/install.d/boot.d/cslip as follows: # Change SLIP MTU value to $THE_VALUE: keep it that way adb -w /etc/install.d/boot.d/cslip << Foo slip_mtu?d slip_mtu?w $THE_VALUE $w $q Foo Now run 'newconfig -v' and reboot. ================================================================== C.09) I'm having trouble having Solaris 2.4 NFS clients access my NFS server! ------------------------------------------------------------------ On your Solaris client, you need to add the 'rsize=1024 wsize=1024' parameters to your mount option. ==================================================================== C.10) I'm running a busy web-server and clients are getting lots of 'Connection Refused' messages... Why? -------------------------------------------------------------------- This may be due, most probably, by the small size of A/UX's listen() backlog queue. This queue is basically the number of pending connections listen will allow. Under A/UX, this value (known as SOMAXCONN) is a measly 5. Since Netscape, for example, send 4 connection-requests per connect, you can see how you would over-reach the queue quickly if your server is busy. Jim Jagielski (jim@jaguNET.com) has written a small shell-script that uses 'adb' to patch the kernel 'bnet' module to increase the queue limit from 5 to 32. It's available on jagubox.gsfc.nasa.gov in /pub/aux/Sys_stuff :::::::::::::::::::::::::::: ::::: ERRORS EXPLAINED ::::: :::::::::::::::::::::::::::: ============================================================================ E.01) How do I keep command lines that I edit with "backspace" from erasing the prompt? ---------------------------------------------------------------------------- This behavior is due to the tty driver under A/UX. The BSD tty driver (which A/UX doesn't use) handles this, whereas the SysV driver doesn't. If you are running 'ksh' then you can "set -o viraw" to prevent this from happening. As far as I know, there are no work-arounds for 'sh' or 'csh'. ('tcsh' and 'bash' do not suffer from this problem... ) ========================================================================== E.02) Whenever I try to run xinit (or startx) from the CommandShell I get a fatal server error. Why? -------------------------------------------------------------------------- The reason why is because both X and the CommandShell want _complete_ control over your Mac (display, keyboard and mouse). So, when you try to start one while running the other, you'll get into trouble. You need to start X either from the Console Emulator Mode or by choosing it as your "session type" from the Login screen (This session type will be available only if your installed Apple's X). ==================================================================== E.03) I keep on getting the following error message on the Console: "fcntl: local lock manager not registered". What's going on? -------------------------------------------------------------------- This is printed out whenever your kernel is configured for NFS and a file- lock is attempted (as when sending Email) but the NFS lock daemon (rpc.lockd) isn't running. This is most probably due to the fact that it wasn't started in /etc/inittab. The fix is simple: enable rpc.lockd (and it's companion rpc.statd) in /etc/inittab as follows: nfs5:2:wait:/etc/rpc.statd # set to "wait" for NFS status monitor nfs6:2:once:/etc/rpc.lockd # set to "once" for NFS lock manager and either Restart A/UX or simply type 'init q'. =============================================================== E.04) When I try to startup 'xterm', I get the following error message: "xterm: no available ptys"... What gives? --------------------------------------------------------------- There are three possible solutions: 1. Make sure that there are ptys configured into the kernel... Use 'kconfig' to check that NPTY is non-0 2. For at least one user, copying the /usr/lib/X11/xterm*.tic files to /usr/lib/terminfo/x/xterm(s) worked... 3. One final possible solution is to start 'xterm' from 'sh'. ======================================================================== E.05) 'ps' and 'pstat' only seem to work for root. If anyone else tries these commands, they get a "no mem" error message. What's wrong? ------------------------------------------------------------------------- Both these commands require read access to /dev/kmem, which is not allowed for regular users. Thus, the programs require that they be suid or sgid to the user or group that can read /dev/kmem. See if this is true and fix if not. ////////////////////// END OF PART 4 OF 4 \\\\\\\\\\\\\\\\\\\\\\ ===================================== **** Author's/Editor's Signature **** ------------------------------------- -- #include <std/disclaimer.h> | Jim Jagielski | jim@jagubox.gsfc.nasa.gov | V: 301 286-5964 | | NASA/GSFC, Code 734.4 | Greenbelt, MD 20771 | F: 301 286-1737 | << "Suspicion is the sure sign of a little mind" >>
Send corrections/additions to the FAQ Maintainer:
Last Update August 04 2001 @ 00:07 AM