This directory has code to programs that have been published in the VAX Professional Magazine over the past couple of years. It was furnished to the VAX/L&T Sig tapes by Professional Press as a courtesy. It also serves to a degree to show the sorts of information available in that magazine. Note: Before running privileged code found herein, it is up to you to make sure it can run correctly on the version of VMS you have; since the material is sometimes a couple years old, this should be kept in mind. TAPE CONTENTS: Targeting An AST To Another Process Filename: ASTPROC.DOC This files features code previously published in the August 1989 issue of VAX Professional magazine in an article written by Arthur R. Townsend titled, "Targeting An AST To Another Process." The article appears on page 7. The featured program demonstrates techniques required to queue an AST that issues the SET VERIFY commands for another interactive process. ARIS: "Protalk" column, August 1990 VAX Pro Filename: AUG_TALK.DOC "Protalk" column, August 1990 VAX Professional, Volume 12 #4. Page 4. ARIS Name: Aug_talk.doc TREE.COM, by Richard Whyte. A short DCL routine to allow a VMS user or manager to see the logical directory layout from a given directory. MRGATETEST.COM (The code for MAILX.COM; the text files MRGATE.TEST, MRGATE- FAIL.TXT, MRMANDOWN.TXT; and a sample ACL). Detects network trouble, message router failure or remote node crash. Print Barcodes On Your LN03 Filename: BARCODE.DOC This file contains a program written by Dennis Peipel that uses sixel graphics to allow your DEC printer to print barcodes. It was first published in the October 1989 issue of VAX Professional magazine, in an article titled "Print Barcodes On Your LN03." The article appears on page 11. Bit Flags In VAX BASIC Filename: BITFLAGS.DOC This file features code previously published in the February 1989 issue of VAX Professional magazine. It was originally published as part of an article by Bradley R. Sheppard and Larry McCurdy titled, "Bit Flags In VAX BASIC." The article appears on page 34. The program is an example of how to use bit flags. Bucket Splitting In Indexed Files Filename: BUKTSPLIT.DOC This file contains a program previously published in the December 1989 issue of VAX Professional magazine. It was first published as part of Greg Dumbrell's article, "Bucket Splitting In Indexed Files" which appeared on page 19. The program gives a quantative guide to the amount of fragmentation in a file and indicates when the agony of a reorganization is required. It's for reorganizing RMS indexed files. Software Layering Filename: BLDIMAGE.DOC This file features a program that was published in the June 1989 issue of VAX Professional magazine. It was originally published as part of Philip A. Naecker's article, "Software Layering" which appeared on page 23. The program BUILD_SHAREABLE_IMAGE.DOC compiles, links and installs the XYZ shareable image.. The macro routine defines the transfer vectors for the XYZ shareable image. The linker options file uses many features of the VMS LINKER. It's About Time Filename: CALENDAR.DOC This file features code previously published in the April 1990 issue of VAX Professional magazine. It was written as part of Donald W. Czerwinski's article "It's About Time," which appears on page 18. The program, "Julianday," converts an integer Julian Day into its Gregorian Calendar equivalent date, in the form: 01-jan-1989. The VAX clock assumes that the Smithsonian Astronomical Date, November 17, 1858, is Julian Day 1. Hierarchy: Procedure To Generate A Call Hierarchy Filename: CALLHIER.DOC This file features code previously published in the April 1989 issue of VAX Professional magazine. The program, originally titled CALLHIER.DOC, reads a list of object files and generates a call hierarchy for those files. It was originally published as part of Darren C. Abbott's article, "Hierarchy: A Procedure To Generate A Call Hierarchy" which appeared on page 27. Calling Routines In Other Languages From VAX C Filename: CALLVAXC.DOC This file features a program previously published in the June 1990 issue of VAX Professional magazine. The program was written by Rod Stephens as part of his article, "Calling Routines Written In Other Languages From VAX C." The article appeared on page 21. The program, "INCOME.C," shows a tricky solution to the pitfalls that can occur when you try to call a program written in another language from your C program. X Views: Plotting Capacity Data Filename: CAPACITY.DOC This file features code previously published in the December 1990 issue of VAX Professional magazine. It was originally published in David W. Bynon's article "X Views: Plotting Capacity Data," which appeared on page 31. The author takes the opportunity to show you how to plot a graph using system performance data collected through the MONITOR utility. Renumbering MACRO Local Labels Filename: CLEANUP.DOC This file features code previously published in the February 1990 issue of VAX Professional magazine. It was written by Hunter Goatley as part of his article, "Renumbering MACRO Local Labels" which appeared on page 31. The prgram segment presented here could become invaluable to VAX MACRO programmers. A Corner Clock For Your VT Terminal Filename: CLOCK.DOC This file features a procedure previously published in the December 1989 issue of VAX Professional magazine. It was written by Al Beer and included in his article, "A Corner Clock For Your VT Terminal," which appeared on page 28. The procedure displays a clock in the upper right corner of your VT100 and, by subprocesses, updates the data/time every three seconds. But it scrolls down when you use the editor and contains other limitations. COM_ARGS Filename: COM_ARGS.DOC This file features code previously published in the June 1989 issue of VAX Professional magazine. The article, written by Richard Steinberger, appears on page 19. Titled "COM_ARGS," it details a simple way for FORTRAN programs to retrieve command line arguments. Easy Command Recall Filename: COMRECALL.DOC This file features a procedure written by Hunter Goatley which implements an easy-to-call interface to the SMG$ routines to provide command recall when reading from SYS$INPUT. Previously published in the February 1989 issue of VAX Professional magazine as part of his article titled, "Easy Command Recall," the procedure takes the same arguments as LIB$GET_INPUT and may be substituted directly in any call to LIB$GET_INPUT. Put The Power Of DCL Into Your Programs Filename: DCLPOWER.DOC This file features code previously published in the August 1989 issue of VAX Professional magazine, in an article by Charles A. Measday titled, "Put The Power Of DCL Into Your Programs." The code here presents an easy, effective way to issue a DCL command to the operating system within a program by spawning a CLI subprocess and connecting its SYS$INPUT and SYS$OUTPUT channels to mailboxes that you can read and write. Measday's article appears on page 21. View And Select With A TPU Directory Editor Filename: DIRED.DOC This file features a routine previously published in the October 1989 issue of VAX Professional magazine. The routine was initially part of Nicholas Aiuto's article, "View And Select With A TPU Directory Editor," which appeared on page 18. The routine allows you to view a list of files in a directory and select one for editing. This utility allows directory viewing, directory tree movement, and file selection, all from one buffer in any TPU-based editor. MODL, The Manager For Organized Distribution Lists Filename: DISLIST.DOC This file features code previously published in the February 1990 issue of VAX Professional magazine. The article, written by Paul G. Anagnostopoulos titled, "MODL, The Manager For Organized Distribution Lists," appears on page 11. MAIL distribution lists eliminate the need to type the same user names over and over, but can become cumbersome and redundant to update. This facility solves these problems by providing centralized distribution lists. Dynamic Priority Adjustment Filename: DPA.DOC This file features code previously published in the December 1990 issue of VAX Professional magazine. It was taken from an article by Dennis Leiterman titled, "Dynamic Priority Adjustment," which appeared on page 21. The FORTRAN procedure here improves system performance by allocating system resources. It lowers the base priority of CPU-hogging interactive processes. When finished, the processes revert to normal priority. Dynamic System Monitor: VMS Priority Scheduling Filename: DSM.DOC This file features a program written by James G. Miserere, taken from his article "DYNAMIC SYSTEM MONITOR: Supplements VMS Priority Scheduling," which appeared in the February 1990 issue of VAX Professional magazine on page 21. The article represents the runner up in VAX Professional's Call For Papers on performance. The program tracks CPU use of user processes and adjusts their base priority to ensure that lower priority levels get CPU service. Dynamic Array Expansion Using VAX FORTRAN Filename: DYNARRAY.DOC This file contains code previously published in the December 1990 issue of VAX Professional magazine. It was originally part of Duane L. Violett's article, "Dynamic Array Expansion Using VAX FORTRAN," which appeared on page 17. The procedure here enables your FORTRAN memory allocation to expand or contract without requiring you to edit the source code each time the size of the allocation changes. Emulating EMACS With TPU Filename: EMACSTPU.DOC This file features a program previously published in the August 1990 issue of VAX Professional magazine. Written by Norman E. Smith, the program was published as part of the article, "Emulating EMACS With TPU," which appeared on page 22. The EMACS text editor provides mnemonic commands and split-screen editing. This home-grown editor, TEMACS, gives you most of the features of EMACS in TPU. Clear Device Error Counts Without Rebooting Filename: ERRCLEAR.DOC This file features code written by Jeff Jancula, taken from his October 1989 VAX Professional article "Clear Device Error Counts Without Rebooting." The article appeared on page 16. Under certain conditions, you might want to reset error counters to zero. RESET_ERRORS.MAR will reset errors on demand. This one carries a warning, however; use it with caution to avoid damage to your system. The Extended LOGIN Program Filename: EXTLOGIN.DOC This file contains code previously published in the April 1989 issue of VAX Professional magazine. It was originally part an of article written by Hunter Goatley titled, "The Extended LOGIN Program." The article can be found on page 10. This program was written to be called from a LOGIN.COM to define logicals, global symbols, and do other things at LOGIN. It is substantially faster than a DCL command procedure that does the same things. Who's On The System And What's He Doing? Filename: FASU.DOC dThis file features a program that was published in the June 1990 issue of VAX Professional magazine. It was originally published as part of the article, "Who's On The System And What's He Doing?" which appeared on page 34. The article and code were written by Adri Koopman. Want to know what users are logged on and their activities? this FORTRAN procedure uses a DCL command to monitor user activity. It could be just what you need. F$USEFUL Redux Filename: FILATTRIB.DOC This file features code previously published in the February 1989 issue of VAX Professional magazine. It was taken from the article, "F$USEFUL Redux," written by Donald R. Stevens-Rayburn. The article appears on page 13 and addresses calling DCL lexical functions from FORTRAN. The Hitchhiker's Guide To VMS: Part II (V5.1) Filename: HIKER.DOC This file features code previously published in the October 1989 issue of VAX Professional magazine. Written by Bruce Ellis and published in his series, "The Hitchhiker's Guide To VMS," the code appears in Part II which ran on page 39. In this episode, "The Guide explores the uses of ASTs to reclaim memory from an idle process." The Hitchhiker's Guide To VMS: Part III Filename: HIKERIII.DOC This file features code previously published in "The Hitchhiker's Guide To VMS: Part III," which ran in the February 1990 issue of VAX Professional magazine. Written by Bruce Ellis, Part III appears on page 39. In it, "The Guide uses the System Dump Analyzer (SDA) to locate and fix code broken by version 5.2 changes." The Hitchhiker's Guide To VMS: Part IV Filename: HIKER4.DOC This file features code published in the April 1990 issue of VAX Professional magazine. It was first run as part of Bruce Ellis' "The Hitchhiker's Guide To VMS: Part IV" article, which appeared on page 37. In Part IV of the series, "The Guide helps Billy solve problems with global sections and his love life." This program receives a section name and locates all sections named "name_" and displays the share counts for all pages mapped by the section. The Hitchhiker's Guide To VMS: Part V Filename: HIKER5.DOC This file features code previously published in the June 1990 issue of VAX Professional magazine, in Bruce Ellis' "The Hitchhiker's Guide To VMS: Part V," which ran on page 41. In part V, we learn: "Who's the white-haired man and what does he want? How many nights will it take Billy to adjust the quotas affecting the automatic working set adjustment?" The Hitchhiker's Guide To VMS: Episode 6.1 Filename: HIKER6-1.DOC This file features code previously published in VAX Professional magazine. It was first run on page 39 of the August 1990 issue, as part of Bruce Ellis' "The Hitchhiker's Guide To VMS: Episode 6.1" In this episode we learn, "Is Dr. Albino for real? Does Billy Bitsenbites remain happy to operate under a legitimate set of priveleges? The code here sets bits in rab for proper locking on read with 10 second wait before error status is returned. The Hitchhiker's Guide To VMS: Episode 6.2 Filename: HIKER6-2.DOC This file features a program written by Bruce Ellis. It was previously published in the October 1990 issue of VAX Professional magazine in his series, "The Hitchhiker's Guide To VMS" in Episode 6.2, which appears on page 36. In episode 6.2, "Does Billy find the keys to unlock the mysteries of VMS? Does he figure out what to do when he's locked out of a process? Does he figure out what file to access when he's being blocked?" The Hitchhiker's Guide To VMS: Part II (V5.2) Filename: HIKERV52.DOC This file contains code previously published in the October 1989 issue of VAX Professional magazine, in Bruce Ellis' "The Hitchhiker's Guide To VMS: Part II," which appeared on page 39. In Part II, The Guide explores the use of ASTs to reclaim memory from an idle process. The program, WSBLASTER, takes a process id as input and adjusts the associated process working set down to 250 pages. LNMFILL: Logical Name Hash Table Statistics Filename: HASHTABLE.DOC This file features code previously published in the February 1989 issue of VAX Professional magazine. It was first published as part of Lee K. Gleason's article "LNMFILL: Logical Name Hash Table Statistics," which appeared on page 4. This program will locate the systemwide shared, and the process-wide logical name hash tables. It will traverse the linked lists of their entries, and report the number of entries and the length of their lists. Shareable Image Libraries Filename: IMAGELIB.DOC This file features code previously published in the February 1989 issue of VAX Professional magazine. The code, written by Alan MacArthur and published as part of his article, "Shareable Image Libraries: A Tool For Enhanced Structural Project Development At The User Level," which appears on page 27, represents a collection of subroutines and functions. FORTRAN Input Functions Filename: INPUT.DOC This file contains program segments perviously published in the December 1990 issue of VAX Professional magazine. Written by Kristopher Arenius for his article, "FORTRAN Input Functions," which appears on page 29, the four home - grown functions features here simplify VAX FORTRAN terminal input. Using LAT To Integrate Incompatible Systems Filename: INTEGRATE.DOC This file features code previously published in the June 1990 issue of VAX Professional magazine. Written by David W. Bynon for his article, "Using LAT To Integrate Incompatible Systems," the code can be found on page 31. Users in a distributed VAX environment want to connect to a Unisys system from their office terminals, and they want documents to print on the printers in their office. Impossible without a network solution? Try this: VMS Kernels: $SNDJBC To Print Files Filename: KERNEL1.DOC This file features code published in the June 1990 issue of VAX Professional magazine. Originally run as part of Tracy E. Schreiber's article "VMS Kernels: $SNDJBC To Print Files," which appears on page 38, the routine is an example of how to use SYS$SNDJBC to print a single file. Rather than using LIB$SPAWN to print files from within a program, try using $SNDJBC. This article describes why using the system service is better than spawning a subprocess. X Views: Using the DECtoolkit to Create Widgets Filename: KITWINDOW.DOC This file features program segments previously published in the December 1989 issue of VAX Professional magazine. Written by David W. Bynon, the code here was first run as part of Bynon's article, "X Views: Using the DECtoolkit to Create Windows and Widgets," which appeared on page 43. From the article: Here's a complete explanation of widgets, what they are, how they work, and how to use them to create a modeless interface through the CALLBACK facility. VAX Knots: December 1989, Volume 11 # 6 Filename: KNOTS.DOC This file features VAX Knots excerpted from Bruce Ellis' VAX Knots column which ran in the December 1989 issue of VAX Professional magazine. Test your VAX/VMS skills. See how you measure up. No, you won't be graded, but you'll get the proverbial A for effort. The answer to this appears on page 42 of the December 1989 issue. VAX Knots appears on page 5. Three Utilities To Print PC-to-VAX Graphics Filename: LNO3GRAPH.DOC This file features code published in the April 1989 issue of VAX Professional. The code here was originally run as part of Gerardo Hugo Fisanotti's article, "Three Utilities To Print PC-to-VAX Graphics," which appeared on page 39. Program 1 converts AutoCAD's slide (.SLD) file to Tektronix 4010 mode files. Program 2 features procedures to draw vectors in Tektronix 4010/4014 mode. Program 3 converts HP Laser Jet mode files to sixel mode for LNO3+. A Whirlwind Tour Of VMS MAIL Filename: MAILTOUR.DOC This file features code previously published in the February 1990 issue of VAX Professional magazine. Originally run as part of Kevin Carosso and Fred Freed's article, "A Whirlwind Tour of VMS Mail," which appears on page 6, the article serves as an introduction to complex MAIL. On a higher level, VMS mail offers three hidden interfaces to add message management, routing and delivery capabilities. Using Memory Management Routines Filename: MANAGEMEM.DOC This file features code written by Robert R. Horning that shows you how to use memory management routines for run-time allocation of I/O buffers, and to map a file of unknown size and share data in that file between processes. The code comes from Horning's article, "Using Memory Management Routines," which ran in the June 1990 issue of VAX Professional magazine on page 7. On VMS Kernel Mode Time Filename: MODETIME.DOC This file features code previously published in the August 1989 issue of VAX Professional magazine. Written by Bruce Ellis as part of his article, "On VMS Kernel Mode Time," which ran on page 15, this file gives you code for benchmarking the cost of soft faults on your machine when your bogged down with excessive kernel mode time. System Programming Without Priveleges Filename: NOPRIV.DOC This file features code previously published on page 14 of the December 1989 issue of VAX Professional magazine. Originally run as part of Bruce Ellis' article, "System Programming Without Priveleges," the code here features descriptions of four different routines that provide information accessed from user mode to help you get started with system programming. A VAX FORTRAN Command Dispatcher Filename: OPENVIRO.DOC This file contains code previously published on page 26 of the October 1990 issue of VAX Professional magazine. Originally run as part of Alan MacArthur's article, "A VAX FORTRAN Command Dispatcher," the code here is a command dispatching program used to list information from the user authorization file for one or all users on the local system. You must be able to set BYPASS privelege to use this routine. Using The VAX Pseudo Disk Device With Confidence Filename: PDAORECV.DOC This file features code written by Arthur R. Townsend that allow you to create PDAO:, and in the event of a system crash, permit you to recover the data. The code was originally run as part of Townsend's article, "Using The VAX Pseudo Disk Device With Confidence," which appeared on page 16. A note of warning: Some configurations are insufficient for rebuilding PDAO: and you should test the recovery before trusting valuable data to it. X Views: Program With Pizzazz Using Pixmaps Filename: PIXMAPS.DOC This file features code previously published in the August 1990 issue of VAX Professional magazine. Originally run as part of David W. Bynon's article, "X Views: Program With Pizzazz Using Pixmaps," which appeared on page 31, the program here demonstrates the use of pixmaps and bitmaps by changing a window's standard background, cursor and icon. Performance Analysis w/o Code Modification Filename: PROFILER.DOC This file features a program written by Matthew Rabuzzi, which was first run as part of his article, "Program Performance Analysis Without Code Modification," which appeared in the April 1990 issue of VAX Professional magazine on page 29 and took third place in VAX Professional's Call For Papers On Performance contest. This code analyzes where a program is most active, i.e., what modules are most active. VMS Print Queues Filename: PRINTQUE.DOC This file features code written by Bill Van Vechten. Originally run as part of his article, "VMS Print Queues," which appeared on page 34 of the April 1989 VAX Professional magazine, the program creates and maintains Device Control Libraries, another defines forms for printing (an example), another initializes print queues, and the fourth changes stock on selected printer queues. The article addressed hints for successful setup of print queues. VMS Privelege Masks Filename: PRIVMASK.DOC This file contains code written by Hunter Goatley. Originally run as part of his article, "VMS Privelege Masks," which appeared in the June 1989 issue of VAX Professional magazine on page 15, the code is provided to demonstrate a method for ensuring that a subprocess does not gain priveleges that an installed user owns. The article addresses methods for controlling priveleged tasks. Consistent Error Reporting Filename: REPORTERR.DOC This file features code previously published in the February 1989 issue of VAX Professional magazine, in an article written by Stephen Hicks titled, "Consistent Error Reporting," which ran on page 44. The article, and the program segments, address making programming easier by using the MESSAGE facility. Accessing RFAs From VAX COBOL Filename: RFAACCESS.DOC This file features code previously published in the February 1989 issue of VAX Professional magazine. Originally run as part of Robert W. Dilworth, Jr.'s article, "Accessing RFAs From VAX COBOL," which appeared on page 39, the code here consists of four example programs for setting up and using MACRO interface subroutines. KFH_GRANTID Filename: RIGHTS.DOC This file features code written by Kevin F. Homan. The code first appeared in Homan's article, "KFH_GRANTID," which was published in the June 1989 issue of VAX Professional magazine on page 5. The article addressed a user-written system service to temporarily grant a rights identifier. The five routines here are detailed in the VAX Professional article. SCRIPT: A Unique Banner Printing Program Filename: SCRIPT.DOC This file contains code previously published in the April 1989 issue of VAX Professional magazine. Originally run as part of John F. McGlinchey's article, "SCRIPT," which appeared on page 32, the code here prints banners on your line printer. It does it with style, in cursive. Use SCRIPT.COM to run SCRIPT and make sure you modify the PRINT line for the correct form type for blank paper on your system. SDA: Part III - The Ultimate Management Tool Filename: SDA3.DOC This file features code written by Hunter Goatley. It was originally run as part of his article, "SDA: Part III - The Ultimate Management Tool," which appeared in the December 1989 issue of VAX Professional magazine on page 38. Parts I and II served as introductory overviews to SDA and were run in the August 1989 and October 1989 issues of VAX Professional. Here we examine how SDA can be used to examine VMS code. Who Watches The Watchers? Filename: SPYBEAM.DOC This file features a procedure written by Lee K. Gleason. Originally run as part of his article, "Who Watches The Watchers?," which appeared in the April 1990 issue of VAX Professional magazine on page 7 and represents the winning entry in VAX Professional's Call For Papers on software security, the code here will periodically check to see if anyone is using a terminal monitor program to spy on your terminal. SQUEEZER: A Memory Economizer Filename: SQUEEZER.DOC This file features code previously published in the December 1989 issue of VAX Professional magazine. It was first run as part of Frank Dolatshahi's article, "SQUEEZER: A Memory Economizer," which appeared on page 7 and was the winning entry in VAX Professional's first Call For Papers contest. This program forces the reduction of the working set size of idle processes, releasing memory to the free list without stopping the process. Alternate Between EVE And DCL Filename: SWITCH.DOC This file features code previously published as part of Dennis Broeckel's article, "Alternate Between EVE And DCL," which ran in the October 1990 issue of VAX Professional magazine on page 17. If you're using the non-DECwindows versions of EVE and VAXTPU on a standard, DEC-compatible terminal device, you you can use this procedure to hit the period key on the application keypad to spawn and attach the terminal to a DCL subprocess. Software Layering: Part IV - Error Messages Filename: SWLAYER4.DOC This file features code previously published in Philip A. Naecker's article, "Software Layering: Part IV - Error Messages," which ran in the August 1989 issue of VAX Professional magazine on page 27. Editor's note: In this fourth part of his series on software layering, Philip A. Naecker continues his description of how to build a priveleged shareable image. Software Layering: Part V - Error/Cond. Handling Filename: SWLAYER5.DOC This file features code previously published in Philip A. Naecker and Tracy E. Schreiber's article, "Software Layering: Part V - Error And Condition Handling," which ran in the October 1989 issue of VAX Professional magazine on page 27. Here, Naecker and Schreiber explore how to use condition handlers to present consistent errors to the calling program and how to handle errors within the RTL. Here's how to use error messages in signaling mode. Software Layering: Part VI-Errors Inside Your RTL Filename: SWLAYER6.DOC This file Features code previously published in the December 1989 issue of VAX Professional magazine. Originally run as part of Philip A. Naecker and Tracy E. Schreiber's article, "Software Layering: Part VI - Handling Errors Inside Your RTL," which appeared on page 33, the code here represents the final installment in a series on on shareable images. TIMER Filename: TIMER.DOC This file contains code written by Richard D. Newman, originally published in the June 1989 issue of VAX Professional magazine in his article, "TIMER," which ran on page 21. TIMER is a routine to roughly help track the speed of any image or command executed at the DCL level. A DCL symbol EXPIRED or EXP is updated after each command at the DCL prompt while TIMER is active. TESTTIME Filename: TESTTIME.DOC This file features code written by Glenn Harris for his article, "TESTTIME," which ran on page 20 of the February 1989 VAX Professional magazine. The article addressed using VMS date formats for applications data. The code demonstrates a range of data/time routines. Indexed Sequential File Tuning Filename: TUNINGRMS.DOC This file contains a program written by Moses Sun. The code was originally published in the June 1989 issue of VAX Professional magazine in Sun's article, "Indexed Sequential File Tuning," which ran on page 30. The article addresses the concept, technique and tools of the file tuning process. X Views: Using UIL To Design An X User Interface Filename: UIL.DOC This file features code written by David W. Bynon. The user interface prototype for a telecommunications program, presented here, demonstrates the use of UIL and callback routines. The code was originally run as part of Bynon's article, "X Views: using UIL To Design An X User Interface," which appeared on page 14 of the April 1990 VAX Professional. Exploring Files-11 Filename: UNLOCKDSK.DOC This file features code originally run as part of Mark Draughn's article, "Exploring Files-11," which ran in the August 1990 issue of VAX Professional magazine on page 14. The code here will unlock a disk volume or volume set that has been locked against allocation. Two other routines will issue an ACP control function to unlock the specified disk volume, and will do formatted dumps of a file header, given the disk name and the file number. The VAX Vector Processor Filename: VECTOR.DOC This file features program segments previously published as part of E. Loren Buhle, Jr., Ph.D.'s article, "The VAX Vector Processor," Which ran in the December 1990 issue of VAX Professional magazine on page 12. The article compares scalar versus vector processing, showing why vector processing can significantly increase processing speed. Amdahl's Law helps to examine the potential speedup because of vectorizing code. VMS Kernels: What's A Lock? Filename: VMSLOCK.DOC This file contains code written by Philip A. Naecker and Tracey E. Schreiber that maps a global section and takes a read lock out on the resource and waits for another process to update it. It shows how the lock manager can be used to synchronize use of non-recorded oriented resources. The code was first run as part of the article, "VMS Kernels: What's A Lock?" which appeared on page 34 in the August 1990 VAX Professional. The VMS Watchpoint Utility: Part I Filename: WATCHPT_1.DOC This file contains program segments previously published in the October 1990 issue of VAX Professional magazine. Originally run as part of Hunter Goatley's article, "The VMS Watchpoint Utility: Part I," which appeared on page 22, the code and the article examine the Watchpoint Utility, an internal-use-only debugging tool that can be used to check modifications of space addresses. It's useful when a data structure is getting trashed by unknown code. The VMS Watchpoint Utility: Part II Filename: WATCHPT_2.DOC This file features code previously published in Hunter Goatley's article, "The VMS Watchpoint Utility: Part II," which appeared on page 25 in the December 1990 issue of VAX Professional. The code here is a simple program to prompt for a system address and set it up as a watchpoint. It was written to demonstrate the $QIO interface to WP. The article provides a look at how the Watchpoint Utility actually works. X Views: Creating Windows And Processing X Events Filename: XEVENTS.DOC This file features code previously published in the August 1989 issue of VAX Professional magazine. Written by David W. Bynon as part of his article, "X Views: Creating Windows And Processing X Events," which ran on page 37, the example C program here demonstrates how to create a parent and subwindow, perform tasks and close the display. X Views: Using Graphics Primitives Filename: XVIEWS.DOC This file features code previously published in the February 1990 issue of VAX Professional magazine. Originally run as part of David W. Bynon's article, X Views: Using Graphics Primitives," which appeared on page 34, the code here provides examples for creating graphics with the X Window system. Line drawing, creating arcs and circles, rectangles and points are exemplified in these program segments and sample routines. ORDERING INFO: VAX PROFESSIONAL - The Technical Journal for VMS Systems For over 11 years, VAX Professional has been the leading technical journal for VAX/VMS computing professionals. Published bimonthly, each issue of VAX Professional focuses on a specific topic, and contains articles on a range of other topics as well as regular columns and departments. VAX Professional publishes articles and code for VMS system programmers and managers. 1 year subscription $48, 2 years $86, 3 years $119 for US and Canada. Outside the US and Canada - $66 for one year, $112 for two year subscription. Payable using VISA, Mastercard and American Express. BACK ISSUES: United States and Canada: VAX PROFESSIONAL Set (approx. 25 issues) $175. $10/per issue $5/per article Foreign: Set (approx. 25 issues) $350. $16/per issue $8/per article All orders must be prepaid. VISA, Mastercard and American Express accepted. Be sure to include your expiration date. CONTACTS: MaryAlice Quimby (215) 957-4269 Georgiann Dunion (215) 957-4266 VAX Professional subscriptions Back issue information and orders