From oznet.demon.co.uk!news.demon.co.uk!dispatch.news.demon.net!demon!tank.news.pipex.net!pipex!news.mathworks.com!news.kei.com!simtel!harbinger.cc.monash.edu.au!bunyip.cc.uq.oz.au!nanguo!earth Sun Sep 3 12:01:28 1995 Newsgroups: comp.os.coherent Path: oznet.demon.co.uk!news.demon.co.uk!dispatch.news.demon.net!demon!tank.news.pipex.net!pipex!news.mathworks.com!news.kei.com!simtel!harbinger.cc.monash.edu.au!bunyip.cc.uq.oz.au!nanguo!earth From: earth@nanguo.chalmers.com.au (Robert Chalmers) Subject: Coherent FAQ. V4.2.10. Last-Modified: Tue Jun 6 21:02:53 1995 EST Reply-To: robert%chalmers.com.au@bunyip.cc.uq.oz.au Archive-Name: coh-faq/ver42.10 Organization: China House. Date: Sat, 2 Sep 1995 12:33:54 GMT Approved: none Message-ID: Lines: 2087 Version: 4 This is a Frequently Asked Questions posting for comp.os.coherent, with answers about the COHERENT operating system, V4.2.10 exclusively. Some general notes: No new activity. No contributions in over 18 months. When used alone, the word "Coherent" is used to mean any of the versions that may have been released. Unless otherwise specified, these answers refer to COHERENT.4.2.10, which is the latest release available. Many people have contributed to this list, directly or indirectly. In some cases, an answer has been adapted from one or more postings on the comp.os.coherent newsgroup. Our thanks to all of those who post answers. The name (or names) at the end of an entry indicate that the information was taken from postings by those individuals; the text may have been edited for this FAQ. These citations are only given to acknowledge the contribution. The Mark Williams Company is no longer trading. There will be no further releases of Coherent. C O H E R N T V E R S I O N 4.2.10 S P E C I F I C S ======================================================= A Description of Amazing and Wonderous attributes concerning the World Famous digital Human Effort enhansing Device, lately called Coherent Version 4.1.10. Table of Contents. ------------ Introduction -------------- ============================= A1. Those perennial problems with COM ports. A2. Hardware & Configs, IRQ, IQ and ........ A3. Compiling tips......VI options.......... A4. UUCP, and Taylor 1.05................... A5. X11R5................................... A6. TCP/IP. SLIP & Ethernet................. ---------------------------------------- Electronic Mail, and News Handling ================================== A7 cnews........... abcd goldfish, mno goldfish, sar, osicm. A8 smail.3......... smail damit, smail for the camera. A9 tin............. tin, for being rin ......... A10 elm............. street, for having nightmares on A11 usenet.......... or fishing line, I still can't catch 'em. A12 The Commercial Sector. Sell your goodies worldwide. ( contact us, the fees are outrageous but we smile a lot ) ======================================== Introduction -------------- Who We are. As if you didn't know! ============================== Queensland ============================== right On the Great Barrier Reef. Site name -----> chalmers.com.au Organisation --> CSTPL (Commercial Software Training Pty Ltd) Location ------> Brisbane, Mackay Dialins -------> 3 * V32bis/V.42bis. Charges -------> $2.44Mb Metropolitan, $2.95Mb Regional, plus costs. Machine -------> Unix. 486 Link ----------> Shell, UUCP, (SL)IP Features ------> AARNet VAR. Domain registration, International MX, UUCP, SLIP, Router, Shell. How -----------> By email, F:079424032 P:079524395 FC:1800067722 Contact -------> Robert Chalmers. ------------------- CSTPL ---------------------- chalmers.com.au Commerical Software Training Pty Ltd is an AARNet Value Added Reseller, and is thus able to connect others to the network. This includes full domain registration assistance and MX record handling. chalmers.com.au is extending its operations and research into Queensland as well as seeking to provide network feeds to developing countries. The special area of interest is Asia, with on going research in China, and connections to Pakistan. The Queensland project is enabling Cairns, Mt Isa, Townsville, Mackay and Rockhampton to be connected to the Brisbane server via DDS, providing internet access for users, with servers in all cities. All options will be available to users as a local call. The time frame for completion of all links is early 1995. CSTPL is heavily involved in Applied Communications research. We attempt to establish useable communications between international sites and the Internet. Also covering Queensland, this research is based on all available technologies, including portable satellite ground stations. We try to keep the technical aspects to the bare minimum for users, and the costs reflect our committment to on going research. Email -----> PSTN ------> F:079424032 P:079524395 FC:1800067722 Contact ---> Robert Chalmers. Mail ------> 22 Minster St.4170 or 4 Corndale St.4129 ======================================================= If you feel that you have a contribution to make, either by way of a short shell script, a tip, trick or trap, please contribute them to this document. Post them to robert@chalmers.com.au, set out if you like, with your name attached so you get the credit. This message is for the attention primarily of Australian users of Coherent, but may have some value to users around the world as well. Coherent Updates Now Available In Australia. ============================================ CSTPL is making available, with the approval of MWC, the Coherent updates as they become available. The updates are now available for retrieval by two methods: automatic reply email, and uucp for those without an internet account that they can use for such things. Uucp within Australia is not expensive, a half hour call will set you back a mere $11 for an hours downloading in off peak time. As near as possible the full range of updates and patches is available and conforms to the following criteris. Take Note if you intend retrieving it. [1] By Email: send email To: updates@chalmers.com.au Subject: list ^^^^^^^^^^^^^^^^^^^^ Please.... watch the spelling of 'updates'............. The message does not need any text, as only the machine sees it, unless of course you cock it up, then I see it, care of the daemon. This will generate a reply message to you, with a file attached that is a LIST of the available patches. To retrieve any of the required files, put the name of the wanted file as the Subject: . The file will be sent back to you as UUENCODED email. You take it from there. Using this method, you are making use of my Internet connection, which is attached by Long Distance (STD) to the backbone. If you want ALL the files, ask MWC to send you a disk, or send me bulk money to pay for the extended phone call duration made on your behalf. Otherwise, I have no problem with users from anywhere requesting the occasional update. Lets face it. You rarely need them all! This is a voluntary service, and I get NO support by way of money or goods for doing it. Just remember us when you want to buy your next copy of Coherent, or you want an Internet connection from anywhere in the world. Last note: Some of the files are BIG. So if you have traffic limits, your system might choke!... blaaaa... [2] By UUCP: EASY...... I can't believe it.... Where has this been all my life? You mean I can actually get these things by dial-up in Australia? You should set up a system in your sys file (L.sys) with the following. Or suitable entry in your Taylor sys file. SYSTEM=nanguo SEND=yes RECIEVE=yes MYNAME=anon and the dial file, Login: anon Passwd: update /usr/spool/uucppublic/downloads/updates The phone number is +61 79 524527, speed 9600 V42/MNP etc. Got that? piece of cake. Once you have that right, use the old reliable uucp command to get the list of updates. UUCP users must note, I say must note, that ALL files in the updates directory, including the list, actually have their NAMES IN UPPERCASE. That's capitals for the semiliterate! So note the following command example. uucp nanguo!/usr/spool/uucppublic/downloads/updates/LIST ~/ All things being equal, that should shoot back the LIST of updates to you. If not, check your configs etc. I know I have it right here, I have just spent most of today getting it right. :-) enjoy. Users should also note: There is NO direct login here. You can NOT SEND me files, and you can only pick up files from the $PUBDIR. **************************************************************************** Subjects: Communication with the Outside World. ------------------------------------- A1. COM ports. Things of Great Moment and Import. 1) You can not use ckermit or and other interactive comms program to dial out of a com port that is already enabled so that a terminal can use it, or it is used to take incoming calls on a modem. An enabled port looks like this, as seen in /etc/ttys 1rPcom1r ^ this indicates to you that the port is ENABLED. 2) If you use the UUCP program called cu to dial out to other sites, then you don't need to worry about it, as you will have the UUCP configuration files so designed, that everything is taken care of for you. If you haven't got UUCP configured, read on. There is an entire section on configuring Taylor UUCP. V1.05 for Coherent. 3) In order that programs like UUCP and cu can properly manage the com ports, your files /etc/enable & /etc/disable must look like this: -r-s--s--x 3 root root 8892 Mon may 23 22:11 /etc/disable -r-s--s--x 3 root root 8892 Mon may 23 22:11 /etc/enable ^^^^^^^^^^^^^^^^^^^^^^^ important bits ! With Taylor uucp V1.05, DISABLED COM PORTS MUST NOT BE IN TTYS. That is, previously you could have 1rPcom1r 0lPcom1l to denote that you had that port actually in use for something. Not so with Taylor 5. ========================================================= ***************************************************************************** A2. Hardware & Configs, IRQ, IQ and ........ Some jottings on IRQ lines. There is some discussion on IRQ 7 problems, but as it sounds like something that might just be specific to a particular setting, I'll leave it out for now. IRQ 7 is the printer(LPT1) IRQ. LPT1 03BC IRQ 7 LPT2 0378 IRQ 7 LPT3 0278 IRQ 5 The whole list up, ISA, EISA AND MCA DEFAULT INTERRUPTS. IRQ 0 SYSTEM TIMER IRQ 1 KEYBOARD CONTROLLER IRQ 2 SECOND IRQ CONTROLLER IRQ 3 COM 2 IRQ 4 COM 1 IRQ 5 LPT 2, OR LPT 3 IRQ 6 FDD CONTROLLER IRQ 7 LPT 1 IRQ 8 REAL TIME CLOCK IRQ 9 RE-DIRECTED IRQ 2 IRQ-2 is latched to the first port on the second chip, IRQ 9. IRQ 10 AVAILABLE IRQ 11 AVAILABLE IRQ 12 MOTHERBOARD MOUSE PORT (available if no mouse) IRQ 13 MATHS COPROCESSOR IRQ 14 HDD CONTROLLER IRQ 15 AVAILABLE Ok, lets enlarge on this a little. The following excerpts are from Dr Dobbs, the SCO configuration guide, and Programming Device Drivers, and the OAK Chip Set, specification Data Book. Lets start with the Interrupt controllers. Interrupt Control Logic. The interrupt control logic includes two Intel 8259A compatible interrupt controllers. It has 15 levels of interrupt that are handled according to programming priority in the CPU chip. The list above shows the hardware interrupts and their availability to the I/O channel. (PC bus) The I/O address for each register for each register in the interrupt controller is defined in the the following table. (OAK DATA) MASTER INTERRUPT CONTROLLER ADDRESS W/R Function ***initialization mode*** 0020 W initialization command word ICW1 0021 W initialization command word ICW2,ICW3,ICW4 ***operation mode*** 0021 W operation control word OCW1 0020 W operation control word OCW2,OCW3 ***read status register(operation mose)*** 0021 R interrupt mask register(IMR) 0020 R interrupt request register(IRR), and interrupt service register(ISR).IRR and ISR are selected through bit 0 and bit 1 in OCW3 SLAVE INTERRUPT CONTROLLER ***initialization mode*** 00A0 W initialization command wordICW1 00A1 W ....... as for MASTER above. The interrupt acknowledge cycle requires two wait states. -------------------------------------------------------------------------- from the SCO configuration book Typical device interrupts. IRQ 0 clock IRQ 1* console IRQ 2 networks, tapes and others IRQ 3 COM 2 IRQ 4 COM 1 IRQ 5 LPT 2, OR LPT 3 IRQ 6* FDD CONTROLLER IRQ 7 LPT 1 8 not mentioned (but it is the battery clock) IRQ 9* chain from IRQ2 IRQ 10 AVAILABLE IRQ 11* Adaptec 0 IRQ 12 Adaptec 1 IRQ 13* FPU IRQ 14* ST506 Controller 0 IRQ 15 ST506 Controller 1 * do not use these interrupts. ---------------------------------------------------------------------------- Dr Dobbs journal. #186. March 1992. Page 44 - 50. On page 46. Along with a diagram of the Bus Architecture, there is a foot note that says. quote *IRQ7 and IRQ15 also receive "lost" interrupts for associated controller. end of quote That is, MASTER CONTROLLER, IRQ 0 - 7, lost interrupts spill onto #7 On the SLAVE CONTROLLER, IRQ8 -15, lost interrupts spill onto #15 Now, I'm told reliably that a "lost" interrupt is one that the processor didn't process before another one came in from the same device. See the following notes; quote(Dr Dobbs) 386 ISA Interrupt Mechanism in Detail The ICUs are attached in a cascaded arrangement, with the master ICU directly connected to the 386 and the slace ICU connected to one of the eight interrupt input lines that each ICU possesses. Because of this layout, although we have two ICUs with eight lines apiece, only 15 interrupts are actually generatable. as the third interrupt(IRQ2) is not allowed. Even more confusing is the arrangement of relative priority. the interrupt priorities for the slave interrupts (IRQ8-15) are jammed in between IRQ1 and IRQ3. And finally to maintain compatibility with the original PC, what used to be IRQ2 is now attached to the slave to IRQ9, with the newer interrupt signals on the slave ICU(other than IRQ9) available only to the AT or 16-bit wide cards. end quote. quote ...Also, in deference to high speed 386 systems, what appear to be spurious input instructions are added after updating the ICU mask register. These instructions do a read of a known "nonexistent" port. It is known that no data will be forced on the bus, and that any outstanding output operations on the ISA bus will have been written out before this instruction finishes. This code is necessary to mitigate the sins of "clever" hardware that holds port output contents in a "write buffer" so that output instructions can overlap execution. If this code is not insereted, when we turn on the processor's interrupt processing again(sti), the new mask won't have made it to the ICU and we will be running at the "old" priority for a "while". If this happens at an inconvenient time(during an interrupt processing routine, for instance), we might endlessly recurse and overrun the processor. the 386 is very unforgiving in this regard - the processor will shut down and spontaneously reset itself. end quote ....there is more to come on this section.... ============================================================================= A3. Compilation Environments and Feature Tests The COHERENT header files are designed to let you invoke any of several ``compilation environments''. Each environment offers its own features; in this way, you can easily import code that conforms to the POSIX or ANSI standards, compile device drivers, or otherwise fine tune how your programs are compiled. To invoke a given compilation environment, you must set a feature test. As discussed in the Lexicon article name space, the ISO Standard reserves for the implementation every identifier that begins with a single underscore followed by an upper-case letter. The POSIX Standards define several symbols in this name space that the implementation can use as ``feature tests'' -- that is, as symbols that you can use in your source code to determine the presence or absence of a particular feature or combination of features. Note that a feature test applies to an implementation of C, rather than to an operating system. A feature test combines aspects of the host system and the language translator: some tests apply to the operating system, some purely to the C translator. The operating system's header files can define them (for example, _POSIX_SAVED_IDS) to control compilation of user code or to deal with optional features, or you can define them (e.g., _POSIX_C_SOURCE) to control how the system's header files declare or define constants, types, structures, and macros. In general, a feature test must either be undefined or have an integer value. It must not be defined as having no expansion text, or expand into a string. For example, # CORRECT cc -D_POSIX_C_SOURCE=1 foo.c is correct, as is: # CORRECT cc -U_POSIX_C_SOURCE foo.c However, # WRONG cc -D_POSIX_C_SOURCE foo.c is incorrect, as is: # WRONG cc -D_POSIX_C_SOURCE="yes" foo.c This is to permit the constants to be tested with expressions like #if _POSIX_C_SOURCE > 1 where an integer value is required. (If the symbol is used in a #if test and is undefined, cpp replaces it with zero, which is still an integer value). This permits the implementation to use different values of the feature test to invoke different feature sets; and it simplifies testing for complex combinations of feature tests. Although nearly all feature tests behave as shown above, there are a few exceptions, namely _POSIX_SOURCE and _KERNEL. These symbols are not defined as having a specific value, so many users do not supply a value. To deal with this, the COHERENT header files check whether these constants have expansion text. If they do not, the header files redefine these constants with value 1, so that they can be used like the other feature tests that the COHERENT header files define. The following describes the feature tests used in the COHERENT header files, and briefly describes the compilation environment each invokes. Because we are continually adding new features to the kernel, this list is not guaranteed to be complete. _DDI_DKI Invoke the environment for compiling device drivers. This environment makes visible all DDI/DKI function prototypes and data definitions, and defines all fundamental data types and structures as mandated by UNIX System V, Release 4. Please note that this feature test is an COHERENT extension, and is not portable to other operating systems. _KERNEL Invoke the environment for compiling the kernel or a device driver. This environment gives code full access to system's private header files. Under COHERENT, this option is equivalent to defining _DDI_DKI to value 1, because COHERENT only supports compiling DDI/DKI driver source code from System V, Release 4. This means that the definitions of many fundamental data types such as pid_t are changed to the System V, Release 4 definitions rather than the System V, Release 3 definitions used by user code. (This is a System V convention.) _POSIX_SOURCE _POSIX_C_SOURCE Select a ``clean'' compilation environment, in which the headers defined in the POSIX.1 or POSIX.2 standards define no symbols other than the ones that those environments require. Defining _POSIX_C_SOURCE with value 1 selects the POSIX.1 environment, as defined in the POSIX.1 standard. Defining _POSIX_C_SOURCE with value 2 selects the POSIX.2 environment, as defined in the POSIX.2 standard. Defining _POSIX_SOURCE has the same effect as defining _POSIX_C_SOURCE with value 1. _STDC_SOURCE Select a ``clean'' compilation environment. In this environment, the headers that the ANSI C standard defines define no symbols other than those that the standard requires. This feature test is designed to let you compile conforming Standard C programs that themselves define functions or macros that the COHERENT header files defined in addition to those described in the ANSI standard. Please note that this feature test is an COHERENT extension, and is not portable to other operating systems. _SUPPRESS_BSD_DEFINITIONS This feature test invokes a compilation environment that excludes all definitions that are included for compatibility with Berkeley UNIX. As of this writing, this feature test affects only the header file , and prevents it from defining the macros bcopy(), bzero(), index(), and rindex(). Note that selecting a POSIX or Standard C environment also suppresses these definitions. Please note that this feature test is an COHERENT extension, and is not portable to other operating systems. _SYSV3 This feature test invokes a compilation environment in which all fundamental types and data structures have the definitions mandated by UNIX System V, Release 3. _SYSV4 This feature test invokes a compilation environment in which all fundamental types and data structures have the definitions mandated by UNIX System V, Release 4. As of this writing, this facility is incomplete and used mainly to develop device drivers and extensions to the kernel. Please note that this feature test is an COHERENT extension, and is not portable to other operating systems. ========================= Compliments of Fred. ================== These VI settings might help when using vi to cut code; ================================ VI COMMANDS ============================== Used with :set, the following can be used to set up your document area. They are either put into a .exrc file in your $HOME directory, or while in vi, with :set