--- a
+++ b/contrib/sb-bsd-sockets/FAQ
@@ -0,0 +1,47 @@
+Frequently Asked Questions
+Q1) Is this the same thing as db-sockets
+A1) Basically, yes.  It's hoped that bundling it as a contrib may make
+it easier for people to install.
+Q2) What are these test things?  How do I run the tests?
+A2) Some of the tests get run automatically when the package is built
+- if the tests fail, the package is not installed.  The rest of the
+tests depend on having Internet access which may not always be the
+case on a build machine, but you can run them by hand from the Lisp
+listener, if you want to:
+* (rt:do-tests)
+This uses the regression tester from the CMU AI repository to run the
+tests defined in tests.lisp.  You should not get any test failures,
+unless -
+a) your "echo" services are disabled in inetd.conf -
+SIMPLE-TCP-CLIENT and SIMPLE-UDP-CLIENT both attempt to connect to the
+echo port.
+b) you're not on the internet - SIMPLE-HTTP-CLIENT attempts to connect to
+ww.telent.net, and other tests do DNS lookups for well-known hosts
+c) a.root-servers.net has moved IP address
+Q3) What's constants.lisp-temp?
+A3) Many of the structure offsets and symbolic constants vary between
+architectures and operating systems.  To avoid a maintenance
+nightmare, we derive them automatically by creating and running a
+small C program.  The C program is created by def-to-lisp.lisp
+with input from constants.lisp
+Some of the exciting stuff in bsd-sockets.asd writes a C program in
+/tmp, compiles it, and runs it.  The output from this program becomes
+Q4) Is this compatible with ACL?  With CMUCL's internet.lisp?
+A4) No.  This is a sufficiently low-level interface that either could
+be built on top of it, though.  Actually, theq ACL-COMPAT library that
+comes with Portable Allegroserve may already have this.