Submission from: Nick de Smith Voice: +44 892 511000 Applied Telematics Group Ltd PSImail: +234213300154::NICK Telematics House Fax: +44 892 515402 (G3) Tunbridge Wells, Kent Telex: 95398 TELEMA G (UK) TN1 1DJ, England Internet: NICK@NCDLAB.ULCC.AC.UK Janet: NICK@UK.AC.ULCC.NCDLAB VMSSERV: VMSSERV@NCDLAB.ULCC.AC.UK All the files in this directory tree are supplied completely without warranty of any kind. Whilst all the code is believed to be fully functional, and to work as described, niether ATG Ltd. or Nick de Smith can accept any reponsibility for the consequences of using the code contained herein. Having said that, I'm always interested in (constructive) feedback, so please let me know if there are any problems with any of it or if you have added enhancements. [.CRC] (new) Fast CRC generation code. Between 50% and 300% faster that using LIB$CRC or the macro CRC instruction for short buffers on those VAXen that emulate CRC (which is almost all). Speeds unknown (private) CRCs by another 50% or more. In MACRO32, all documentation in the source. [.MWAIT] (new) Analyse cause of RWAST, RWMBX and other wait states. This is a tool that I should have written *years* ago. It analyses the causes of wait states in fine detail, saving a lot of hard slog with SDA and manuals. Easy to understand messages are given, and the help file documents all but the most pathalogical cases of any system wait state. In MACRO32, MWAIT requires CMEXEC to run. Includes full documentation. A wonderful tool if you are having problems with MWAITs/RWAST etc. [.NICE] (new) NICE_PROGRAM.C - an example (in C) of a program that uses the NICE (Network Information and Control Exchange) protocol to talk to DECnet and other DEC networking products. NICE is on the way out, being replaced by SNMP (Simple Network Management Protocol) and CMIP (Common Management Interchange Protocol), but NICE is not bad. A generic command and reponse parser is included to make it easy to write your own callable "NCP" routines. Updated since the last release. [.PTD] (new) Access port name support for FT devices. The FTDRIVER as supplied by DEC upto and including VMS V5.5 does not support the setting of the access port name for an FTAn: (pseudo-terminal) device. This code supports the setting of access port names, and allow a process running on an FT device to determine the PID of the master process of the device creator. The code is implemeted as a VMS executive shareable image (as is most of VMS), and is thus a useful example of how to merge code with VMS. This code has been checked by DEC, and is placed on this tape at DEC's request but without any warranty from them. [.UTILS] MONMODE.COM (updated) A "MONITOR SMP" implementation written entirely in DCL - it uses no images or code other than DCL. Rather fun, if you like that sort of thing. Its certainly an example of extraordinary DCL! Updated since last release to correct handling of non-monotonically increasing CPU numbers and processor operational modes. HOW_INVOKED.C (new) A short piece of C that determines how an image was invoked (via a CLI verb, MCR, a foreign command or RUN). It uses the undocumented SYS$CLI call. SHOW_MEMORY.C (new) A callable version of SHOW MEMORY in C which also returns other information about memory configuration on your host. Needs CMEXEC, but uses the ONLY reliable method of determining memory sizes. SHOW_MEMORY.COM (new) A DCL implementation of SHOW_MEMORY.C that works for everything except 11/780 multiport shared memory. Callable from any DCL routine. Uses no images (its all in DCL). TIME_STAMP.C (new) Example code showing a technique for determining intervals very accurately on VMS without the (considerable) overhead of using $GETTIM and $NUMTIM etc. If you are doing comms or real-time work, especially in an SMP environment, timestamping lots of packets can become VERY expensive (especially using FDDI). This method is as/more accurate and certainly a tremendous amount more efficient. Only usable for intervals up to 497 (and a bit) days. [.XE] (updated) This is a tool that provides a "MONITOR ETHERNET" type display of activity on any DEC compliant ethernet interface on a system. A range of new features are supported and a number of bugs have been fixed. Very useful for monitoring network loading. [end]