Archive-name: dec-faq/vms/part4 Posting-Frequency: quarterly Last-modified: 2 Oct 2001 Version: VMS-FAQ-4.TXT(7) This is the OpenVMS Frequently Asked Questions Part 4/5. Please see Part 1/5 for administrivia, indexing, archiving, etc. ------------------------------------------------------------ DECW1. How do I let someone else display something on my workstation? On a workstation, you go into "Customize" menu of the session manager utility and select "Security". When the pop-up box appears, you can put node/user/tranport to allow who can launch an application to the display on that workstation. [Mike Raspuzzi] > Yah, but this doesn't seem to work with non-VMS systems. What do I put in > for the transport? I tried "TCPIP" just for kicks, but it didn't work. You need a checklist of sorts: 1) Make sure that you've specified the X-windows "display" correctly on the remote side. For DECNET it's something like NODE::0.0, for TCP/IP it's Node.Domain:0.0, etc. On a unix system, define the DISPLAY environment variable so: csh: # setenv DISPLAY myvax.domain:0.0 sh and ksh: $ DISPLAY=myvax.domain:0.0 ; export DISPLAY 2) If you've verified 1) and things still aren't working, make sure the Security settings on the VMS side will allow the connection: Pull down the "Options" menu in the Session Manager, select "Security..." near the bottom. If you don't find your host (and username) listed on the left under "Authorized Users", go to the right side of the menu and fill in the three fields, "Node", "Username", "Transport". Then click on the Add botton, then the Apply and OK buttons to add the new host to the security database. a) There are various transports: LOCAL, DECNET, LAT, TCPIP, etc. Select the one appropriate to the client machine's connection to the VMS machine. b) If the connection is DECNET, do *NOT* add :: to the node name! c) If the connection is TCPIP, "Username" _must_ be an asterisk (*) because the TCP/IP protocol used does not provide the remote username. d) If the connection is TCPIP, it's best to use a full domain name, e.g., Node.Subd.Domain. However, you _may_ have to use the IP address itself, rather than the domain name (EWS requires this). I generally add two entries for each TPCIP host, the first using the domain name, the second the IP address. e) There are a various 3rd party vendors who supply TCP/IP packages for VMS, including but not limited to TGV (Multinet) and Wollongong (Pathway ?). Multinet (and DEC's own UCX) call the transport "TCPIP", Wollongong, at least in some incarnations, uses "WINTCP". You need to use the appropriate vendor's package transport name in the "Transport" field. 3) If things _still_ aren't working, make sure the transport you want has been activated for DECwindows. This is a system manager job, but you can do the ground work yourself before bothering the sysmgr. Do the following: $ DIR SYS$MANAGER:DECW$PRIVATE_SERVER_SETUP.COM If that file exists, then do: $ SEARCH SYS$MANAGER:DECW$PRIVATE_SERVER_SETUP.COM - $_ DECW$SERVER_TRANSPORTS You sould find something like: $ decw$server_transports == "DECNET,LOCAL,LAT,TCPIP" If the transport you want, e.g., TCPIP, isn't listed, have your system manager make the appropriate changes and restart DECwindows. If the file doesn't exist, the sysmgr will have to create it by copying the corresponding .TEMPLATE file to .COM and uncommenting the line that defines decw$server_transports. a) If you're wanting to use TCP/IP to connect, make sure TCP/IP is available on the VMS host. TCP/IP is _not_ native to VMS. You need to be running either Compaq's TCP/IP or a 3rd party vendor's TCP/IP product. If you're not, none of the above will help. [Fairfield@Slac.Stanford.Edu] There is a log file created in SYS$MANAGER which tells you which transports are loaded, and also tell you what connect attempts were rejected, including showing what the presented credentials were. This file is SYS$MANAGER:DECW$SERVER_0_ERROR.LOG, although the 0 could be another number if you have multiple servers on the workstation. I have found this file to be very useful for tracking down what needs to be put in the Session Manager Security entries. [rabinowitz@bear.com] ------------------------------------------------------------ DECW2. How do I create a display on another workstation? $ SET DISPLAY /CREATE /TRANSPORT=net_transport /NODE=remote_node for LAT the command might look like this: $ SET DISPLAY /CREATE /TRANSPORT=LAT /NODE=REMOTE_NODE for DECnet: $ SET DISPLAY /CREATE /TRANSPORT=DECNET /NODE=NODE for TCP/IP $ SET DISPLAY /CREATE /TRANSPORT=TCPIP /NODE=128.12.4.122 Note that LAT is typically used for X terminals but can be used from OpenVMS to OpenVMS systems on OpenVMS Alpha V6.1 (if you have setup the X server to allow the LAT transport - check the docs). LAT will be supported on OpenVMS VAX as a transport for DECwindows in a future OpenVMS VAX release. [Mike Raspuzzi] There is a log file created in SYS$MANAGER which tells you which transports are loaded, and also tell you what connect attempts were rejected, including showing what the presented credentials were. This file is SYS$MANAGER:DECW$SERVER_0_ERROR.LOG, although the 0 could be another number if you have multiple servers on the workstation. I have found this file to be very useful for tracking down what needs to be put in the Session Manager Security entries. [rabinowitz@bear.com] ------------------------------------------------------------ DECW3. How can I get the information from SHOW DISPLAY into a symbol? Use the undocumented SHOW DISPLAY/SYMBOL, and then reference the symbols DECW$DISPLAY_NODE, DECW$DISPLAY_SCREEN, DECW$DISPLAY_SERVER and/or DECW$DISPLAY_TRANSPORT. [Fairfield@Slac.Stanford.Edu] An example of calling the underlying (and also undocumented) sys$qio programming interface for the WSDRIVER (WSAn:) is available at: http://www.openvms.compaq.com/freeware/srh_examples/DECUS_UNDOC_CLINIC/ ------------------------------------------------------------ DECW4. How do I get a log of a DECterm session? If you are working from a Decterm, you can use the AutoPrint feature. Choose the "Printer..." menu item from the "Options" menu, set the printing destination to the name of the file you want, and set "Auto Print Mode". You are now free to continue. It should be noted that ALL the characters and escape sequences are captured, but if you display the log file on a DECterm you will get EXACTLY what you had. [Yaacov Fenster] ------------------------------------------------------------ DECW5. Problem - the DELETE key deletes forward instead of backward! This has to do with Motif's virtual bindings. When a Motif application starts up, it looks at the vendor string returned in the display connection information and attempts to match the string to a table of virtual bindings. You can override the default bindings in your decw$xdefaults.dat file. Here is the entry you would make to get the default VMS bindings. *defaultVirtualBindings:\ osfCancel : <Key>F11 \n\ osfLeft : <Key>Left \n\ osfUp : <Key>Up \n\ osfRight : <Key>Right \n\ osfDown : <Key>Down \n\ osfEndLine :Alt <Key>Right \n\ osfBeginLine :Alt <Key>Left \n\ osfPageUp : <Key>Prior \n\ osfPageDown : <Key>Next \n\ osfDelete :Shift <Key>Delete \n\ osfUndo :Alt <Key>Delete \n\ osfBackSpace : <Key>Delete \n\ osfAddMode :Shift <Key>F8 \n\ osfHelp : <Key>Help \n\ osfMenu : <Key>F4 \n\ osfMenuBar : <Key>F10 \n\ osfSelect : <Key>Select \n\ osfActivate : <Key>KP_Enter \n\ osfCopy :Shift <Key>DRemove \n\ osfCut : <Key>DRemove \n\ osfPaste : <Key>Insert To merge: $ xrdb :== $decw$utils:xrdb.exe $ xrdb -nocpp -merge decw$xdefaults.dat [Fred Kleinsorge] ------------------------------------------------------------ DECW6. Why is DECwindows Motif not starting? First check to see if there is a graphics device, usually a G* device. (eg: On a DEC 2000 model 300, use the command SHOW DEVICE GQ) If you do not find a graphics device: a) OpenVMS has failed to find the appropriate IRQ information for an EISA graphics card (on the DEC 2000 series) such as the Compaq QVision, and did not autoconfigure it. Run the correct ECU (for Tru64 UNIX and OpenVMS) and reboot. This is necessary only on EISA-based systems. b) You have an EISA-based system (such as the DEC 2000 model 300) and do not have a Compaq QVision video card. This EISA graphics card should have Compaq printed on it, and identifies itself as a CPQ3011 or a CPQ3111. If it is not one of these two EISA devices, then OpenVMS does not support it. (There are no other supported EISA graphics controllers, and EISA graphics are normally used with DECwindows only on the DEC 2000 series systems.) c) You have a PCI-based system and do not have a supported graphics controller -- examples of supported controllers include the PowerStorm 3D30 PowerStorm 4D20 PowerStorm 300 PowerStorm 350 ELSA GLoria Synergy See MGMT24 for information on some of these graphics controllers. d) You have booted the system minimally, or have otherwise disabled the device autoconfiguration process. If there is a G* graphics device present: a) There may have been a severe error in the DECwindows startup. Type the contents of SYS$MANAGER:DECW$SERVER_0_ERROR.LOG for any information on errors starting the server. b) The system parameter WINDOW_SYSTEM is not set to 1. This is a common way for system managers to disable the DECwindows server startup. If you really do not want a workstation system to bootstrap as and to represent itself as a workstation to DECwindows, add the following definition to SYLOGICALS.COM: $ DEFINE/SYSTEM/EXEC DECW$IGNORE_WORKSTATION TRUE c) You may not have a valid Motif license. To check for the Motif license, type the commands: $ LICENSE LIST DW-MOTIF/FULL $ LICENSE LIST NET-APP-SUP*/FULL and examine the information displayed. Make sure that one of these licenses is present, valid and active. d) Check that the DECW$PRIVATE_SERVER_SETUP.COM is correct for the graphics controller in use. For instance: From the 9FX Vision 330 Owners Guide, EK-V330G-OG pg 2-9 Place the following in DECW$PRIVATE_SERVER_SETUP.COM (copy from .TEMPLATE, if needed). Have the file in SYS$SPECIFIC:[SYSMGR] or in SYS$COMMON:[SYSMGR] as apropriate. $ DECW$XSIZE_IN_PIXELS == <xvalue> $ DECW$YSIZE_IN_PIXELS == <yvalue> $ DEFINE/SYSTEM DECW$SERVER_REFRESH_RATE <rate in Hz> Also see DECW14 [Kleinsorge, Hoffman] ------------------------------------------------------------ DECW7 relocate to SUPP7 ------------------------------------------------------------ DECW8 relocated to SUPP8 ------------------------------------------------------------ DECW9. How do I set the title on a DECterm window? If you are creating a new DECterm window, check HELP CREATE /TERMINAL /WINDOW_ATTRIBUTES. If you want to change the title of an existing window, use the following control sequences, where <esc> is the ANSI escape code, value decimal 27, and <text label> is what you want to display: To set the DECterm title, send <esc>]21;<text label><esc>\ To set the icon label, send <esc>]2L;<text label><esc>\ To set both the DECterm title and icon to the full device name: $ esc[0,7] = 27 $ fulldevnam = F$Edit(F$GetDVI("TT","FULLDEVNAM"),"UPCASE,COLLAPSE") $ write sys$output esc+ "]21;" + fulldevnam + esc + "\" $ write sys$output esc+ "]2L;" + fulldevnam + esc + "\" You can also change the title and the icon using the Options-Window... menu. Also see MISC2, DCL12. ------------------------------------------------------------ DECW10. How do I customize DECwindows, including the login screen? To customize various DECwindows Motif characteristics including the defaults used by the SET DISPLAY command, the DECwindows login screen background logo used (the default is the DIGITAL or Compaq logo), various keymaps, the FileView defaults, session manager defaults, the DECwindows login processing, DECwindows log file processing, and various other DECwindows attributes, see the example file: SYS$STARTUP:DECW$PRIVATE_APPS_SETUP.TEMPLATE This example template file is typically copied over to the filename SYS$COMMON:[SYS$STARTUP]DECW$PRIVATE_APPS_SETUP.COM and then modified to meet site-specific requirements. Additionally, various X tools such as xsetroot, bitmap and xrdb -- some these can be useful in customizing the appearance of an application or of the DECwindows Motif display -- are provided in the DECW$UTILS: area. When using DECwindows V1.2-4 and later on OpenVMS Alpha, the default desktop is the Common Desktop Environment (CDE). You can select your prefered desktop (CDE or DECwindows Motif) when logging in, or you can change the default to the DECwindows Motif desktop using the DCL symbol decw$start_new_desktop in the DECwindows private application setup command procedure. See SYS$STARTUP:DECW$PRIVATE_APPS_SETUP.TEMPLATE for further details, and how to create DECW$PRIVATE_APPS_SETUP.COM. Note that with DECwindows CDE, the root window is no longer visible by default. The root window is hidden behind the "backdrop" window of the current CDE workspace. To make the root window visible, use the CDE style manager selection "backdrop none", and use information such as that in the OpenVMS FAQ to set the root window. To add a new backdrop to the DECwindows CDE environment, the backdrop must first be in or be converted into X11 pixmap format. (This conversion is often possible using tools such as xv.) Then (if necessary) create the default backdrop directory SYS$COMMON:[CDE$DEFAULTS.USER.BACKDROPS]. Place the X11 pixmap file containing the desired image into the backdrops directory, ensure that it has a filename extension of .PM. (The xv default filename extension for the X11 pixmap file is .XPM, while CDE expects only to see files with .PM.) Now invoke the CDE style manager and select a new backdrop. You will find your image will be placed at the end of the list of backdrops available. [Stephen Hoffman] ------------------------------------------------------------ DECW11. Why doesn't XtAppAddInput() work on OpenVMS? XtAppAddInput() does work on OpenVMS. The MIT definition of the X Windows call XtAppAddInput() includes platform-specific arguments. On platforms where C is the typically the primary programming language for the platform, the file descriptor mask is one of the arguments to the XtAppAddInput() call. On OpenVMS, the platform-specific arguments to this call include an event flag and an IOSB, as these are the traditional OpenVMS constructs used to synchronize the completion of asynchronous operations. While it would be easier to port non-OpenVMS C code that calls XtAppAddInput() over to OpenVMS if the arguments included the C file descriptor, this would make the call unusable from other OpenVMS languages, and would make it extremely difficult to use OpenVMS features such as ASTs and sys$qio calls. One restriction on the event flag: the event flag chosen must be from event flag cluster zero. When using the traditional lib$get_ef and lib$free_ef calls to allocate and deallocate event flags, you must first explicitly call lib$free_ef to free up some event flags in event flag cluster zero. Please see the event flag documentation for specific details on these calls and for specific event flags that can be freed in event flag cluster zero. Here is some example code that covers calling this routine on OpenVMS: m->InputID = XtAppAddInput( m->AppCtx, m->InputEF, m->InputIosb, the_callback, 1 ); if ( !((int) m->InputID )) { XtAppErrorMsg( m->AppCtx, "invalidDevice", "XtAppAddInput", "XtToolkitError", "Can't Access Device", (String *) NULL, (Cardinal *) NULL ); ... [Stephen Hoffman] ------------------------------------------------------------ DECW12. Why do the keyboard arrow keys move the DECwindows cursor? Congratulations, you have just stumbled into "dead rodent" mode. This DECwindows environment -- where the keyboard arrow keys move the mouse cursor and where the [SELECT], [PREV], and [NEXT] keys emulate the three mouse buttons -- allows rudimentary system operations when the mouse is among the casualties. To enter or exit the "dead rodent" mode. press: [CTRL][SHIFT][F3] ------------------------------------------------------------ DECW13. Why does half my DECwindows display blank? This is likely a result of receiving an OPCOM or other console message on a system that shares the system console with the DECwindows graphics workstation display. You can toggle off the console display window using [CTRL/F2], and you can enable a serial console per ALPHA7 or VAX10. Also see the console message window application available with recent DECwindows versions -- recent DECwindows versions (V1.2-3 and later) will enable this window by default. For details on this console message window, see the DECW$CONSOLE_SELECTION option in SYS$STARTUP:DECW$PRIVATE_APPS_SETUP.TEMPLATE. On older releases, you can disable output using the following: SET TERMINAL/PERMANENT/NOBROADCAST OPA0: DEFINE/USER SYS$COMMAND OPA0: REPLY/DISABLE Also see VAX9 and MGMT22, as well as DCL4. ------------------------------------------------------------ DECW14. %DECW-W-NODEVICE, No graphics device found on this system? To resolve the following error: %DECW-W-NODEVICE, No graphics device found on this system -DECW-I-NODECW, DECwindows graphics drivers will not be loaded 1) Ensure that the SYSGEN parameter WINDOW_SYSTEM is set to 1: $ MCR SYSGEN SHOW WINDOW_SYSTEM If it is not set to a value of 1, issue the commands: $ MCR SYSGEN SYSGEN> USE CURRENT SYSGEN> SET WINDOW_SYSTEM 1 SYSGEN> WRITE ACTIVE SYSGEN> WRITE CURRENT SYSGEN> EXIT $ REBOOT 2) Check the SYSMAN IO PREFIX LIST to ensure that the DECW$ prefix is included in the existing list. If it is not, you will need to add it: $ MCR SYSMAN SYSMAN> IO SHOW PREFIX SYSMAN> IO SET PREFIX=(DECW$,*) * = list returned by the show command SYSMAN> IO AUTO/LOG SYSMAN> EXIT 3) Ensure that the image SYS$SHARE:DECW$ICBM.EXE is installed in memory. If it is not installed, then install it: $ INSTALL LIST/FULL SYS$SHARE:DECW$ICBM $ INSTALL REPLACE SYS$SHARE:DECW$ICBM $ EDIT SYS$MANAGER:SYCONFIG.COM $! The following line was added to install $! support for the Mach64 Graphics Card $! $ INSTALL REPLACE SYS$SHARE:DECW$ICBM $ ^Z $ SHUTDOWN REBOOT the system. If the system still complains that NO GRAPHICS DEVICES COULD BE FOUND then: 4) o Boot the system as normal o Login as "system" o Create the file: $ SYS$COMMON:[SYSMGR]DECW$USER_AUTOCONFIG.DAT (W:RE) o Add the following string on the very first line: CLEAR_PFLAG = ISA_4BYTE o Save the file o Set the file protections o Reboot the system EXAMPLE: $ create SYS$COMMON:[SYSMGR]DECW$USER_AUTOCONFIG.DAT CLEAR_PFLAG = ISA_4BYTE ^Z $ SET FILE/PROTECTION=(W:RE) SYS$COMMON:[SYSMGR]DECW$USER_AUTOCONFIG.DAT $ REBOOT Also see DECW6 [Kleinsorge, Hoffman] ------------------------------------------------------------ DECW15. How can I reset the warning bell volume? With DECwindows CDE drivers and ECOs starting with ECOs for the DECwindows keyboard driver SYS$IKBDRIVER.EXE in OpenVMS Alpha V7.1-2 and V7.2-1 and with the SYS$IKBDRIVER.EXE included in OpenVMS V7.2-1H1 and later, the DECwindows CDE controls will now correctly manage the setting of the warning bell volume. Unfortunately, the equivalent controls in the older DECwindows Motif interface are not compatible and can no longer manage the warning bell volume. If you need to manage the volume with DECwindows Motif, consider using the following approach: $ @decw$utils:decw$define_utils $ xset b 1 100 100 The numerics are the volume, pitch, and duration, respectively. Why? When OpenVMS first started supporting the PC-style keyboards, the X Windows Server and the keyboard driver interface did not support the pitch and duration, and neither did DECwindows Motif. The DECwindows keyboard driver was accordingly changed to use the volume from the keyclick setting (keyclick is not available in a PC-style keyboard) and the bell volume setting to control the pitch and duration. DECwindows CDE does provide sliders for setting pitch and duration, so the keyboard driver and X Windows Server were modified to provide all of the information, and now the DECwindows CDE sliders work. This change is unfortunately incompatible with the old scheme used on the pre-CDE desktops, and the volume controls are now incompatible with the current keyboard drivers. Hence the use of xset. ------------------------------------------------------------ DECW16. How can I alter the DECwindows CDE backdrop? To select a separate backdrop to be displayed on each screen using DECwindows CDE: 1. Click on the Appliction Manager. This is the drawer icon on the CDE toolbar. 2. Click on Desktop Tools 3. Click on Set Default Screen and select the required screen 4. Click on the Style Manager. This is the one containing the mouse and ttt on the CDE toolbar 5. Now change the background. [Geoff Kingsmill] ------------------------------------------------------------ DECW17. How can I enable the DECwindows TCP/IP Transport To configure the TCP/IP transport for DECwindows, first ensure that a TCP/IP package is installed and configured. Then set the DCL symbol DECW$SERVER_TRANSPORTS in SYS$MANAGER:DECW$PRIVATE_SERVER_SETUP.COM to the appropriate local value, based on the comments in that file. If you do not have a copy of SYS$STARTUP:DECW$PRIVATE_SERVER_SETUP.COM, the use the following COPY command to create this file based on the provided template file: COPY SYS$MANAGER:DECW$PRIVATE_SERVER_SETUP.TEMPLATE - SYS$COMMON:[SYSMGR]DECW$PRIVATE_SERVER_SETUP.COM ------------------------------------------------------------ MISC1 relocated to WIRES1 ------------------------------------------------------------ MISC2. Where can I find information on escape and control sequences? Information on escape and control sequences can be found in the OpenVMS I/O User's Reference Manual, in the section on the terminal driver. This section includes details on the general format and content of these sequences. Specific details on the escape and control sequences supported by a particular serial device are typically found in the documentation provided with the specific device. Information on the sequences supported by DECwindows DECterm terminal emulator are included in the DECwindows documentation. Examples of common escape and control sequences -- those typically used by the OpenVMS screen management package -- can be found in the OpenVMS system file SYS$SYSTEM:SMGTERMS.TXT. The following refers to the function keys on the VTxxx series terminals, and compatibles. In the following, {CSI} is decimal code 155 and can be replaced by the sequence "{ESC}[" (without the quotes) particularly for seven-bit operations, SS3 is decimal code 143 and can be replaced by "{ESC}O" particularly for seven-bit operations. Older VT1xx series terminals and any other terminals operating with seven-bit characters should not be sent eight-bit operators such as {CSI} and {SS3}. PF1={SS3}P PF2={SS3}Q PF3={SS3}R PF4={SS3}S KP0={SS3}p KP1={SS3}q KP2={SS3}r KP3={SS3}s KP4={SS3}t KP5={SS3}u KP6={SS3}v KP7={SS3}w KP8={SS3}x KP9={SS3}y KPCOMMA={SS3}l KPMINUS={SS3}m KPPERIOD={SS3}n ENTER={SS3}M DNARROW={CSI}B UPARROW={CSI}A LFARROW={CSI}D RTARROW={CSI}C FIND={CSI}1~ INSERT={CSI}2~ REMOVE={CSI}3~ SELECT={CSI}4~ PREV={CSI}5~ NEXT={CSI}6~ F6={CSI}17~ F7={CSI}18~ F8={CSI}19~ F9={CSI}20~ F10={CSI}21~ F11={CSI}23~ F12={CSI}24~ F13={CSI}25~ F14={CSI}26~ HELP={CSI}28~ DO={CSI}29~ F17={CSI}31~ F18={CSI}32~ F19={CSI}33~ F20={CSI}34~ An example of working with escape sequences (in DCL) follows: $ esc5m = "*[5m" $ esc5m[0,8] = 27 $ esc0m = "*[0m" $ esc0m[0,8] = 27 $ write sys$output esc5m + "blinking text" + esc0m Documentation on an ANSI terminal relatively similar to the VT525 series is available at: ftp://ftp.boundless.com/pub/text/adds/docs/260_prog/ ftp://ftp.boundless.com/pub/text/adds/docs/260_user/ Also see the various documentation and manuals available at: http://www.vt100.net/ Information on the ReGIS graphics character set is available at: http://www.cs.utk.edu/~shuford/terminal/dec_regis_news.txt Also: http://www.boundless.com/Text_Terminals/VT/ Also see DECW9, DCL12. ------------------------------------------------------------ MISC3 relocated to SUPP4 ------------------------------------------------------------ MISC4 relocated to WIRES2 ------------------------------------------------------------ MISC5 relocated to ALPHA5 ------------------------------------------------------------ MISC6. What does "failure on back translate address request" mean? The error message: BCKTRNSFAIL, failure on the back translate address request indicates that the destination node is running DECnet-Plus, and that its naming service (DECnet-Plus DECdns, LOCAL node database, etc) cannot locate a name to associate with the source node's address. In other words, the destination node cannot determine the node name for the node that is the source of the incoming connection. Use the DECNET_REGISTER mechanism (on the destination node) to register or modify the name(s) and the address(es) of the source node. Check the namespace on the source node, as well. Typically, the nodes involved are using a LOCAL namespace, and the node name and address settings are not coherent across all nodes. Also check to make sure that the node is entered into its own LOCAL namespace. This can be a problem elsewhere, however. Very rarely, a cache corruption has been known to cause this error. To flush the cache, use the command: NCL> flush session control naming cache entry "*" Also check to see that you are using the latest ECO for DECnet-Plus for the version you are running. DECnet-Plus can use the following namespaces: o DECdns: DECnet-Plus distributed name services. o LocalFile: a local file containing names and addresses. o DNS/Bind: the IP distributed name services. o The UCX local host file. [Stephen Hoffman] ------------------------------------------------------------ MISC7. How to determine the network hardware address? Most Alpha and VAX systems have a console command that displays the network hardware address. Many systems will also have a sticker identifying the address, either on the enclosure or on the network controller itself. The system console power-up messages on a number of VAX and Alpha systems will display the hardware address, particularly on those systems with an integrated Ethernet network adapter present. If you cannot locate a sticker on the system, if the system powerup message is unavailable or does not display the address, and if the system is at the console prompt, start with the console command: >>> HELP A console command similar to one of the following is typically used to display the hardware address: >>> SHOW DEVICE >>> SHOW ETHER >>> SHOW CONFIG On the oldest VAX Q-bus systems, the following console command can be used to read the address directly off the (DELQA, DESQA, or the not-supported-in-V5.5-and-later DEQNA) Ethernet controller: >>> E/P/W/N:5 20001920 Look at the low byte of the six words displayed by the above command. (The oldest VAX Q-bus systems -- such as the KA630 processor module used on the MicroVAX II and VAXstation II series -- lack a console HELP command, and these systems typically have the primary network controller installed such that the hardware address value is located at the system physical address 20001920.) If the system is a VAX system, and another VAX system on the network is configured to answer Maintenance and Operations Protocol (MOP) bootstrap requests (via DECnet Phase IV, DECnet-Plus, or LANCP), the MOM$SYSTEM:READ_ADDR.EXE tool can be requested: >>> B/R5:100 ddcu Bootfile: READ_ADDR Where ddcu is the name of the Ethernet controller in the above command. The primarly local DELQA, DESQA, and DEQNA Q-bus controllers are usually named XQA0. An attempt to MOP download the READ_ADDR program will ensue, and (if the download is successful) READ_ADDR will display the hardware address. If the system is running, you can use DECnet or TCP/IP to display the hardware address with one of the following commands. $ MCR NCP SHOW KNOWN LINE CHARACTERISTICS ! DECnet Phase IV $ MCR NCL SHOW CSMA-CD STATION * ALL STATUS ! DECnet-Plus $ UCX SHOW INTERFACE/FULL ! TCP/IP versions prior to V5.0 $ TCPIP SHOW INTERFACE/FULL ! TCP/IP versions V5.0 and later A program can be created to display the hardware address, reading the necessary information from the network device drivers. An example C program for reading the Ethernet hardware address (via sys$qio calls to the network device driver(s)) is available at the following URL: http://www.openvms.compaq.com/wizard/swdev/ethernVMS.html To use the DECnet Phase IV configurator tool to watch for MOP SYSID activity on the local area network: $ NCP SET MODULE CONFIGURATOR KNOWN CIRCUIT SURVEILLANCE ENABLED Let the DECnet configurator run for at least 20 minutes. Then issue the following commands: $ NCP SHOW MODULE CONFIGURATOR KNOWN CIRCUIT STATUS TO filename.txt $ NCP SET MODULE CONFIGURATOR KNOWN CIRCUIT SURVEILLANCE DISABLED The resulting file (named filename.txt) can now be searched for the information of interest. Most DECnet systems will generate MOP SYSID messages identifying items such as the controller hardware address and the controller type, and these messages are generated and multicast roughly every ten minutes. Information on the DECnet MOP SYSID messages and other parts of the maintenance protocols is included in the DECnet network architecture specifications referenced in section DOC9. ------------------------------------------------------------ MISC8 combined into SUPP3 ------------------------------------------------------------ MISC9. Why can't I use PPP and RAS to connect to OpenVMS Alpha? OpenVMS Alpha PPP does not presently support authentication, and the Microsoft Windows NT option to disable authentication during a RAS connection apparently doesn't currently work -- RAS connections will require authentication -- and this will thus prevent RAS connections. [Stephen Hoffman] ------------------------------------------------------------ MISC10 relocated to SUPP5 ------------------------------------------------------------ MISC12. Does DECprint (DCPS) work with the LRA0 parallel port? The parallel printing port LRA0: found on many OpenVMS Alpha systems is capable of some bidirectional communications, with enough for basic operations with most parallel printers. DECprint (DCPS) requires more than just the simple handshaking provided by the LRA0: port, therefore DCPS does not work with the LRA0: port. [Paul Anderson] ------------------------------------------------------------ MISC13. How do I check for free space on a (BACKUP) tape? You cannot know for certain, though you can certainly estimate the remaining capacity. Tape media is different than disk media, as disks have a known and pre-determined fixed capacity. Modern disks also appear logically perfect, based on bad block revectoring support and the extra blocks hidden within the disk structure for these bad block replacements. The capacity of tape media is not nearly as pre-determined, and the capacity can vary across different tape media (slightly different media lengths or different foil markers or other variations, for instance) and even on the same media over time (as bad spots in the media arise). Tapes can vary the amount of recording media required, depending on the remaining length of the tape, the numbers of correctable and uncorrectable media errors that might occur, the numbers and sizes of the inter-record gaps and related tape structure overhead, the particular media error recovery chosen, the tape density, the efficiently of any data compression in use, and the storage overhead required by BACKUP, tar, and other similar commands. BACKUP using with the default settings results in approximately 15% overhead, in terms of saveset size. (eg: Assuming a 500 KB input, the total size would be 575 KB.) Assuming no compression: 4 GB media / 575 KB saveset = 7294 savesets Assuming 1:2 compression: 8 GB media / 575 KB saveset = 14588 savesets NB: There are no inter-record gaps on DAT tapes. (When determining media capacity, you have to consider these with nine-track magtape media. Not with DAT (DDS). However, the block structure underneath the variable length record recording is based on a block size of circa 124 KB. Further, writing doubles filemarks and such can cause a loss of up to the underlying block size. Thus even though there are no inter-record gaps on DAT, larger savesets are still usually best. The compression algorithms used on various devices are generally not documented -- further, there is no way to calculate the effective data compression ratio, the tape mark overhead, and similar given just the data to be stored on tape -- short of actually trying it, of course. A typical compression ratio found with "everyday" data is somewhere around 1:1.8 to 1:2. NB: OpenVMS often uses the term COMPACTION for compression control, as in the qualifier /MEDIA_FORMAT=COMPACTION. [Hoffman, Froehlin, Williams] ------------------------------------------------------------ MISC14. So what happened to sys$cmsuper? There is no SYS$CMSUPR service. The typical wisdom for getting into supervisor access mode (from user mode) is to execute a routine in executive mode (via a call to SYS$CMEXEC and the appropriate privilege) and then issue a SYS$DCLAST with the ASTADR parameter pointing to your routine entry point and the ACMODE parameter specified as PSL$C_SUPER. Alternatively, you can reset mode in the call stack return path and unwind from executive or kernel out into supervisor mode. [Brian Schenkenberger] ------------------------------------------------------------ MISC15. How can I send radio pages from my OpenVMS system? There are third-party products available to send messages to radio paging devices (pagers), communicating via various protocols such as TAP (Telocator Alphanumeric Protocol). RamPage (Ergonomic Solutions) is one of the available packages that can generate and transmit messages to radio pagers. Target Alert (Target Systems; formerly the DECalert product) is another. Networking Dynamics Corp has a product called Pager Plus. The System Watchdog package can also send pages. The Process Software package PMDF can route specific email addresses to a paging service, as well. Many commercial paging services provide email contact addresses for their paging customers -- you can simply send email directly to the pager. Some people implement the sending of pages to radio pagers by sending commands to a modem to take the "phone" off the "hook", and then the paging sequence, followed by a delay, and then the same number that a human would dial to send a numeric page. (This is not entirely reliable, as the modem lacks "call progress detection", and the program could simply send the dial sequence when not really connected to the paging company's telephone-based dial-up receiver.) See SOFT1 for information on the available catalog of products. ------------------------------------------------------------ MISC16 relocated to WIRES3 ------------------------------------------------------------ MISC17. How do I reset the LAN (DECnet-Plus NCL) counters? On recent OpenVMS releases: LANCP> SET DEVICE/DEVICE_SPECIFIC=FUNCTION="CCOU" devname ------------------------------------------------------------ MISC18. What are the prefixes for the powers of ten? Power Prefix Abbreviation 10^-18 atto a 10^-15 femto f 10^-12 pico p 10^-09 nano n 10^-06 micro ╣ 10^-03 milli m 10^-02 centi c 10^-01 deci d 10^+01 deca da 10^+02 hecto h 10^+03 kilo k 10^+06 mega M 10^+09 giga G 10^+12 tera T 10^+15 peta P 10^+18 exa E ------------------------------------------------------------ MISC19. OpenVMS Cluster (SCS) over DECnet? Over IP? The OpenVMS Cluster environment operates over various network protocols, but the core of clustering uses the System Communications Services (SCS) protocols, and SCS-specific network datagrams. Direct (full) connectivity is assumed. An OpenVMS Cluster DOES NOT operate over DECnet, nor over IP. No SCS protocol routers are available. Many folks have suggested operating SCS over DECnet or IP over the years, but SCS is too far down in the layers, and any such project would entail a major or complete rewrite of SCS and of the DECnet or IP drivers. Further, the current DECnet and IP implementations have large tracts of code that operate at the application level, while SCS must operate in the rather more primitive contexts of the system and particularly the bootstrap -- to get SCS to operate over a DECnet or IP connection would require relocating major portions of the DECnet or IP stack into the kernel. (And it is not clear that the result would even meet the bandwidth and latency expectations.) The usual approach for multi-site OpenVMS Cluster configurations involves FDDI, Memory Channel (MC2), or a point-to-point remote bridge, brouter, or switch. The connection must be transparent, and it must operate at 10 megabits per second or better (Ethernet speed), with latency characteristics similar to that of Ethernet or better. Various sites use FDDI, MC2, ATM, or point-to-point T3 link. ------------------------------------------------------------ MISC20. Correctly using license PAKs and LMF? If you have multiple LMF$LICENSE.LDB databases in your OpenVMS Cluster, then each and every PAK must be installed in each and every license database present in an OpenVMS Cluster. Even if you use /EXCLUDE or /INCLUDE, you need to have a consistent set of PAKs registered across all licensing databases present in the OpenVMS Cluster. If your software license permits it, you can use the following two commands to transfer license PAKs: $ LICENSE COPY... $ LICENSE ISSUE/PROCEDURE/OUTPUT=file product,... To display the particular license(s) required (such as when you receive a NOLICENSE error), use the following DCL sequence: $ SET PROCESS/PRIVILEGE=ALL $ REPLY/ENABLE $ DEFINE/SYSTEM/EXECUTIVE LMF$DISPLAY_OPCOM_MESSAGE This logical name will cause all license failures to generate OPCOM messages, and this will hopefully show which license(s) you need -- there may well also be additional license failures displayed, as various products can check for and can be enabled by multiple license PAKs. You will want to deassign this logical name when done. Some of the more common license PAKs: DECnet Phase IV: DVNETRTG, DVNETEND, DVNETEXT, or NET-APP-SUP* DECnet-Plus: DVNETRTG, DVNETEND, DVNETEXT, or NET-APP-SUP* TCP/IP Services: UCX, or NET-APP-SUP* OpenVMS Alpha: OPENVMS-ALPHA and OPENVMS-ALPHA-USER OpenVMS VAX: VAX-VMS OpenVMS Galaxy: OPENVMS-GALAXY Cluster (Alpha): VMSCLUSTER, NET-APP-SUP* Cluster (VAX): VAXCLUSTER, NET-APP-SUP* Various NET-APP-SUP (NAS) license packages are available, each with differing collections of products authorized. See the various NAS Software Product Description (SPD) documents for specific details. http://www.compaq.com/info/spd/ To determine which license PAK is failing (via a license check failure OPCOM message), use the command: $ DEFINE/SYSTEM/EXECUTIVE LMF$DISPLAY_OPCOM_MESSAGE TRUE Realize that defining this logical name will cause license checks that are otherwise hidden (unimplemented, latent, or part of a check for any of a series of licenses) to become visible. In other words, expect to see some spurious license check calls when you define this. ------------------------------------------------------------ MISC21. Third-party disk/tape/controllers/SCSI/widgets on OpenVMS? A wide variety of third-party widgets -- SCSI and IDE disks and tapes, graphics controllers, etc -- are available for various platforms. If you purchase third-party "generic" SCSI or IDE storage devices, you and your device vendor will be responsible for the testing and the support of the devices. I would tend to expect that Compaq will address non-standards-compliance problems within OpenVMS (changes that will also not prevent operations with other supported devices, of course), but you and/or the device vendor and/or the device manufacturer are responsible for finding and fixing problems in the particular third-party device and or controller involved. In particular, realize that neither SCSI nor IDE is a particularly standard interface, these interfaces tend to be a collection of optionally-implemented and standardized interface features. You should not and can not simply assume that all SCSI nor IDE storage devices are interchangeable. If you want to try to use a generic SCSI device, use V6.2 or later, or (better) V7.1-2 or later. If you wish to try to use IDE, use OpenVMS V7.1-2 or later. On older OpenVMS releases, see the disk capacity limits (FILE5). With SCSI disks on releases prior to V6.2, ensure that you have the ARRE and ARWE settings configured correctly (disabled). (If not, you will see DRVERR fatal drive errors and error log entries.) Some SCSI disks set the medium type byte as part of the SCSI size field -- this is a SET CAPACITY extension to SCSI specs. This problem also applies to VAX V7.1 and later. Disks with SCSI disk sizes past 8.58 GB and/or with the SET CAPACITY extension require ALPSCSI07 ECO or the OpenVMS Alpha V7.1-2 or later release. (See FILE5 for further details.) Based on the displays of the (undocumented) SYS$ETC:SCSI_INFO tool; this tool is present in OpenVMS V6.2 and later: Issuing 6-byte MODE SENSE QIOW to get current values for page 01h Page Code ................. 01h Page Name ................. Read-Write Error Recovery Saveable .................. Yes Size ...................... 10 Hex Data .................. E6 08 50 00 00 00 08 00 00 00 The E6 indicates that the AWRE and ARRE bits are set, and this is not acceptable on OpenVMS versions prior to V6.2. Further along in the SCSI_INFO display, if you also see: Issuing 6-byte MODE SENSE QIOW to get changeable values for page 81h Page Code ................. 01h Page Name ................. Read-Write Error Recovery Saveable .................. Yes Size ...................... 10 Hex Data .................. C0 08 50 00 00 00 08 00 00 00 The C0 value means that the AWRE and ARRE values can be changed on this particular SCSI device. (This is not always the case.) Use RZDISK from the OpenVMS Freeware, and reset the E6 flag byte to hexadecimal 26 (or whatever the remaining mask when you remove bits C0) on page one. Each SCSI and IDE host contains non-trivial SCSI and IDE driver software, and each device contains equally non-trivial firmware -- taken together with the mechanical and electronic components, this software and firmware will determine whether or not a particular device will function as expected. Also note that various devices -- such as various SCSI CD-R devices -- can implement and can require vendor-specific protocol extensions, and these extensions can require modifications to OpenVMS or the addition of various utilities. In various of these cases, these devices perform functions that will require them to use SCSI or IDE commands that are (hopefully) architecturally-compatible SCSI or IDE command extensions. (Also see UTIL1 and FILE7.) In order for OpenVMS to officially support a particular device, integration and testing work is mandated. There can be no certainty that any particular device will operate as expected in any particular configuration without first performing this (non-trivial) work. It is quite possible to find two devices -- both entirely compliant with applicable standards or interface documents -- that will not interoperate. The same general statement holds for OpenVMS bootstrapping on an unsupported VAX or Alpha platform. It might or might not work. In particular, please see the OpenVMS Software Product Description (SPD) for the list of platforms supported by OpenVMS. OpenVMS is not supported on the Personal Workstation -a series, on the Digital Server series platforms, on the AlphaServer 2100 series 5/375 CPU, on the Multia, and on a variety of other platforms. (You might or might not see success booting OpenVMS on any of these platforms.) [Stephen Hoffman] ------------------------------------------------------------ MISC22. How do I convert? Disk Blocks? KB, MB, GB, TB? The granularity of disk storage allocation is called a disk block. Groups of disk blocks are organized together into the smallest unit of storage that can be allocated, and this unit is called a disk cluster. The number of blocks in a cluster is the cluster factor, and is established when the disk volume is initialized. Each individual disk block is composed of five hundred twelve (512) bytes, or one-half kilobyte. Each byte is comprised of eight bits. A bit represents the smallest unit of information, typically refered to as a one or a zero. OpenVMS tends to uses base two notation for disk storage, while disk storage capacity specifications from most storage vendors (including Compaq) will generally use base ten notation. An OpenVMS disk block is 512 bytes in size; this is one-half kilobyte in base two notation. The following table describes the prefix, the abbreviation, and the associated base ten (marketing) and base two (OpenVMS) values. Base Ten Base Two ----------------------------- ---------------------- Kilobyte (KB) 10**3 1000 2**10 1024 Megabyte (MB) 10**6 1000000 2**20 1048576 Gigabyte (GB) 10**9 1000000000 2**30 1073741824 Terabyte (TB) 10**12 1000000000000 2**40 1099511627776 Petabyte (PB) 10**15 1000000000000000 2**50 1125899906842624 The base ten representation of the 2**40 value is 1099511627776, which is obviously rather ugly. When viewed as a base eight or base sixteen (octal or hexadecimal, respectively) value, the value is far nicer. Specifically, the value is 10000000000 and 40000000 when represented in octal and hexadecimal, respectively. Notational note: Within the OpenVMS FAQ, a Kilobit is represented by the appreviation Kb, while a Kilobyte is represented as KB. To convert OpenVMS disk blocks to (base two) kilobytes (KB; 1024 bytes), simply divide by two. To convert blocks to (base two) megabytes, divide by 2048. Blocks to (base two) gigabytes (GB), divide by 2097152. These particular divisions can also be performed using bitshifts: to divide a value by two, shift the binary value rightwards by one bit position. To convert OpenVMS disk blocks to (base ten) kilobytes, divide by approximately 1.953125. And for those rummaging around deep in SYSGEN, a microfortnight is approximately one second. ------------------------------------------------------------ SOFT1. Where can I find freeware/shareware/software for OpenVMS? Details on many commercial OpenVMS products are available in the catalog located at: http://www.compaq.com/csa/directory/ ---- An OpenVMS Freeware CD-ROM is distributed with OpenVMS, and is also available separately (QA-6KZAA-H8). The contents of the OpenVMS Freeware CD-ROM media are also available online at: http://www.openvms.compaq.com/freeware/ ftp://ftp.montagar.com/ ftp://mvb.saic.com/freewarev40/ and at various other sites. The website also includes various updates and new packages that become available after the CD-ROM distributions are created. Submissions to the OpenVMS Freeware can be made via: http://www.openvms.compaq.com/openvms/freeware/ To acquire the OpenVMS Freeware CD-ROM distribution, you can order an OpenVMS distribution from Compaq (the Freeware is included)(see the OpenVMS SPD for part numbers), or you can specifically order a Freeware distribution from Compaq under part number: QA-6KZAA-H8 The Freeware CD-ROM set contains a large assortment of freeware, and is a good starting point if looking for utilities. Many of the packages listed below are also on the Freeware CD. Some of the most oft-requested OpenVMS tools on the Freeware CD include ZIP and UNZIP and GZIP (please see SOFT14), MMK (make), PINE, PERL, TAR, UUENCODE and UUDECODE. Many other tools are available on the Freeware. The UUENCODE and UUDECODE tools and various other tools are also available as part of TCP/IP Services package. (Use the DCL command procedure SYS$STARTUP:TCPIP$DEFINE_COMMANDS.COM available on V5.0 and later to set up the necessary DCL foreign command symbols used for these and for various other tools provided by TCP/IP Services.) ---- OpenVMS software (formerly at Western Kentucky University (WKU) is now available via Madgoat and via Process Software archives: http://www.process.com/openvms/index.html http://www.madgoat.com/ [Hunter Goatley] ---- The FILESERV packages are also available via anonymous FTP from: Via anonymous FTP from: ftp://ftp.process.com/vms-freeware/ ftp.process.com, under [.WKU.VMS.FILESERV]. ftp.vms.stacken.kth.se, under [.MIRRORS.WKU.VMS.FILESERV]. ftp.ctrl-c.liu.se, under [.WKU.VMS.FILESERV]. ftp.riken.go.jp ftp.vsm.com.au, under kits and kits/decwindows. ftp.vsm.com.au, via the WWW instead of FTP. or via e-mail from FILESERV@PROCESS.COM. Send the commands HELP and DIR ALL in the body of a mail message for more information. ---- Another source of free software is the vmsnet.sources newsgroup (and the corresponding vmsnet.sources.d discussion group). See the monthly posting "vmsnet.sources archives" for a list of sites which archive submissions to vmsnet.sources. ---- Arne VajhЬj runs an OpenVMS WWW page, with software and other pointers, at: http://www.levitte.org/~ava/ ---- Kermit is available at: http://www.columbia.edu/kermit/ or ftp://kermit.columbia.edu/ ---- ZMODEM is available at: ftp://ftp.cs.pdx.edu/pub/zmodem See the FILES file in that directory for further details. Note that this freeware version of ZMODEM will interoperate only with ZMODEM software that is licensed from Omen Technology. (Also on Freeware CD) [Steve Lionel] ---- A good source of software for DEC boxes (and anything else pretty much) is the DECUS library. online catalogs are available as well as some software via ftp.decus.org; there's a gopher server gopher://gopher.decus.org/ an FTP server: ftp://ftp.decus.org/ and a WWW server: http://www.decus.org/ Phone for DECUS orders is 508-841-3502. Lots of good stuff from lots of good folks, and copies on media (tapes, CDs) are cheap. [Everhart@Arisia.gce.com] ---- DECUS SIG Tape collections are available on Mark Berryman's system, ftp://mvb.saic.com/ ---- David Jones's DECthreads-based HTTP_SERVER World-Wide Web server for OpenVMS. http://kcgl1.eng.ohio-state.edu/www/doc/serverinfo.html [Hunter Goatly] ---- Secure Shell (SSH) Server for OpenVMS: http://kcgl1.eng.ohio-state.edu/~JONESD/ssh/DOC/ Secure Shell (SSH) Client for OpenVMS: http://www.free.lp.se/fish/ Information on OpenSSL (SSLeay) for OpenVMS: http://www.free.lp.se/openssl/ [Leo Demers] The SSH terminal client FISH: http://www.free.lp.se/fish/ Information on OpenSSL (SSLeay) and OSU Web server interoperation: http://www.ourservers.net/openvms_ports/ ---- DECwindows Motif V1.2-3 includes NCSA Mosaic 2.4 built for UCX. V1.2-4 includes Spyglass Enhanced Mosaic, which supports many "Netscape" enhancements. Netscape Navigator is also available for OpenVMS. ---- A port of Mosaic 2.7-4 which supports UCX, Multinet and SOCKETSHR/NETLIB is available from: ftp://wvnvms.wvnet.edu/mosaic/ ---- Lynx (a character-cell World-Wide-Web reader) is available from ftp://ftp2.cc.ukans.edu/pub/lynx [Steve Lionel] ---- Netscape Navigator and Mozilla web browsers are available at: http://www.openvms.compaq.com/ebusiness/Technology.html http://www.mozilla.org/ ---- PGP (Phil Zimmerman's "Pretty Good Privacy") is available from various distribution sites, including those listed in the PGP FAQ. Information on an OpenVMS download of PGP is available at: http://www.pgpi.com/ http://zone.pspt.fi/pgp/platforms/vms/ http://www.yrl.co.uk/~phil/pds/pds.html ---- GNU Privacy Guard (GPG, GnuPG): Search the comp.os.vms newsgroup archives for information regarding GnuPG; the source code, binaries for various platforms, and documentation are all available at: http://www.gnupg.org/ The OpenVMS source code and OpenVMS Alpha images can be found at: http://seqaxp.bio.caltech.edu/pub/SOFTWARE/GNUPG1_0_4_VMS.ZIP As of this time, the port only runs on OpenVMS Alpha, but an investigation of an OpenVMS VAX port is reportedly under consideration. [Aaron Sakovich] ---- An archive of the CENA DECwindows, X Windows, and VMS software packages can be found at the following sites: http://decwarch.free.fr/ ftp://ftp2.cnam.fr/decwindows/ ftp://ftp.ctrl-c.liu.se/decwindows/ ftp://ftp.vms.stacken.kth.se/mirrors/decwindows/ http://www.multimania.com/pmoreau/decw/ (See also Freeware CD) [Patrick Moreau] ---- ImageMagick is an X11 package for display and interactive manipulation of images. The package includes tools for image conversion, annotation, compositing, animation, and creating montages. ImageMagick can read and write many of the more popular image formats (e.g. JPEG, TIFF, PNM, XPM, Photo CD, etc.). http://www.imagemagick.org/ (Also on Freeware CD) [cristy@dupont.com] ---- XV is available from: ftp://ftp.cis.upenn.edu/pub/xv http://www.sanface.com/ ftp://www-pi.physics.uiowa.edu/~dyson/xv-3_10a-vms.zip ---- Many software packages are available for displaying various bitmap files (.JPG, .GIF, .BMP, etc) on OpenVMS. Xloadimage, Xli, Xv, ImageMagick are the most common tools used under OpenVMS. Various web browsers such as Mozilla (qv) can also display various file formats on OpenVMS. You can find some of these tools at the DECwindows Archive: http://www.multimania.com/pmoreau/decw/index.html http://www.multimania.com/pmoreau/decw/images.html [Patrick Moreau] ---- GHOSTSCRIPT (gs) and GHOSTVIEW (gv) are available from: http://www.openvms.compaq.com/freeware/freeware50/ Also available on the Freeware V5 CD-ROM. Also see: http://www.cs.wisc.edu/~ghost/gnu/ ---- XPDF, a viewer for PDF (Adobe Acrobat) files, is available from: http://www.openvms.compaq.com/freeware/freeware50/xpdf/ http://www.foolabs.com/xpdf/ Also available on the Freeware V5 CD-ROM. [Ki Suk Hahn, Hoffman] Beware: the XPDF tool included on OpenVMS Freeware V4.0 is dated, and has been found to have various bugs. Use the Freeware V5.0 version of the XPDF kit, or later. A Java-based PDF viewer is available from Adobe, and is known to operate on recent OpenVMS Alpha releases: http://www.adobe.com/ ---- Various OpenVMS-related tools -- both freeware and shareware -- such as txt2pdf -- are available from at: http://www.sanface.com/ ---- The MPEG library version 1.1 is available for OpenVMS VAX and Alpha at ftp://ftp.x.org/contrib/vms/mpeglib-11-vms.readme ftp://ftp.x.org/contrib/vms/mpeglib-11-vms.zip [Patrick Moreau] ---- List of FTP Mirror Sites for the DECWINDOWS archive: AXP.PSL.KU.DK (Multinet) Mirror of CENA DECW archive FTP2.CNAM.FR (MadGoat) Mirror of CENA DECW archive ftp.x.org (in /contrib/vms) not really a mirror, but I try to put all my new ports at this site. ---- List of HTTP Mirror Sites for the DECWINDOWS archive: http://axp616.gsi.de:8080/wwwar/cena/decwindows/cena.html Some X clients from the OpenVMS Freeware CDROM are located in [.DECWINDOWS.CDFREEWARE] directory. [Patrick Moreau] ---- I have written and installed on INFO.CS.PUB.RO an 'Archie' clone for VMS software. Telnet to that machine, and login as VMSARCI. It contains now listings for over 30 ftp servers with >14 GB of VMS software. The most useful commands are LIST, which generates a list of scanned ftp servers, and FIND <string>, whichs looks for a file containing "string" in the name; the search modes are only "substring" [default] and "exact", and regex search is not supported (so FIND EMACS will work, but FIND *EMACS* or FIND *EMACS*.* will not). The search is case-insensitive. Those of you that know other ftp servers with VMS software that I haven't found, please let me know. (The program that build the databases can recursively scan whole servers or just specific directories). Sorry, this service is VERY SLOW [by Western standards], because it runs on a quite-busy oldie-but-goodie VAXStation 3400 with 20Mb and a RF71, and the Internet link is only 256 Kpbs (sometimes unavailable). [stfp@roipb.cs.ipb.ro] ---- The Levitte (extended :-) Family (and OpenVMS) website: http://www.levitte.org/ http://www.levitte.org/~ava/ --- Robert's OpenVMS Hobbyist Systems, including OpenVMS public domain software and various ports: http://www.ourservers.net/ [Robert Alan Byer] ---- CalTech Software Archives: http://seqaxp.bio.caltech.edu/pub/SOFTWARE/AAA_CONTENTS.TXT ---- DJE Systems Website (David J. Dachtera) http://www.djesys.com/freeware/vms/ ---- Web Servers: Apache Web server (Compaq Secure Web Server (CSWS)): http://www.openvms.compaq.com/ebusiness/Technology.html http://www.er6.eng.ohio-state.edu/~jonesd/apache/1_3_9/ OSU Web server http://www.er6.eng.ohio-state.edu/www/doc/serverinfo.html http://www.kjsl.com/archives/ email list: VMS-WEB-daemon-Request@KJSL.COM WASD Web server http://wasd.vsm.com.au/wasd/ Purveyor Web server: email list: listserv@cjis.ci.lincoln.ne.us no subject, one line message: SUBSCRIBE PURVEYOR ---- CD-R (CD-Recordable) media tools: please see FILE7 ---- Grace (WYSIWYG 2D plotting tool) http://plasma-gate.weizmann.ac.il/Grace/ ---- The POV-Ray ("Persistance of Vision" Raytracer) ray-tracing graphics package is available on the OpenVMS Freeware. ---- Majordomo mailing list handler: http://www.openvms.compaq.com/ebusiness/Technology.html ---- PINE (OpenVMS tools for sending and receiving MIME mail): ftp://ftp2.kcl.ac.uk/pub/vms/pine-vms/ http://www.agh.cc.kcl.ac.uk/files/vms/pine-vms/ A MIME tool is available in OpenVMS V7.2 and later. Also see the mmencode base64 encode and decode available at: http://nucwww.chem.sunysb.edu/htbin/software_list.cgi ---- Menufinder (menu-driven system management environment): http://www.itre.com/mf/download.html ---- tcgmsg, pvm, mpi, linda: ftp://v36.chemie.uni-konstanz.de/tcgmsg_vms/tcgmsg_vms.zip ---- OpenVMS software that can control a Tripp-Lite Uninterruptable Power Supply (UPS) is available from: http://seqaxp.bio.caltech.edu/pub/SOFTWARE/TCONTROL.ZIP [David Mathog] UPShot web-based software for controlling a UPS is available from: http://www.tmesis.com/apc/beta.htmlx [Brian Schenkenberger] ---- Examples of using the OpenVMS Foreign MAIL interface are available at: http://www.hhs.dk/anonymous/pub/vms/collection/foreignmail.zip http://www.hhs.dk/anonymous/pub/vms/nbl/nbl.zip [Arne Vajhoej] For tools to manage or to search your OpenVMS MAIL file, see: http://vms.process.com/scripts/fileserv/fileserv.com?MLSEARCH [Phillip Helbig, Hunter Goatley] ---- AscToHTM attempts to convert any plain text file to HTML, while AscToTab restricts itself to files that are plain text tables. (Versions are also availabe on the OpenVMS Freeware). http://www.jafsoft.com/asctohtm/index.html http://www.jafsoft.com/asctotab/index.html [Jaf] ---- Information on the SAMBA package (PC disk and print services) is available at: http://ifn03.ifn.ing.tu-bs.de/ifn/sonst/samba-vms.html http://www.samba.org/ To subscribe to the SAMBA-VMS mailing list e-mail listproc@samba.org with no subject line and the following single line of text: subscribe samba-vms Your Full Name Also see: http://lists.samba.org/ ---- Perl: See SOFT12 ---- XML: Source code of an XML Parser is available from Oracle. Also see: http://www.python.org/sigs/xml-sig/ An XML parser is available as part of OpenVMS V7.3 and later. ---- GTK+ (The GIMP GUI Tookit) for OpenVMS: http://www.openvms.compaq.com/ebusiness/Technology.html ---- OpenVMS Porting Library now available - for easier porting of C/C++ applications from UNIX to OpenVMS: http://www.openvms.compaq.com/ebusiness/Technology.html ---- Mlucas (specialized FFT): ftp://hogranch.com/pub/mayer/README.html [Robert Deininger] ---- Tools to monitor the terminals and the activity of other OpenVMS users (in addition to existing auditing capabilities in OpenVMS) are available. Peek and Spy (Networking Dynamics) and Contrl (Raxco) are two of the commercial packages, while the freeware Supervisor package is available on OpenVMS VAX. http://www.networkingdynamics.com/ http://www.raxco.com/ ---- Python for OpenVMS: http://www.python.org/ http://decus.decus.de/~zessin/python/ Various packages: http://richj.home.mindspring.com/richware/index.html http://www3.sympatico.ca/n.rieck/links/cool_vax_vms.html ---- TSM (Terminal Server Manager) is available via: http://www.compaq.com/support/digital_networks_archive/servers/tsm/index.html http://www.openvms.compaq.com/freeware/freeware50/ (Beware: The TSM saveset on the Freeware V5.0 disk media is busted.) ---- Information on the Kermit tool ("file transfer, terminal emulation, script programming, and character-set conversion") is available via: http://www.columbia.edu/kermit/ ---- TCL for OpenVMS: ftp://sapodilla.rsmas.miami.edu/pub/VMS-tcl/tcl8.0p2-tk8.0p2/ ---- make, gmake, mmk and other build tools are available on the Freeware. ---- An OpenVMS port of the ht://Dig web search engine is available at: ftp://ftp.pdv-systeme.de/vms/ ------------------------------------------------------------ SOFT2. Where can I find the UNIX <whatever> tool for OpenVMS? POSIX: POSIX-compliant, Compaq-supported versions of POSIX routines and utilities: lex, yacc, grep, tar, uuencode, uudecode, rcs, man, cpio, make, awk, ar, mail, etc., the POSIX shell, the POSIX C programming interface, etc. POSIX utilities can be used from within the POSIX shell, and via the DCL `POSIX/RUN POSIX$BIN:tool.' command. POSIX is a separately-installed package, and is licensed with OpenVMS V5.5 later. The POSIX installation kit is included on the consolidated distribution CD-ROM kit, and installation kits are also available separately. The POSIX package is no longer supported on OpenVMS, components of the POSIX standard such as parts of the POSIX API are being added into OpenVMS. Versions of POSIX generally do not operate on V7.x OpenVMS VAX and OpenVMS Alpha releases. C: Common C system and library routines are present in the DEC C run-time library, which is available for V5.5 and later, and is shipped in V6.1 and later. DEC C is the upgrade for VAX C, DEC C and VAX C can coexist on the same system OpenVMS VAX system, and both compilers can be enabled via the "C" license PAK. Also see SYS$EXAMPLES:, and (if either is installed) the DECW$EXAMPLES: and UCX$EXAMPLES: areas. X Windows: Various Compaq X Windows utilities: xwd, xev, mosaic WWW browser, xrdb, bmtoa and atobm, xpr, ico, etc. In DECW$UTILS: in DECwindows Motif V1.2-3 and later. Also see DECW$EXAMPLES: for example X and C programs. Miscellaneous tools and examples: Various unsupported OpenVMS tools and code examples: DWAUTH (X Windows SYSUAF authorize-like tool), various versions of grep, fgrep, yacc, vmstar, uuencode, gawk, etc. html tools, the mx SMTP mail exchange package, X windows flight simulator, the mxrn X windows news reader, the OSU HTTPD WWW server, a WWW gopher browser, etc. are all on the FreeWare V2.0 CD-ROM. IP tools: DEC TCP/IP (UCX) contains tools such as ping, uuencode, smtp, snmp, rcp, nfs, tnfs, etc. OpenVMS V6.2 and UCX V3.3 and later can be used together in support of the /FTP, /RCP, /RLOGIN, /TELNET, and /TN3270 qualifiers on various DCL commands. Also see the various C examples in UCX$EXAMPLES: [Stephen Hoffman] vi clones vile, vim and elvis (vi clones) run on OpenVMS. The current version of vile is 7.1 It's available at http://www.clark.net/pub/dickey/vile/vile.html Versions of VILE are also on the OpenVMS Freeware vim: vi improved http://www.polarfox.com/vim/ [Zoltan Arpadffy] GNU tools: Information on the GNU on VMS (GNV) Project, which aims to port GNU software (BASH, etc) to OpenVMS, is available at: http://gnv.sourceforge.net/ Software info: http://vms.gnu.ai.mit.edu/software/ Software archive: ftp://vms.gnu.ai.mit.edu/gnu-vms/software/ GCC: A mirror for work performed at the Progis company in Germany in porting GCC (GNU C) to OpenVMS Alpha and OpenVMS VAX is available at: ftp://vms.gnu.org/progis_mirror/gcc http://www.levitte.org/~ava/vms_gnu.htmlx The latest (known to me) GCC version for VAX/VMS (binaries only) is 2.7.1 from Pat Rankin's site. ftp://ftp.caltech.edu/pub/rankin/ [Jason Armistead, Richard Levitte, Arne Vajhoej, John E. Malmberg] There are also updated header files for GCC on OpenVMS VAX that allow it to work with TCP/IP Sockets and the Compaq C C RTL at: ftp://ftp.qsl.net/pub/wb8tyw/gcc281_u/ [John E. Malmberg] Some of the available console management options for OpenVMS: http://www.robomon.com/ (Heroix) http://www.ki.com/products/clim/ (KI Products) http://www.globalmt.com/ (Global Maintech) http://www.tditx.com/ (TECsys) http://www.cai.com/products/commandit.htm (CA) [Kerry Main] If you need to change the file modification date and are looking for a utility such as the UNIX touch tool, look at DFU on the OpenVMS Freeware (DFU SET or simular), or use an existing DCL commands such as: SET FILE/PROTECT=(current_protection_mask) [...]*.* A table listing translations between UNIX shell and OpenVMS DCL commands was posted to comp.os.vms by Christopher Smith: http://deja.com/getdoc.xp? AN=581596523.1&CONTEXT=953337549.952369155 -- The UNIX touch tool is available via various means: $ RENAME filename.ext;version * http://nucwww.chem.sunysb.edu/helplib/@hvmsapps/TOUCH MadGoat FILE tool (see the MadGoat archives) use /REVISION_DATE or /CREATION_DATE The DFU tool (see the OpenVMS Freeware) The pair: $ set file 'p1' /acl=(ident=[system],access=none) $ set file 'p1' /acl=(ident=[system],access=none) /delete SET FILE/VERSION=0 The following hack: $! Command procedure SETDATE.COM $! $! Changes the DATES for an input file to a $! file named OUTFILE. $! $assign/nolog 'p1' outfile $convert/fdl=sys$input 'p1' outfile: date creation 01-apr-2010 expiration 01-Apr-2012 revision 01-Apr-2011 backup ... The following RMS system service sequence: $open (with xabrdt) set the desired values in the xabrdt $close ------------------------------------------------------------ SOFT3. Where can I get the Netscape Navigator Mozilla.org Web Browser? Mozilla.org is the open source organization providing Netscape and other interested parties with a browser. Netscape is expected to commercialize this mozilla.org browser, add additional proprietary features, and release it as Netscape Communicator (version number TBD). This Netscape Communicator will contain the features that the Internet community expected to see in Netscape Communicator V5. OpenVMS Engineering is currently porting Mozilla.org's web browser to OpenVMS -- OpenVMS baselevels of the browser are currently available for download. The Mozilla.org web browser schedule is available at: http://www.mozilla.org/ The latest information and current downloads are available at: http://www.openvms.compaq.com/ebusiness/Technology.html See section SOFT9 for information on various certificates for V3.003 Netscape Navigator; certificates that have presently expired. [Sue Denham] [Stephen Hoffman] ------------------------------------------------------------ SOFT4. Where can I get Java for OpenVMS? Java is available on and is included with OpenVMS Alpha, starting with the OpenVMS Alpha V7.2 and later releases. Java download kits are available for OpenVMS Alpha V7.1 and later releases. Java is not available on OpenVMS VAX. As for why: the Java language definition requires a floating point format (IEEE) that is not native to VAX, and this would require the emulation of all floating point operations within Java applications. Further, the C source code used to implement for Java itself is heavily dependent on passing IEEE floating point values around among the many internal subroutines, and adding support for VAX would entail changes to the Compaq C compiler for OpenVMS VAX -- and specifically to the VAX VCG code generator that is used by Compaq C on OpenVMS VAX systems -- in order to add support for passing IEEE-format floating point doubles around. Alternatively, extensive changes to the Java source code to remove the assumption that the double is an IEEE floating point value. There are currently no plans to make a version of Java available for OpenVMS VAX. (A prototype version of Java was created for OpenVMS VAX, and performance was found to be inadequate at best.) If Java2 or other environment lifts the requirements for IEEE floating point as part of the language definition, this decision may be revisited. If you are having problems with Display Postscript, you need to upgrade your Java kit -- 1.2.2-3 and later remove the requirement for Display Postcript extensions, and Java 1.2.2-3 is required with DECwindows V1.2-6 and later. For additional information on Java for Alpha systems, please see the OpenVMS documentation (V7.2 and later), and the following site: http://www.compaq.com/java/alpha/index.html Compaq Secure Web Server (CSWS) includes CSWS_JAVA, which provides the following Apache Tomcat technologies: JavaServer Pages 1.1, Java Servlet 2.2, and MOD_JK. (CSWS is based on the Apache web server. See SOFT1.) ------------------------------------------------------------ SOFT5. VAX C and DEC C, and other OpenVMS C Programming Considerations? VAX C V3.2 was released for OpenVMS VAX systems in 1991. DEC C V4.0 replaced VAX C V3.2 in 1993 as the Compaq C compiler for OpenVMS VAX systems. Compaq C is the ANSI C compiler for OpenVMS Alpha systems. VAX C predates the ANSI C standards, and has various areas that are not compliant with ANSI C requirements. Compaq C is an ANSI C compiler, and can also compile most VAX C code when /STANDARD=VAXC is specified. Versions of this compiler between V3.2 and V6.0 (exclusive) were known as either DEC C or DIGITAL C. Both compilers can be installed at the same time on the same OpenVMS VAX system, allowing a migration from VAX C to DEC C, and allowing the same DEC C code to be used on OpenVMS VAX and OpenVMS Alpha. In 1999, the C compiler version is Compaq C V6.0. The system manager can choose the system default C compiler when Compaq C is installed on a system with VAX C, and a C programmer can explicitly select the required compiler for a any particular compilation. A current "C" license PAK allows access to both VAX C and Compaq C on the same OpenVMS VAX system. Various Compaq C versions can be installed on OpenVMS VAX V5.5-2 and later. OpenVMS VAX releases such as V5.5-2 and V6.0 will require the installation of a Compaq C RTL kit, a kit that is included with the Compaq C compiler. OpenVMS VAX versions V6.1 and later do not require a seperate RTL kit, but Compaq C RTL ECO kits are available to resolve problems found with the C RTL on various OpenVMS releases. Wwith Compaq C, for automatic resolution of the standard C library routines by the LINKER utility, use the /PREFIX qualifier, such as /PREFIX=ALL_ENTRIES. If a particular application program replaces an existing C library routine, use /PREFIX=(ALL_ENTRIES,EXCEPT=(...)). (VAX C required explicit specification of an RTL shareable image or C object library during the link.) When the /PREFIX is requested, the compiler generates a "decc$" prefix on the specified symbols. This prefix allows the LINKER to resolve the external symbols against the symbols present in the DECC$SHR library. The DECC$SHR library is included in the IMAGELIB.OLB shareable image library, and IMAGELIB is searched by default when any program (written in any language) is LINKed. Because the standard C library routine names are very likely to match application routines written in other languages, a prefix "decc$" is added to the C symbol names to assure their uniqueness; to prevent symbol naming conflicts. C programs, however, can sometimes have private libraries for various purposes, and the external routines share the same names as the library routines. (This is not recommended, but there are applications around that use this technique.) Thus the need to explicity specify whether or not the "decc$" prefix should be prepended to the external symbol names by the compiler. The qualifiers, and most (all?) with associated pragmas, that may be of interest when migrating VAX C code to Compaq C include: /PREFIX=ALL_ENTRIES As mentioned above. Failure to specificy this qualifier can cause the compiler to not add the prefixes for the names of the C library routines into the references placed in the object module, which can in turn cause problems resolving the external symbols in the library when the object code is linked. /ASSUME=WRITABLE_STRING_LITERALS Some VAX C programs erroneously write to the string literals. By default, Compaq C does not allow the constants to change. /SHARE_GLOBALS Enables sharing ("shr") of globals and of extern variables. Compaq C sets externs as non-shareable ("noshr"), VAX C as "shr". /EXTERN_MODE=COMMON_BLOCK VAX C assumes common block model for external linkages. /[NO]MEMBER_ALIGNMENT Refers to the padding placed between member elements within a struct. Disabling member alignment packs the data more tightly into memory, but this packaging has performance implications, both on OpenVMS VAX and particularly on OpenVMS Alpha systems. Permit structure members to be naturally aligned whenever possible, and avoid using /NOMEMBER_ALIGNMENT. If you need to disable member alignment, use the equivilent #pragma to designate the specific structures. The alignment of structure members normally only comes into play with specific unaligned data structures -- such as the sys$creprc quota itemlist -- and with data structures that are using data that was organized by a system using byte or other non-member alignment. Versions of Compaq C such as V6.0 include the capability to extract the contents of the standard header libraries into directories such as SYS$SYSROOT:[DECC$LIB...], and provide various logical names that can be defined to control library searches. With Compaq C versions such as V6.0, the default operations of the compiler match the expectations of most OpenVMS programmers, without requiring any definitions of site-specific library-related logical names. (And logical names left from older DEC C versions can sometimes cause the compiler troubles locating header files.) Compaq C V5.6 and later include a backport library, a mechanism by which Compaq C running on older OpenVMS releases can gain access to newer RTL routines added to the RTL in later OpenVMS releases -- the language RTLs ship with OpenVMS itself, and not with the compilers. Example C code is available in SYS$EXAMPLES:, in DECW$EXAMPLES (when the DECwindows examples are installed), in UCX$EXAMPLES (when Compaq TCP/IP Services is installed), on the Freeware CD-ROMs, and at web sites such as http://www.openvms.compaq.com/wizard/ Other common C issues: The localtime() function and various other functions maintain the number of years since 1900 in the "struct tm" structure member tm_year. This field will contain a value of 100 in the year 2000, 101 for 2001, etc., and the yearly incrementation of this field is expected to continue. The C epoch typically uses a longword (known as time_t) to contain the number of seconds since midnight on 1-Jan-1970. At the current rate of consumption of seconds, this longword is expected to overflow (when interpreted as a signed longword) circa 03:14:07 on 19-Jan-2038 (GMT), as this time is circa 0x7FFFFFFF seconds since the C base date. (The most common solution is to ensure that time_t is an unsigned.) If C does not correctly handle the display of the local system time, then check the UTC configuration on OpenVMS -- the most common symptom of this is a skew of one hour (or whatever the local daylight savings time change might be). This skew can be caused by incorrect handling of the "is_dst" setting in the application program, or by an incorrect OpenVMS UTC configuration on the local system. (See section TIME4.) When sharing variables with other languages, here is some example Compaq C code... ... #pragma extern_model save #pragma extern_model strict_refdef extern int VMS$GL_FLAVOR; #pragma extern_model restore ... and here is some associated example Bliss code... ... EXTERNAL VMS$GL_FLAVOR, .... Other common C++ issues: Compaq C++ (a separate compiler from Compaq C) provides both symbol mangling and symbol decoration. Some of the details of working with longer symbol names and the resulting symbol name mangling in mixed language environments are listed in the shareable image cookbook, and in the C++ documentation. Symbol name decoration permits the overloading of functions (by adding characters to the external symbol for the function to indicate the function return type and the argument data types involved), and mixed-language external references can and often do need to disable this decoration via the extern "C" declaration mechanism: extern "C" { extern int ExternSymbol(void *); extern int OtherExternSymbol(void *); } Also see ALPHA16 for information on /ARCHITECTURE and /OPTIMIZE=TUNE. See PROG17 for information on the C system and the lib$spawn call in CAPTIVE environments. Constructs such as the order of incrementation or decrementation and the order of argument processing within an argument list are all implementation-defined. This means that C coding constructs such as: i = i++; a[i] = i++; foo( i, i++, --i); are undefined and can have (adverse) implications when porting the C code to another C compiler or to another platform. In general, any combination of ++, --, =, +=, -=, *=, etc operators that will cause the same value to be modified multiple times (between what the ANSI/ISO C standard calls "sequence points") produce undefined and implementation-specific results. Within C, the following are the "sequence points": the ";" at the end of a C statment, the ||, &&, ?:, and comma operators, and a call to a function. Note specifically that = is NOT a sequence point, and that the individual arguments contained within a function argument list can be processed from right to left, from left to right, or at any random whim. Compaq C for OpenVMS VAX (formerly DEC C) and VAX C do differ in the related processing. So you are looking for OpenVMS-specific definitions (include files)? UCBDEF.H, PCBDEF.H and other OpenVMS-specific definitions -- these are considered part of OpenVMS and not part of the C compiler kit -- are available on all recent OpenVMS Alpha releases. To reference the version-dependent symbol library sys$share:sys$lib_c.tlb, use a command similar to the following for compilation: CC sourcea+SYS$LIBRARY:SYS$LIB_C/LIB You can also define DECC$TEXT_LIBRARY to reference the library. You will want to review the Programming Concepts manual, and specifically take a quick look at Chapter 21. And some general background: the STARLET definitions (and thus the sys$starlet_c.tlb library) contain the symbols and the definitions that are independent of the OpenVMS version. The LIB definitions (and thus sys$lib_c) contain symbols and definitions that can be dependent on the OpenVMS version. You won't need to rebuild your code after an OpenVMS upgrade if you have included definitions from STARLET. The same cannot be said for some of the definitions in LIB -- you might need to rebuild your code. (The UCB structure can and has changed from release to release, for instance.) Recent versions of C automatically search sys$starlet_c.tlb. Explicit specification of sys$lib_c.tlb is required. Also see the Ask The Wizard website (www.openvms.compaq.com/wizard/) topics (2486), (3803), and (1661). ------------------------------------------------------------ SOFT6. Obtaining user input in DCL CGI script? If you choose to use the GET method, then the form data is available in the DCL symbol QUERY_STRING, in URL-encoded format. If you use the POST method, then you need to read the form data from stdin. For a DCL CGI script running under the Netscape FastTrack web server, you can read the data using the following READ command: $ READ SYS$COMMAND postdata to read the information in. [Colin Blake] The following describes the use of DCL command procedures as CGI scripts with the OSU web server: http://www.levitte.org/~ava/cgiscripts_other.htmlx [Leif Jansson] ------------------------------------------------------------ SOFT7. How do I get my own batch entry number? To have a batch procedure retrieve its own batch entry number, use the following: $ Entry = F$GETQUI("DISPLAY_ENTRY", - "entry_number","display_entry","this_job") Remember that the entry numbers issued by the OpenVMS Job Controller are opaque longword values. Don't assume you know the format of the number, nor the range of numbers you might see... [Peter Weaver] ------------------------------------------------------------ SOFT8. How do I convert to new CMS libraries? A change was made to the format of the CMS database for CMS libraries starting with V3.5-03 -- to ensure that earlier versions of CMS are unable to access the database once the "conversion" to V3.5-05 and later is made, you must issue the following two commands when upgrading from V3.5-03 and prior. (The only differences between CMS version V3.5-03 and CMS version V3.5-05 involve changes to ensure that np earlier version of CMS can access the "converted" database.) To perform the "conversion", issue the following commands for each CMS library present: $ RENAME disk:[directory]00CMS.* 01CMS.* $ COPY NLA0: disk:[directory]00CMS.CMS The new file 00CMS.CMS must have the same security settings as the 01CMS.CMS file, and is created solely to ensure continued compatibility with tools that expect to find a 00CMS.CMS file (eg: various versions of the Language-Sensitive text editor LSEDIT). ------------------------------------------------------------ SOFT9. Where can I get new certificates for Netscape Navigator? The URLs that I found for adding/updating root certificates are: http://www.entrust.net/customer/generalinfo/import.htm entrust http://www.thawte.com/ thwate https://www.verisign.com/server/prg/browser/root.html verisign [Ken Chaney] To update certificates in Netscape Navigator V3.03 on OpenVMS, use the following: Here's how to update your Root certificates in Netscape: Thawte Server certificate which expired in 1998: 1) Under the Options Menu choose "Security Preferences..." 2) Select the "Site Certificates" tab 3) Select "Thawte Server CA" in the list of certificates 4) Select "Delete Certificate" and then "OK" 5) Go to http://www.thawte.com/serverbasic.crt 6) Follow the instructions on the popup dialog box to accept the certificate This mostly involves hitting the "Next" button and clicking an accept button and then naming the resulting certificate. I named it the same name as the original. VeriSign/RSA Server certificate which expired Dec 31, 1999: 1) Under the Options Menu choose "Security Preferences..." 2) Select the "Site Certificates" tab 3) Select "Verisign/RSA Secure Server CA" in the list of certificates 4) Select "Delete Certificate" and then "OK" 5) Go to https://www.verisign.com/server/prg/browser/root.html 6) Follow the instructions on the popup dialog box to accept the certificate This mostly involves hitting the "Next" button and clicking an accept button and then naming the resulting certificate. Verisign suggests using the name "VeriSign CA". [Vance Haemmerle] ------------------------------------------------------------ SOFT10. Why doesn't DCL symbol substitution work? The DCL symbol substitution processing occurs only at the DCL prompt, not within data and not within files. If you wish to perform symbol substitution in this environment, you typically write a small file containing the command(s) and data to be invoked -- potentially only the data -- and you then invoke the created procedure or reference the specified data. In this case, use of a file containing nolinemode commands or other techniques might be useful -- you will want to ensure that the text editor you use does not attempt to use screen mode or similar, as this is not generally considered adventageous within a command procedure. Tools such as FTP have alternatives: COPY/FTP. DCL symbol substitution occurs in two passes, using the ampersand and the apostrophe. In most cases, only the apostrophe is necessary. In a few cases -- such as the DCL PIPE command -- you will may need to use the ampersand to get the substitution to work. The following example uses ampersand substitution to transfer the contents of the header into a logical name: $ PIPE CC/VERSION | (READ SYS$PIPE hdr ; DEFINE/JOB/NOLOG hdr &hdr ) A logical name (in the job logical name table; shared by all processes in the current job) was used as DCL symbols cannot be returned back out from a DCL PIPE or other spawned subprocess. ------------------------------------------------------------ SOFT11. Duplicates MGMT40. ------------------------------------------------------------ SOFT12. Where can I get Perl for OpenVMS? OpenVMS support is included in the standard distribution of Perl, the popular scripting language created by Larry Wall. In addition to nearly all of the functionality available under Unix, OpenVMS-specific Perl modules provide interfaces to many native features, as well as access to Oracle, Ingres, and Sybase databases via the Perl DBI available on OpenVMS. A website useful for getting started with Perl on OpenVMS -- where you will find such things as download links, instructions, auxiliary tools, and sample scripts -- is available at: http://www.sidhe.org/vmsperl If you have a C compiler, the best way to obtain Perl is to download and build it yourself. The latest production quality source kit is available from: http://www.perl.com/CPAN/src/stable.tar.gz You will need GUNZIP and VMSTAR (both available from the OpenVMS Freeware CD, or from other sites) to unpack the archive; once you've done that, read the instructions in the README.vms file. Binary distributions for most Alpha and VAX environments are available on the OpenVMS Freeware CD-ROM and from various websites, including the following: http://www.sidhe.org/vmsperl/prebuilt.html http://www.openvms.compaq.com/freeware/perl5/ During active Perl development cycles, test kits are sometimes found at: from: ftp://ftp.sidhe.org/ Watch the mailing list (see below) for details on experimental releases. Charles Lane maintains pages on how to write CGI scripts in Perl for the OSU HTTP server, as well as more general tips, tricks, and patches for building and running Perl on OpenVMS: http://www.crinoid.com/crinoid.htmlx There are OpenVMS-specific Perl modules that implement interfaces to a subset of the VMS System Services. With these modules, you can get (and often set) device, job, queue, user, system, and performance information. The lock manager, RMS indexed files, screen management utilities, and Intracluster Communication Services are also accessible via Perl. The relevant modules are all available from: http://www.perl.com/CPAN/modules/by-module/VMS To subscribe to the OpenVMS Perl mailing list (a discussion forum for both user support and new development), send an email message to: vmsperl-subscribe@perl.org The mailing list archives may be searched at: http://www.xray.mpe.mpg.de/mailing-lists/vmsperl [Craig Berry] ------------------------------------------------------------ SOFT13. Where can I get DECmigrate (VEST and TIE)? The DECmigrate image translation tool, a tool that translates OpenVMS VAX images for use on OpenVMS Alpha is available at: http://www.support.compaq.com/amt/decmigrate/index.html This tool is not currently supported. See UTIL4. ------------------------------------------------------------ SOFT14. Where can I get Zip, Unzip, self-extracting zip, etc? Many packages are provided in ZIP, GZIP, or BZIP format, which requires you to acquire the associated unzip tool to unpack it. You can get ZIP and UNZIP from the following areas: http://www.openvms.compaq.com/freeware/freeware50/000tools/ http://www.openvms.compaq.com/freeware/freeware50/bzip2/ http://www.openvms.compaq.com/freeware/freeware50/info-zip/ http://www.openvms.compaq.com/freeware/freeware40/000tools/ ftp://ftp.process.com/vms-freeware/unzip.alpha_exe ftp://ftp.process.com/vms-freeware/unzip.vax_exe http://www.decus.de:8080/www/vms/sw/zip.htmlx http://www.djesys.com/zip.html http://www.djesys.com/unzip.html or you can request the FILESERV_TOOLS package from the e-mail server. [Beware: The [000TOOLS...] pre-built versions of ZIP on the OpenVMS Freeware V4 (http://www.openvms.compaq.com/freeware/freeware40/) CD-ROM will erroneously return BILF errors on OpenVMS V7.2 and later. Use of the source on the Freeware V4 to rebuild the ZIP image(s), or acquiring a pre-built ZIP image from one of the above areas can avoid this. The pre-built version of ZIP on the Freeware V4 kit is older than the included ZIP sources, and it contains a latent bug.] Directions for using sfx (self-extracting zip) are available in the unzip kit available at: http://www.openvms.compaq.com/freeware/freeware50/unzip542/ Specifically: http://www.openvms.compaq.com/freeware/freeware50/UNZIP542/UNZIPSFX.TXT If you want to build the zip images for yourself (eg: for an older OpenVMS version), pull over the entire contents of: http://www.openvms.compaq.com/freeware/freeware50/unzip542/vms-binaries/ and invoke LINK.COM. [End of Part 4/5] --------------------------- pure personal opinion --------------------------- Hoff (Stephen) Hoffman OpenVMS Engineering hoffman#xdelta.zko.dec.com
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |