32190 90001 DSN DS HP 3000 To Reference Manual Sep1982
32190-90001_DSN_DS_HP_3000_to_HP_3000_Reference_Manual_Sep1982 32190-90001_DSN_DS_HP_3000_to_HP_3000_Reference_Manual_Sep1982
32190-90001_DSN_DS_HP_3000_to_HP_3000_Reference_Manual_Sep1982 32190-90001_DSN_DS_HP_3000_to_HP_3000_Reference_Manual_Sep1982
User Manual: manual pdf -FilePursuit
Open the PDF directly: View PDF .
Page Count: 324
Download | |
Open PDF In Browser | View PDF |
Distributed Systems Network DSN/DS HP 3000 to HP 3000 Reference Manual F/;OW HEWLETT ~eJII PACKA~D -r.-.... HP Distributed Systems Network DSN/DS* HP 3000 to HP 3000 Reference Manual * (formerly 08/3000) r/i~ HEWLETT a:~ PACKARD INFORMATION NETWORKS DIVISION 19420 Homestead Road, Cupertino, California 96014 Copies of this manual may be ordered through a local Hewlett-Packard sales office. Refer to the pages at the back of the manual for addresses. Part No. 32190-90001 Product No. 32190A E0982 Printed in U.S.A. 9/82 .• NOTICE The information contained in this document is subject to change without notice. HEWLETT-PACKARD MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS MATERIAL, INCLUDING, BUT Nor LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Hewlett-Packard shall not be liable for errors contained herein or for incidental or consequential damages in connection with the furnishing, performance or use of this material. Hewlett-Packard assumes no responsibility for the use or reliability of its software on equipment that is not furnished by Hewlett-Packard. This document contains proprietary information which is protected by copyright. All rights are reserved. No part of this document may be photocopied, reproduced or translated to another program language without the prior written consent of Hewlett-Packard Company. Copyright © 1982 by HEWLETT-PACKARD COMPANY ii t~ r - OF EFFECTIVE PAGES I I- - - - - LIST ---_. ,; The LIst of Effective Pages lives the date of the current edition and of any pages changed in updates to that edition. WitbiD the manual, any page chanled since the last edition is indicated by printing the date the changes were made on the bottom of the pap. Qwlges are marked with a vertical bar in the margin. U an update is incorporated when an edition Is reprinted, these ban are removed but the dates remain. Second Edition September 1982 iii PRINTING HISTORY New editions are complete revisions of the manual. Update packages, which are issued between editions, contain additional and replacement pages to be merged into the 'manual by the customer. The date on the title page and bick cover of the manual changes only when a new edition is pUblished. When an edition'is reprinted, all the prior updates to the edition are incorporated. No information is incorporated into a reprinting unless it appears as a prior update. The edition does not change. ' . , The software product part number printed alongside the date indicates the version and update level of the software product at the time the manual edition or update was issued. Many product updates and fIxes do not reqUire manual changes, and conversely, manual corrections may be done without accompanying product changes. Therefore, do not expect a one to one correspondence between product updates and manual updates. First Edition.•.••.•.•••••.••.••••• Mar 1977 ••.••.•••••.•••••• 32190A.OO.OO Update No.1 .••••.•••.•••••••.••• May 1977 .•.•.••.••..•.•••• 32190A.OO.OO Update No.2 •••••.•••..•••.•.•••• May 1978 •••••••••••••..••• 32190A.02.01 Updates 1 and 2 Incorporated •••••.•••• Feb 1979 .•••••.••.••..••. : 32190A.02.02 Update No.3 •.••.••••....•...•.•• Nov 1979 •••••••••.••.•.••. 32190A.02.05 Update No.4 ....•.••.•••••••••.•• Apr 1980 .••••••••••••••..• 32190A.02.06 Updates 3 and 4 Incorporated ••.•.••.•. Aug 1980 .••••.•••.....••.. 32190A.02.06 Update No.5 .•••..•.••••••.•. ~ ..• May 1981 .•.•.•••••••••.... 32190A.03.00 Second Edition. . . . . . . • . . . . . . . . . .. Sep 1982 32190A.04.01 Iv PREFACE The Hewlett-Packard Distributed Systems Network (HP-DSN) is a set of hardware and software data communications products. One of these data communications products is DSN/Distributed Systems (DSN/DS) which is an integrated software package that provides the capability of communication between HP computer systems. This manual documents DSN/DS as it applies to an HP 3000 network. (This HP 3000-to-HP 3000 application of the DSN/DS software subsystem was identified in the previous edition of this manual as DS/3000.) The manual explains how an HP 3000 user can communicate with another (or several other) HP 3000 computer systems by establishing a DSN/DS communications link. (Other manuals in the DSN/DS series document the other network combinations of computer types.) This dual-purpose manual serves as both a reference manual for experienced users of HP DSN/DS and a tutorial text for new HP DSN/DS users. A new user should be familiar with the basic operating principles of the HP 3000 Computer System using the MPE Operating System and should also be knowledgeable in the subjects of the following manuals: • HP 3000 Computer Systems, MPE Commands Reference Manual (30000-90009). • HP 3000 Computer Systems, MPE Intrinsics Reference Manual (30000-90010). • HP 3000 Computer Systems, System Manager/System Supervisor Reference Manual (30000-90014). • HP 3000 Computer Systems, Console Operator's Guide (32002-90004). • HP 3000 Computer Systems, Communications Handbook (30000-90105). For those users who also become involved in the selection and/or connection of the various network components, reference should be made to the appropriate component manuals, including the following: • HP 30010A Intelligent Network Processor (INP) Installation and Service Manual (30010-90001). • HP 30020A Intelligent Network Processor (INP) Installation and Service Manual (30020-90001). • HP 30020B Intelligent Network Processor (INP) Installation and Service Manual (30020-90005). v I I PREFACE (continued) • HP 30010A/30020A/B Intelligent Network Processor (INP) Diagnostic Procedures Manual (30010-90002). • HP 30055A Synchronous Single-Line Controller (SSLC) Installation and Service Manual (30055-90001). • Hardwired Serial Interface (BSI) Installation and Service Manual (30360-90001). NOTE Within the references title. To referenced of manuals text of t~is manual, crossare made to other manuals by obtain the part number of the manual, refer to these lists in the Preface. This second edition of the DSN/DS Reference Manual not only incorporates all of the various updates that were issued since the first edition was published, but it also includes some new material. The Network File Transfer (NFT) documentation (that was appended to Section III in Update No.5) has now been reformatted as Section VI. Another new section -- Section VII, DS Applications -- has been added to expand upon the coverage of the advanced uses and networking possibilities available with the enhanced DSN/DS. The new Appendix H documents the X.25 Network Configurator; and the new Appendix J is a commenta~ on using Public Data Networks (PDNs) with the new DS/X.25 capability, as well as the X.29 Packet Assembler/Disassembler (PAD) that expands the system-to-system X.25 capability to include a terminal-tosystem capability. Appendix A, Configuration Dialogue, has also been updated to include the new driver names required for the utilization of DS/X.25. Additionally, all of the previously existing sections and appendices have been edited and brought up to date. vi .~ CONTENTS 1-1 Section 1 - INTRODUCING DSN/DS Section 2 - THE COMMUNICATIONS LINK What is a Communications Link? Opening a Line •.•.......... Opening a Hardwired Line Opening a Telephone Line Specifying a Line The DSLINE Command Dialing the Remote Computer ID Sequences Multiple Users The REMOTE HELLO Command Opening Multiple Lines Line Opening Failures Closing a Line . Examples 2-1 2-2 2-2 2-4 2-7 2-11 2-15 2-16 2-17 2-44 2-51 2-66 2-67 2-68 Section 3 - REMOTE SESSIONS Issuing Remote Commands ........•..•..•..••.... Using The Remote Subsystem From a Batch Job The BRE.AK Key ..•..........••...•..••.. Prefixing Each Command with REMOTE Entering REMOTE The Control Keys Issuing Local Commands Terminating a Remote Session From the Local Session From the Remote Session 3-2 3-5 3-5 3-6 3-7 3-8 3-8 3-9 3-9 3-10 Section 4 - REMOTE FILE ACCESS 4-2 4-5 4-8 4-11 4-14 4-17 4-20 4-23 Command Access . Example #1 Example #2 Example #3 ••••••• Example #4 •....... Example #5 Programmatic Access Example . vii CONTENTS (continued) Section 5 - PROGRAM-TO-PROGRAM COMMUNICATIONS PTOP Intrinsics .••..••.•. The ACCEPT Intrinsic The GET Intrinsic The PCHECK Intrinsic The PCLOSE Intrinsic The PCONTROL Intrinsic The POPEN Intrinsic The PREAD Intrinsic •.••••••.••• The PWRlTE Intrinsic The REJECT Intrinsic .•..••..... Interfacing with COBOL and BASIC PTOP Example .••..•..•..•.•.••••••••.• Master Program ....•••••...•.... Slave Program 5-7 5-8 5-10 5-13 5-15 5-16 5-18 5-24 5-27 5-29 5-30 5-30 5-30 5-32 Section 6 - NETWORK FILE TRANSFER Features of NFT The DSCOPY Command •. Syntax Parameters ..•••••.• Use ••.••• Operation Source and Target Files Interactive Mode Event Recording Examples Local Copy Remote-to-Local Copy Local-to-Remote Copy Remote Copy ••.••.•••. Remote-to-Remote Copy NFT Intrinsics .. The DSCOPY Intrinsic ••.•.•.••••••.• SPL Procedure Declaration ..•.••. COBOL Calling Sequence FORTRAN Calling Sequence BASIC Calling Sequence Programmatic DSCOPY Operation The DSCOPYMSG Intrinsic SPL Procedure Declaration COBOL Calling Sequence FORTRAN Calling Sequence BASIC Calling Sequence Examples . DSCOPY COBOL Example DSCOPY FORTRAN Example DSCOPY BASIC Example viii 6-1 6-3 6-3 6-3 6-4 6-5 6-5 6-6 6-6 6-7 6-7 6-7 6-7 6-7 6-7 6-8 6-9 6-9 6-10 6-10 6-10 6-11 6-12 6-12 6-12 6-13 6-13 6-13 6-14 6-14 6-15 CONTENTS (continued) Section 7 - DS APPLICATIONS Transmissions Between Systems Coordinating Master and Slave Programs .....•........... Debugging ••••...........•..•••••.....•••••••••••.....•. 7-3 7-4 7-5 7-6 Line BUffers/Continuation Buffers ...•.........••.•••..• Compress ion .•...........................•.............. 7-7 Formats for Inserted Compression Characters ........• 7-8 Performance ...........•.......•...•.•..••.......•...•.• 7-8 Computer System Dependent ..•...•••••.•.••.•...•••..• 7-8 Communication Links ......•••.......••..••.•......... 7-8 Applications .....................•.................. 7-9 Remote Listing . 7-9 MUltiple Remote Access ..•.....••....•••..............• 7-10 Interprocess Communications . 7-13 Appendix A - CONFIGURATION DIALOGUE .......•..••..•......... A-1 Appendix B - ERROR CODES AND'MESSAGES ~. :DSLINE Syntax Errors ...•.....•...•...•...•..•....••••. DSN/DS Functional Errors ......•.•..•...........•••••..•. :DSCONTROL Informatory Messages •.....•••.••.••......... :DSCONTROL Error Messages ...•........••••••..•........• :DSCOPY General Error Messages .......................•. :DSCOPY Intrinsic Error Returns ......•.....•...•.....•. :DSCOPY Internal Errors ...................•..•.•....... B-1 B-2 B-4 B-4 B-6 B-7 B-7 Appendix,C - DSCONTROL CONSOLE COMMAND Syntax Parameters . OIlerat ion •••.....................................•..... Examples. ••........................•.................... C-2 C-2 c-6 c-B Appendix D - DSDUMP D-1 DSDUMP Commands Operation Prepara t ion . . Running the Program Interactively . Stream ing the Program . Output ••.•............•....••..•....•.....•...••.... Opera t ing Tips . ix D-3 D-4 D-4 D-4 D-4 D-5 I CONTENTS (continued) Appendix E - SYSTEM VERIFICATION E-1 E-2 E-2 E-4 Software Version Report .••.•••.•••••• Version Report Example Diagnostic Mode Normal Mode Appendix F - DSN/DS COBOL INTERFACE ........ Conventions · ...... Common Parameters Interface Intrinsics CPOPEN CPREAD CPWRITE CPCONTROL CPCLOSE CGET CACCEPT CREJECT CPCHECK Example Master PTOP Program Slave PTOP Program ...... ·...... ...... ·..... ....... ....... ...... .................. ·..... ............... ......·..... ...... ...... ·..... ...... ·..... F-1 F-1 F-2 F-2 F-3 F-3 F-3 F-4 F-4 F-4 F-5 F-5 F-5 F-6 F-9 Appendix G - DSN/DS BASIC INTERFACE Convent ions .••...•....................•. Common Parameters Interface Intrinsics BPOPEN BPREAD BPWRITE BPCONTROL BPCLOSE BGET •.. BACCEPT BREJECT BPCHECK Examples Master PTOP Program Slave PTOP Program x G-1 G-1 G-2 G-2 G-3 G-3 G-4 G-4 G-4 G-4 G-5 G-5 G-5 G-5 0-9 CONTENTS (continued) Appendix H - X.25/X.21 NETWORK CONFIGURATOR Introduct ion ...•••••••..••....••••••••••••••••••••••••• Environment .................•.•••••.•••.•..•••••••..... The Da ta Base . The NETCONF Utility ••••...•.•••••••••••.•••••••••••• Us ing NETCONF •••.•...•••••••..••.••.•••••••••.••••••••• Data Base Organization •....••.•••••.•.•••••••••••••• The Commands .•••••..•.•..•••••••••••••••••••••••.•.• TIle A[dd] Command ••••••••••••••••••••••••••••••.••••••• Adding to the RN Table •••••••••••••••••••.•••••••••• Adding to the LC Table •.....••••.•.....••.••.•..•.. The C[heck] Command ••.•••..••.••.••••••••..•••••.••••• TIle D[elete] Command .••..••••••••••••••.••••••••••...• Deleting from the RN Table ••••.•.•••.••••••..•.•••• Deleting from the LC Table .•.••••••••••.•••••••••••. The E [xi t] Command •••..•••..•.••••••••••.••••••••••••• Tlle H [elp] Command •••.•..••.••.••••.•.••••••••••••.••• The L [ ist ] Command ••••••••...••..••••••••••••••••••••• TIle P[rint] Command •..•...•••••••••••••••••••••••••••• The U[pdate ] Command •.••••..•..•.•••••••.••.•••••••••• Updating the RN Table •.•.•••••••••••••••••••••••••• Updating the LC Table ••.•••••.•.••••.••••••••••.••• "\ H-l H-2 H-2 H-2 H-3 H-3 H-4 H-5 H-6 H-l0 H-19 H-20 H-21 H-24 H-26 H-27 H-28 H-30 H-31 H-32 H-34 .•'.•'•' ./ . . . ~ .... """". ,:~ Appendix J - USING X.25/X.29 CAPABILITIES X.25 System-to-System Communication ••••••••.••..••••••• J-l WIlen to Use a PAD •••••••••••••••••••••••••••••••••••••• J-2 Establishing a Remote Session via PAD on PDN •••••••••.• PAD Parameters •...•.••••••.•••••.•.••••••••••••.••••••• Terminal Restrictions on the Public Data Network ••••••• Wllich Terminals to Use •••••••.••••••••••.•••••••••••••• Configuring Your Terminal •.••••••.••••••••••••••••.•••• Characteristics of PAD ..•••.•••••.•••••••••••.•..•••••• Program Compatibility with PAD ••••••••••••••••••••••••• J-3 J-3 Appendix K - ASCII CHARACTER SET ••••.•••••••••••••••••••••• K-l Index •••••••.•••••••••••••••.•.•••••••••••••••••••••••• xi J-5 J-5 J-6 J-7 J-7 Index-1 I ILLUSTRATIONS F~gure 1-1. 1-2. 1-3. 2-1. 2-2. 2-3. 2-4. 2-5. 2-6. 2-7. 2-8. 2-9. 2-10. 2-11. 2-12. 2-13. 2-14. 2-15. 2-16. 2-17. 2-18. 2-19. 2-20. 2-21. 2-22. 2-23. 2-24. 2-25. 2-26. 2-27. 2-28. 2-29· 2-30. 2-31. 4-1. 4-2. 4-3. 4-4. 4-5. 4-6. 4-7. 4-8. 5-1. 5-2. 5-3. 5-4. Page HP 3000 to HP 3000 Example •••••.••..••••••••••••••.•• Initiating the Local Session .••••••••.••••••••••••••• Initiating the Remote Session •••••••••••••••••..••••• DSN/DS Communications Link (HP 3000 to HP 3000) ••••.• DSN/DS Line Buffer Example •••••••••••.••••••••••••••. Sample I/O Device Table (Hardwired Line) •.••••••••••• Sample I/O Device Table (Telephone Line) ••••••••••••• Opening a Line with the DSLINE Command ••••••••••••.• MUltiple User Example 1 . Mult iple User Example 2 .•••......•.••.....•••....... Exclusive Option Example 1 . Exclusive Option Example 2 ..........•........••••..• Exclusive Option Example 3 . Exclusive Option Example 4 . Dial-up Line Multiple User Example 1 . Dial-up Line Multiple User Example 2 ..•••••.•...••.. Dial-up Line Multiple User Example 3 . Dial-up Line Multiple User Example 4 ...•....••...... Dial-up Line Multiple User Example 5 •••••••••••••••• Dial-up Line MUltiple User Example 6 . Dial-up Line Multiple User Example 7 ......•...•..•.. Dial-up Line Multiple User Example 8 •.•...........•• Dial-up Line Multiple User Example 9 •......•........ Dial-up Line Multiple User Example 10 ••••.•••....... The REMOTE HELLO Command Syntax ••..••••••••••••••••• Multiple Line Example (Hardwired Lines) ••••••••••••• Initiating the Local Session (Hardwired Example) Establishing the Link With System B (Hardwired Example) Establishing the Link With System C (Hardwired Example) Multiple Line Example (Telephone Lines) ••••••••••••• Initiating the Local Session (Dial-up Example) •••••• Establishing the Link With System B (Dial-up Example) Establishing the Link With System C (Dial-up Example) Closing a Line With the DSLINE Command •••.•••••••••. MPE FILE Command (Pertinent Excerpts) •••••••••••••••• Remote Off-Line Listing Example .....••••...•••••••••. SORT Remote File Access Example ••••••.•••••••••••••• FCOPY Remote File Access Example •••••.••••••..•.••.• COBOLGO Remote File Access Example •••..•.••••••••••• COBOL Remote File Access Example •••.•.•••••••••..••. MPE FOPEN Intrins ic Syntax ••••••..••••••••.•.••••••• Pertinent Parameter for MPE FOPEN Intrinsic ••••.•.•• PCONTROL Act i vi ty •••.•.•...••••••••...•••••••.•.•.•. POPEN Act i vi ty •••••••...•.•••••••..•..••••••.••.•••• PRE.AD Ac it i vty . P'WR.lTE Activity .•.•....•••••.••.•••••••••••••••••••• xii 1-3 1-4 1-5 2-1 2-3 2-8 2-9 2-11 2-18 2-19 2-20 2-21 2-22 2-23 2-24 2-26 2-28 2-30 2-32 2-34 2-36 2-38 2-40 2-42 2-45 2-52 2-54 2-56 2-58 2-59 2-61 2-63 2-65 2-67 4-3 4-7 4-10 4-13 4-16 4-19 4-21 4-22 5-17 5-23 5-26 5-28 ILLUSTRATIONS (Continued) r Figure Page 7-1. 7-2. 7-3. 7-10 7-13 7-14 Multiple Remote Accessing Example •••.••••••.•••••.•. Two-node IPC ~ommunication •••••..•••••••••.••••••••• Three-node IPC Communication •••••••••••••••••••••••• TABLES Page Table 5-1. Master Program-to-Program Intrinsics •••••.•.••...•.•• 5-2. Slave Program-to-Program Intrinsics •..•.••.....•.•.•• 5-3. Single System/~istributed Systems Comparison ..••.•••• r/ xiii 5-3 5-4 5-5 I CONVENTIONS USED IN THIS MANUAL NOTATION [ ] DESCRIPTION An element inside brackets is optional. Several elements stacked inside a pair of brackets means the user may select anyone or none of these elements. Example: {} user may select A or B or neither When several elements are stacked within braces the user must select one of these elements. Example: italics [~] { i} user must select A or B or C. Lowercase italics denote a parameter which must be replaced by a user-supplied variable. Example: CALL name name one to 15 alphanumeric characters. underlining Dialogue: Where it is necessary to distinguish user input from computer output, the input is underlined. Example: NEW NAME? superscript C ALPHA1 Control characters are indicated by a superscript C Example: yc return return in italics indicates a carriage return linefeed linefeed in italics indicates a linefeed A horizontal ellipsis indicates that a previous bracketed element may be repeated, or that elements have been omitted. xiv INTRODUCING DSN/DS I~ The Hewlett-Packard Distributed Systems Network (HP-DSN) is a combination of hardware and software products that make it possible for Hewlett-Packard computer systems to communicate with one another, and with IBM mainframes as well. The connections can be made over hardwired lines, and/or over the public telephone facility, and/or across Public Data Networks (PDNs), in any mixture. This capability, coupled with our proven remote entry capability to IBM computer systems, provides a total solution to large-company electronic data processing (EDP) needs. Within the realm of HP-DSN is the software subsystem that accomplishes computer-to-computer communication over these connecting lines. This software subsystem is called DSN/Distributed Systems (DSN/DS). Among other features, DSN/DS includes such capabilities as: • Remote File Access. A user is allowed access to files in remote HP computer systems •• An important aspect of this feature is the capability of using Interprocess Communications (IPC) between systems. • Remote Data Base Access. A user can directly access data bases on any remote HP computer under the same security protection used by local data bases. • Program-to-Program Communication. Permits programs residing in different HP computer systems to interactively exchange information with one another in a coordinated manner. • Virtual Terminal. Gives the user remote interactive capabilities, even though the user's terminal is physically connected to the local HP system. • Remote Command Execution. Allows the user to issue commands to a remote HP system as if the local terminal were connected directly to the remote system. • Network File Transfer. A facility that efficiently transfers disc files between HP computer systems. • X.25/X.21. Gives communication capability across X.25 packet switching and X.21 circuit switching networks to the DSN/DS user. 1-1 Introducing DSN/DS But exactly what does this overall capability mean? It means that a large multidivisional corporation can have a truly coordinated world-wide network of computer systems. They are coordinated in the sense of tying together the various commercial and industrial functions within each division and factory, and they are also coordinated in the larger sense of tying together the various divisions and factories at the corporate,level. For example, imagine a large corporation which has factories in the United States, Canada, France, and West Germany. Within each factory there are HP 3000 computer systems performing such functions as inventory control, factory data collection, and operations management. With a Hewlett-Packard Distributed Systems Network these manufacturing information systems can be tied into an HP 3000 system which handles the factory's administrative functions (such as finance and accounting). The administrative systems of each factory can, in turn, be connected not only to one another but also (via remote job entry) to a large computer facility at corporate headquarters. This overall networking capability makes it possible to perform financial analysis and control at a group and corporate level as well as at the individual factories. This manual describes how an HP 3000 user can communicate with several HP 3000 computers by establishing a DSN/DS communications link. DSN/DS is that part of the HP Distributed Systems Network in which several HP 3000 computer systems are connected to one another. DSN/DS can also be used for intercomputer communications with other families of computers (such as HP 3000/HP 1000, HP 3000/HP 250, and HP 3000/HP 98xx desktop computers), but these other combinations are described in separate reference manuals. As a simplified example of a computer network, imagine that you are in the same room with an HP 3000 (labeled "System A" in figure 1-1) and that another HP 3000 (labeled "System B") resides in another part of the building. These two computers are connected to one another by an interconnecting cable and a pair of communications interfaces. By virtue of DSN/DS you can use the processing eapability of both of these HP 3000 machines and pass data back and forth between them by entering commands through a single terminal. To see how DSN/DS works in this simple example, follow through the step-by-step procedure. 1-2 Introducing DSN/DS r HP 3000 SYSTEM A Communications Interfaces HP 3000 SYSTEM B Interconneeting Cable Figure 1-1. r HP 3000 to HP 3000 Example Step 1. Sit down at a terminal connected to System A and initiate a session. carriage return :HELLO USER.ACCOUNT HP3000 / MPE IV c.00.04. WED, MAR 3, 1982, 9:05 AM WELCOME TO SYSTEM A. Within the 'context of DSN/DS, such a "local" session because it is active your terminal is directly connected. more meaningful later, since all you is initiate a standard MPE session. reached the situation illustrated in 1-3 session is referred to as a within the HP 3000 to which This terminology becomes have actually done, so far, At this point, you have figure 1-2. Introducing DSN/DS HP 3000 SYSTEM A Communications Interfaces HP3000 SYSTEM B ~ / t I I Interconnecting Cable / I I I I I I I ~ Figure 1-2. Initiating the Local Session Step 2. Now, open a communications line between System A and System B. Do this by entering a DSLlNE command. :DSLlNE HDS2 DS LINE NUMBER = 'L3 In this example, HDS2 is the device class name established during system configuration (in System A) for the particular line you wish to use. DSN/DS opens the line and then assigns you a line number (3 in this example). This line number is analagous to the file number returned to you by the MPE File System when you open a file programmatically using the FOPEN intrinsic. Within your local session, it uniquely identifies the particular line that you have opened. This becomes significant only if you must open more than one communications line during a session. 1-4 Introducing DSN/DS r . ./ Step 3. Now that you have acquired access to a communications line between System A and System B, initiate a session in System B (from your local log-on terminal). Do this by entering a REMOTE command which includes an MPE HELLO command for the remote system. :REMOTE HELLO RUSER.RACCOUNT HP3000 / MPE IV c.00.04. WED, MAR 3, 1982, 9:08 AM WELCOME TO SYSTEM B. Within the context of DSN/DS, this type of session is referred to as a "remote" session because it is active within the remotely located HP 3000 that is connected indirectly to your log-on terminal by way of a communications line and your local HP 3000. You now have two distinct sessions in progress concurrently: one in System A (under the user and account names USER.ACCOUNT) and the other in System B (under the user and account names RUSER.RACCOUNT). It is important to keep in mind that within System A your local session is operating under the capabilities and security restrictions defined (by the accounting structure of System A) for USER.ACCOUNT, while within System B your remote session is operating under the capabilities and security restrictions defined (by the accounting structure of System B) for RUSER.RACCOUNT. At this point, the situation is as illustrated in figure 1-3. As will be seen in the next few steps, you can alternate freely between the two sessions. HP 3000 SYSTEM A , HP 3000 SYSTEM B Communications Interfaces --- I I /---------1 -- Interconnecting Cable I I 6I!" ... ••.*~'lo!~)..~ .-, . . . r. ,. Figure 1-3. Initiating the Remote Session 1-5 Introducing DSN/DS Step 4. Now, see what files reside in the home group of the ACCOUNT account in System A. :LISTF FILENAME DATAl DATA3 FILE1 SOURCE2 SOURCE5 You can do the same for the home group of the RACCOUNT account in System B by entering the following command through the same terminal: :REMOTE LISTF FILENAME DATAl DATA5 DATA6 FILE3 SOURCE1 Notice that in both cases the same command was entered, but in the latter case the prefix REMOTE was used. The presence or absence of that prefix is what determines whether a command is to be executed in the local session or in the remote session. Step 5. As a resuit of the LISTF and REMOTE LISTF displays, you can see that a source file, named SOURCE1, exists in System B but not in System A. Suppose you wish to modify one of the statements in that program. To do that, use the text editor in System B. This time, instead of prefixing your remote commands with REMOTE,. try a different technique. Enter the following: : REMOTE II This construct gets into the remote session in such a way that all commands can be entered in their normal form (without the prefix REMOTE). The II is the prompt character issued by DSN/DS (in place of the usual MPE colon prompt). In all other respects it will seem as though you are executing a normal MPE interactive session. 1-6 Introducing DSN/DS Step 6. Now invoke the text editor, copy the content of SOURCEl (which is a file in System B) into the editor1s work file, display the content of the work file, modify the desired statement, and store the altered source code back in SOURCE1. 'EDITOR HP32201A.7.05 EDIT/3000 WED, MAR 5, 1980, 3:47 PM (C) HEWLETT-PACKARD CO. 1979 /SET FORMAT=COBOL /T SOURCEl /LIST ALL 1 $CONTROL USLINIT,SOURCE 1.1 IDENTIFICATION DIVISION. 1. 2 PROGRAM- ID. COBOL -TESTl. 1.3 ENVIRONMENT DIVISION. 1.4 DATA DIVISION. 1.5 WORKING-STORAGE SECTION. 1.6 77 EDIT-FIELD PIC $$$$$9.99. 1.7 77 TOTAL-COST PIC 999V99. 1.8 77 COST-Of-SALE PIC 99V99. 1.9 77 TAX PIC 99V99. 2 77 Y-N PIC X. 2.1 PROCEDURE DIVISION. 2.2 ENTER-ROUTINE. 2.3 MOVE ZEROS TO TOTAL-COST. 2.4 DISPLAY SPACE. 2.5 DISPLAY IIENTER COST OF SALE II . 2.6 ACCEPT COST-OF-SALE. 2.7 COMPUTE TAX = COST-OF-SALE * .06. 2.8 ADD COST-OF-SALE, TAX TO TOTAL-COST. 2.9 MOVE TOTAL-COST TO EDIT-FIELD. 3 DISPLAY IITOTAL COST= II EDIT-FIELD. 3.1 DISPLAY IIARE YOU FINISHED? (Y OR N)II. 3.2 ACCEPT Y-N. 3.3 IF Y-N = IIN II OR II n GO TO ENTER-ROUTINE. 3.4 STOP RUN. /MODIFY 2.5 MODIFY 2.5 DISPLA'Y IIENTER COST OF SALE II . I (NO DECIMAL POINT). DISPLAY IIENTER COST OF SALE (NO DECIMAL POINT)". ll /KEEP SOURCE1 SOURCEl ALREADY EXISTS - RESPOND YES TO PURGE OLD AND KEEP NEW PURGE OLD? YES /EXIT , END OF SUBSYSTEM 1-7 Introducing DSN/DS Step 7. The work in System B is now completed; so terminate the remote session and return control to your local session. 3, cpu=4. CONNECT=7. WED, MAR 1982, 9: 15 AM I.E.. Note that you are now back in the local session in System A (signified by the colon prompt). The remote session no longer exists, but the communications line is still open. You could, if' you wanted, initiate another remote session over the line by issuing another REMOTE BELLO command. To close the communications line, enter the following variation of' the DSLlNE command: :DS.LINE HDS2 ; CLOSE 1 DS LINE WAS CLOSED. Finally, terminate the local session. : BYE CPU=l. CONNECT=11. WED t MAR 3t 1-8 1982 t 9 :16 AM THE COMMUNICATIONS LINK r I~ WHAT IS A COMMUNICATIONS LINK? Within the context of DSN/DS, a "communications link" consists of the following elements: • A normal interactive session in progress in an HP 3000 computer. • A physical communications line between that HP 3000 computer and another HP 3000 computer at a remote location. • An interactive session in progress in the remote HP 3000 computer (initiated over the physical communications line from your local session). Note that your local terminal is the log-on terminal for both the local session and the remote session. (Refer to figure 2-1.) HP 3000 HP 3000 --- ....--------------------... Communications Line ........ User's Log-On Terminal r" Figure 2-1. DSN/DS Communications Link (HP 3000 to HP 3000) ........ " . , ' 2-1 The Communications Link OPENING A LINE A communications link can be established over a hardwired communications line, over the public telephone network, or over an X.21 or X.25 Public Data Network (PDN). The procedures for opening hardwired lines and for opening telephone lines differ only slightly. Therefore, the basic differences will be presented first, followed by the procedures that are essentially the same. Generally, once the connection to the remote computer is established, you will perceive no difference in the way DSN/DS performs. Opening a Hardwired Line What is a hardwired line? In the general field of data communications there are two types of lines commonly referred to as "hardwired". The first type is a dedicated path on the pUblic telephone network that is leased from the telephone company tor the private use of a computer-to-computer configuration. Such a line serves as a permanent connection between the two computers. The other type ot hardwired line is a cable that is connected directly to the communications I/O interfaces of the two computers. Within the context of DSN/DS, "hardwired" always refers to the latter. However, the technique used for opening a line is the same for either a direct-connect line or a leased (nonswitched) telephone line. The hardwired interconnecting cable connects to each HP 3000 by way of a communications interface. The communications interfaces that can be used for a hardwired connection include the HP 30010A, HP 30020A, and HP 30020B Intelligent Network Processor (INP), the HP 30055A Synchronous Single-Line Controller (SSLC), and the HP 30360A Hardwired Serial Interface (HSI). (Although the INPs and the SSLC are the interfaces most commonly used tor telephone line connections with modems, they can also be used in hardwired applications without modems.) The HP 30010A INP is used with the HP 3000 Series II/III; the HP 30020A INP is used with the HP 3000 Series 30/33/40/44; the HP 30020B INP is used with the HP 3000 Series 30/33/40/44/64; the HP 30055A SSLC is used with the HP 3000 Series II/III; and the HP 30360A HSI is used with the HP 3000 Series II/III. It is relatively straightforward to obtain access to a hardwired communications line. All you are required to do is identify the particular communications interface you wish to use. You do this by specifying the device class name or logical device number associated during system configuration with the desired interface. In the example in Section I, the DSLINE command was used for this purpose, as follows: ~ "'-. :DSLINE HDS2 2-2 . Opening a Line In the DSLINE command you may also wish to specify the size of the DSN/DS line buffer to be used in conjunction with the line. The size of this buffer determines the maximum amount of data that can be sent or received in a single physical transmission over the line. Note that a transmission as you normally think of it (sending or receiving all or part of a file) may actually consist of many physical transmissions. In essence, this buffer size defines a blocking factor for the line. (Refer to figure 2-2.) A default buffer size is established during system configuration, and in most cases (as in the example in Section I), you will find it satisfactory to let this default value prevail. Assume that the OSN/oS line buffer size is 512 words and that the user has initiated the transmission of a block of data 1200 words in length from his HP 3000 to a remote HP 3000. The block of data would actually be sent in three separate physical transmissions, as follows. (OSN/OS appends an average of 20 words of overhead on each transmission.) 1200 words of data to be transmitted I! Ii First physical transmission: 512 words (492 words of data + 20 words of OS overhead) Second physical transmission: 512 words (492 words of data + 20 words of OS overhead) I len I I 1-. Third physical transmission: 236 words (216 words of data + 20 words of OS overhead) 1200 words of data received at remote computer. I I .....l 1 1 Figure 2-2. DSN/DS Line Buffer Example When you execute a DSLINE command, DSN/DS attempts to give you access to the specified communications line and, if successful, informs you of the assigned DS line number by displaying the following message at your terminal: DS LINE NUMBER = 'Lx where x is the assigned DS line number. In the example in Section I, the DS line number "3 was assigned. The DS line 11 2-3 Opening a Line number is significant only if you open and use more than one communications line concurrently within a single local session (see "Opening MUltiple Lines" later in this section). At this point you have acquired a physical communications line but the communications link does not yet exist. The actual communications link between the two computers is established by initiating a remote session over the line. You do this by executing a REMOTE HELLO command. In the example in Section I, the REMOTE HELLO command contained the minimum parameters required (a username and an accountname), as follows: :REMOTE HELLO RUSER.RACCOUNT The communications link between the two HP 3000 computers now exists. Opening a Telephone Line A DSN/DS communications link can also be established over the public (dial-up) telephone network. In such a case, the information passed back and forth between the two computers travels over the same lines that are used for normal voice traffic. Each computer is interfaced to the telephone lines by way of a modem. (The term "modem" is a contraction of MOdulator-DEModulator.) A modem is a device that translates digital signals (electrical impUlses) generated by a computer into analog signals (tones) that can be transmitted over telephone lines, and vice versa. The modem is connected to the HP 3000 Computer System by way of a communications interface. The communications interfaces used with modems include the HP 30010A, HP 30020A, and HP 30020B Intelligent Network Processor (INP), and the HP 30055A Synchronous Single-Line Controller (SSLC). (The HP 30010A INP is used with the HP 3000 Series II/III; the HP 30020A INP is used with the HP 3000 Series 30/33/40/44; the HP 30020B INP is used with the HP 3000 Series 30/33/40/44/64; and the HP 30055A SSLC is used with the HP 3000 Series II/III.) Each INP or SSLC controls one modem (such as an HP 37210T, 37220T, or 31230A modem, or a Bell System Type 201, 208, or 209 modem) and is capable of both initiating and accepting a telephone connection with a remote computer over the public telephone network or a leased telephone line. 2-4 Opening a Line It is a little more complex to obtain access to a telephone line than to a hardwired line. First, you must identify the particular communications interface (INP or SSLC) you wish to use. You do this by specifying the device class name or logical device number of the communication line that was associated during system configuration with the desired interface. You can use the DSLINE command for this purpose, as follows: :OSLINE SDSl In the OSLINE command, you may also wish to specify the size of the OSN/DS line buffer to be used in conjunction with the line. The size of this buffer determines the maximum sized block that can be sent or received in a single physical transmission over the line. Note that a transmission as you normally think of it (sending or receiving all or part of a file) may actually consist of many physical transmissions. In essence, this buffer size defines a blocking factor for the line. (Refer to figure 2-2.) A default buffer size is established during system configuration, and in most cases (as in the example in Section I), you will find it satisfactory to let this default value prevail. Next, you may wish to supply a set of identification (ID). sequences to be used in verifying that the desired pair of computers are connected to one another. This is discussed under "ID Sequences" later in this section. Briefly, however, you may supply an ID sequence that identifies your HP 3000 and one or more ID sequences that identify those remote computers with which your HP 3000 may validly be connected. When a telephone connection is established between your HP 3000 and a remote HP 3000, the two computers exchange ID sequences and their validity determines whether or not the connection is to remain in effect. You use the DSLlNE command to supply 10 sequences, as follows: :OSLINE SOSl ;LOCID="SYSTEM A" & ;REMID="SYSTEM X" where SYSTEM A is the 10 sequence identifying your HP 3000 and SYSTEM X is the 10 sequence identifying the remote computer with which you want to establish a telephone connection. Again, there are default values that can be established during system configuration. In most cases, however, you will at least want to explicitly identify the desired remote HP 3000 to be certain that the proper connection is being established. Now you must establish the physical connection between the two computers by dialing (at the modem) the telephone number of the remote computer and responding (at the system console) to the dial request. If you wish to have the console operator of your HP 3000 dial the number for you, you may supply the desired 2-5 Opening a Line number in the DSLINE command and it will be displayed as part of a dial request message at the operator's console. In such a case, you would supply the telephone number as follows: :DSLINE SDSl ;LOCID="SYSTEM A" & ;REMID="SYSTEM X" & ;PHNUM=555-1234 If autodial equipment is installed on the SDSl line, the telephone number supplied in the DSLlNE command is used instead of the number configured for the line. The various possibilities involved in establishing a telephone connection with a remote computer are discussed under "Dialing the Remote Computer" later in this section. When you execute the DSLINE command, DSN/DS attempts to give you access to the specified communications interface (INP or SSLC) and, if the telephone connection is successfully established, informs you of the assigned DS line number by displaying the following message at your terminal: DS LINE NUMBER .~ = 'Lx where x is the assigned DS line number. In the example in Section I, the DS line number "3" was assigned. The DS line number is significant only if you open and use more than one communications line concurrently within a single local session (see "Opening Multiple Lines" later in this section). At this point, you have acquired a physical communications line, but the communications link does not yet exist. The actual communications link between the two computers is established by initiating a remote session over the line. You do this by executing a REMOTE HELLO command. In the example in Section I, a REMOTE HELLO command was ~sed that contained the minimum parameters required (a username and an accountname), as follows: :REMOTE HELLO RUSER.RACCOUNT The communications link between the two HP 3000 computers now exists. 2-6 '- Opening a Line r Specifying a Line As you have seen, in order to open either a hardwired communications line or a dial-up telephone line, you must specify a device class name or logical device number identifying the particular communication line that is associated with a specific INP, HSI, or SSLC that you wish to use. But how do you figure out which name or number to specify? The remainder of this topic may seem, particularly at first reading, a little complex and tedious. In actual practice, however, once the hardware and software configuration is installed and usable, most DSN/DS sites will post a notice defining all of the available communications lines and the proper device class names and logical device numbers for each. In that case, all of the detective work described in the following paragraphs is already done for you. For each communications interface, there is a pair of associated drivers. First, there is the actual INP, HSI, or SSLC driver that directly controls the operation of the interface board. In addition, there is a DSN/DS communications driver that controls the operation of the INP, HSI, or SSLC driver. The names of these drivers are as follows: IOINPO (INP driver) CSHBSCO (HSI driver) CSSBSCO (SSLC driver) IODSO (DSN/DS communications driver) IODSX (DSN/DS communications driver, while utilizing the X.25 capability) Now look at the appropriate sample I/O device table produced during system configuration (figure 2-3 for a hardwired line or figure 2-4 for a telephone line). 2-7 Opening aLine In figure 2-3t the shaded items in the column labeled "DRIVER NAME shows four HSI lines (CSHBSCO) configured into the system as logical devices 12 through 15. For each one of these lines, there is a DSN/DS communications driver (in this case t IODSO) also configured into the system. Each IOOSO (or IODSX) entry is related to the proper HSI (or liP) entry by the number specified in the column labeled "DRT" (the , prefix indicates a back reference to a previously defined logical device number). Logical devices 50 through 53 are paired with logical devices 12 through 15t respectively. It is the device class name or logical device number of the appropriate IODSO entry (or logical node name for the IODSX entry) that you use to specify the desired line. (Refer to Appendix A). II ..~ LtOG CPT U C DEY PI H 1 A T N 4 0 o • • 5 13 14 0 6 6 0 1 2 3 0 0 6 6 20 0 0 0 0 0 0 1 2 ). 4 5 0 0 0 0 0 ., 0 n 0 0 LDN PM P~T T SUB REC OUTPUT TE~'4 Y TYPE TYPE SPEF.D WIDTH DEY P E 0 6 129 0 o o o o 0 8 32 24 0 24 0 24 0 14 0 )4 0 19 0 19 0 0 0 0 C'I .ft 11 9 4 14 2 15 1 0 40 66 LP 129 LP LP LP LP 2 128 0 0 ) ] 12\1 128 11 Po ,, 11 11 11 11 0 0 n t) 0 16 0 1" l' 0 U 0 n 16 0 16 0 ., 0 11 0 0 40 40 11 4/) 11 41) LCL TC 60 61 ?1 41) 11 ?? 40 11 I,CI. CON T~C1UT T~OUT 1 20 6(\ 900 20 20 20 6(\ 60 6n 900 t Figure 2-3. 63 64 65 4n PC'! 1 ~" 4/) 10400E 900 901\ JAJO IOTE~~O IOT£~'40 JAtO IOTEP~O rOT£PMt) 0 0 0 11 Ja TO J~J:> t) HSU COt;SOL~ T£f'M TERM TEP'4 TP;PM TERM HOSI HDS2 HOn HDS4 oStERl'. J tD J In DSTtRN J 10 DSTF.:PJ4 DSTERf4 OSTERM DSTERN J 10 J 10 II 10 TPANS~IT SPEEO C '50000 C 250000 C 250000 C 250090 Tr BUFFEP D DRtVE~ SIZE C OPTIONS 1024 N 0 1024 1024 1024 N N N 0 0 0 Sample I/O Device Table (Hardwired Line) 2-8 ~ !fSU IOTEPM 11& TAPP; TAPE UP! BAIAP! PTPUNCIf HSIt loTFPfolO 128 128 LP Hsn JlTD 2S 11 rOTAPF.O IOTAJlEO JUv 4n t 211 11 S 23 24 2' 4~ THOUT , 20 n n 11 S S n 11 40 '0 n JA t) 11 JA SPOOL lSYSDtslC DISC CARD 0 0 n n tO~DtsCt 10"'01SCO IOCDROO IClLPRTO tOTAPF'O IClT.~PEO f' 0 0 0 DEVICE CLASSES 0 0 ?1 It) DRIVlR NAME I) 0 0 0 113 3 '41]0 12 129 19 ) 16 n 11\ 0 15 ~ 0 I~ n 16 (\ 16 0 41 0 41 0 41 0 41 0 16 n 3 HODE ~ Opening a Line r ~ In figure 2-4, the shaded items in the column labeled "DRIVER NAME" shows one SSLC (CSSBSCO) configured into the system as logical device 13. Notice that there is a DSN/DS communications driver (in this case, IODSO) also configured into the system. The IODSO (or IODSX) ent~ is related to the proper SSLC (or IMP) entry by the number specified in the column labeled ItDRT" (the , prefix indicates a back reference to a previously defined logical device number). Logical device 61 is paired with logical device 13. It is the device class name or logical device number of the appropriate IODSO ent~ (or logical node name for the IODSX ent~) that you use to specify the desired line. ),OG IHn II C 1 Sll~ OEV ~j ~ T ~ pI- t ,.II ., 1 0 f\ 11, 7 6 r, ~ 9 111 11 II 3:J II 6b 0 I) IJ 1.4 0 () )4 0 ~4 (l 0 74 0 I, n~ t) DR u t) 7 2 ;n 7 l 24 7 7 7 4 2~ 1"1 lv H 12 B H 3') 7 7 7 7 7 7 55 III I 56 .12 ~7 "11 1111 S9 1l1l SI.l I) I) 'l C, 1\1 II 19 I) 1M (, lb 0 16 I) If, () I" n 1" 'J 1f, 0 I) (l () l) 3.,. n 11 lb (, 11 0 0 IlJ ,) 3& 3" 0 1& I) ~ ,1 III Ij Ib 0 q () t~ I) ttt 0 Il 11 V In () 141 0 1& !l 1 1 () lb 0 t 4 l) 1(0, 0 t~ 0 Ifl C, () l' 4 t () () 0 41 0 n 0 1b 1 (I 1& 0 n ,) 0 16 0 0 H fl 0 1& 11 1 II Figure 2-4. If- 12A I2A 0 3 .3 "7 ,,1 DfUVER NA"'f.: "'UDE DEVICE CLASSf:S P I) "" ,I1 7 1 7 UUTPUT DEV 0 1 27 W)OTIl '2P 7 2':' SI"F:~.('\ h 2(1 2t 25 Pf.C Tl:'P'~ TH~: ~ () II I' 11 J3 .. 1 1& 11 1~ 7 n ~ • U fl (, f') n 0 0 n 0 'b .lE> 1b J(o, 31:\ 3., U 3& 0 0 3b () JA LP (I 0 0 211 'I 2'2 23 24 25 2& 27 ~R 2q 10 31 J2 3l 0 3b 3b 3h C) lb 35 t2fl 128 0 0 ? 3b 57 ? ? 36 3& Sf! 59 11 128 3b 04 ?? 3fl 65 ~ 5 34 .JAIll ,JA Til JA JI) ,JA II) JA III JAIO ,JA I 0 ,IA 10 JATO JAIl) JATO JAID JAIl' JAIl> JAtO JAJO J IL> J J() *lOMOlSCl DISC SPOOL IOLPJotTO LP JClTAPfo:O TAPE IOTAPEO TAPE IOTAPI-:O TAPE IOTAPEO JTAPE CSHH5CO HSIt HSI2 <~ H SSI.C CI)NSOLF. IOTEP"'O 12644 IOTERMO T2644 IOTrR'''O TER ... l(llEkMO TER~ IUn;Rfo'O TEPM IOTERMo TER:.. JOTERMO n:JH4 IOTERMO TERM I(lTE~MO TER" lOTf:RMO TERM IOTERMO TEIH4 IOTER"'O TERM IOTERMO TEIH4 IOTERMO TERM IOTERMO TERM IUDSO HOSt HDS2 JOOSO 10DSTPMO DSTt:R~ IODSTRMO [)STERM ,J 10 0 J 1£:1 ,J 'I' Sample I/O Device Table (Telephone Line) 2-9 M Opening a Line If you have only one communications interface (INP, HSI, or SSLC) configured into your system, there is no question about which name or number to specify in a DSLlNE command. If there is more than one conununications interface, however, you must know (or ask someone who knows) which CSHBSCO, CSSBSCO, or IOINPO pertains to the physical line you want to use. One or more virtual terminal drivers (IODSTRMO or IODSTRMX) should also be configured into the, system. The IODSTRMO or IODSTRMX entries allow users on another system to be logged on to this system and regulate the number of remote Session Main Processes (SMP) that can be assigned to a given line. Each IODSTRMO or IODSTRMX entry is related to the proper communications interface entry by the number specified in the column labeled IIDRT". Figure 2-3 (the hardwired example) shows logical devices 60 through 65 are paired with logical devices 12 through 15; figure 2-4 (the telephone line example) shows logical devices 64 and 65 are paired with logical device 13. In figure 2-3, notice that the HSI board entries (logical devices 12 through 15) look the same except for the PORTMASK. The PORTMASK specifies which port on the board is to be used. There are also virtual terminals (logical devices 60 through 65) referencing back to logical device 12. Since only one port on the HSI board can be opened at a time, only one block of virtual terminal entries is needed for that board. As each port is opened individually by specifying the corresponding DS entry in the :DSCONTROL command (see Appendix C), the system automatically reallocates the block of virtual terminal entries to the proper HSI board entry. This reallocation will not, however, show up in the I/O configuration table. 2-10 '~ :DSLINE The DSLINE Command The format of the DSLINE command, as used to open a line, is presented in figure 2-5. In addition to opening a hardwired line or a telephone line, this command can also be used for closing one or more communications lines (discussed later in this section) • :DSLlNE- dsdevice [;LI NEBU F=buffer-size] [;LOC ID=/oca/-id-sequence] [;R EM ID=remote-id-sequence , [,remote-id-sequence 2] .•.] [;PH NUM=telephone-number] [ ;EXCLUSIVE] [;COMP] [;NOCOMP] [;QUIET] "\ . Figure 2-5. Opening a Line with the DSLlNE Command 2-11 :DSLINE The parameters that pertain to opening either a hardwired communications line or a telephone line are as follows: dsdevice This is the device class name or logical device number assigned to the DSN/DS communications driver (IODSO) during system configuration, or a logical node name. This parameter specifies what physical hardwired line or what communications interface (and modem) you wish to use. (Required parameter.) NOTE DS/X.25 users should always use a node name rather than a line identifier. buffer-size A decimal integer specifying the size (in words) of the DSN/DS line buffer to be used in conjunction with the communications line. The integer must be within the range 304 < buffer-size < 1024 when used with the IMP or within the range 304 < butfer-size < 4095 when used with the SSLC or HSI. The default value is the buffer size entered in response to the PREFERRED BUFFER SIZE prompt during system configuration. This parameter overrides the MPE configUred value when specified by the first user to open the given line. (Opt ional parameter.) EXCLUSIVE This parameter, if present, specifies that you want exclusive use of the communications line. If the requested line or specified communications interface is already open and you have specified the EXCLUSIVE option, DSN/DS will deny you access to the line (you cannot open it). (See "Line Opening Failures" later in this section.) Opening an EXCLUSIVE line requires the user to have CS and ND capability. (Optional parameter.) 2-12 .~ J :DSLINE r COMP By using this parameter, you can override the current system default, which was set at configuration time (see Appendix A) or set by the system operator (see Appendix C), and activate data compression. In this way, the mode of operation is set for your subsequent DS activity. This parameter does not affect other users sharing the line. (Optional parameter.) HOCOMP This parameter deactivates the data compression mode. (Optional parameter.) QUIET When you issue the DSLlNE command with this parameter added, the message identifying the DS line number is suppressed. The messages associated with the subsequent REMOTE HELLO and REMOTE BYE commands will also be suppressed. (Optional parameter.) The additional parameters (shown in figure 2-5) that pertain only to opening a telephone line are as follows: telephone-number A telephone number consisting of digits and dashes. The maximum length permitted (including both digits and dashes) is 20 characters. Provided that YES was entered in response to the DIAL FACILITY prompt during system configuration, this telephone number will be displayed at the operator1s console of your HP 3000 and the operator will then establish the telephone connection by dialing that number at the modem. (When the autodial feature is present in your system, the number provided here is dialed automatically.) The default telephone number is the one entered in response to the PHONE NUMBER prompt during system configuration. (Optional parameter.) 2-13 :DSLINE local-id-sequence A string of ASCII characters contained within quotation marks or a string of octal numbers separated by commas and contained within parentheses. If you wish to use a quotation mark within an ASCII string, use two successive quotation marks. In the case of an octal sequence, each octal number represents one byte and must be within the range 0-377. The maximum number of ASCII characters or octal numbers allowed in the string is 16. The supplied string of ASCII characters or octal numbers defines the ID sequence that will be sent from your HP 3000 to the remote HP 3000 when you attempt to establish the telephone connection. If the remote HP 3000 does not recognize the supplied ID sequence as a valid one, the telephone connection is terminated. The default value is the ASCII or octal string entered in response to the LOCAL ID SEQUENCE prompt during system configuration. (Optional parameter.) remote-id-sequence Same format as local-id-sequence. The supplied strings of ASCII characters or octal numbers define those remote HP 3000 ID sequences that will be considered valid when you attempt to establish the telephone connection. If the remote HP 3000 does not send a valid 10 sequence, the telephone connection is terminated. The default set of remote ID sequences consists of the' ASCII and octal strings entered in response to the REMOTE ID SEQUENCE prompt during system configuration. (Optional parameter.) NOTE The logical node name (mentioned in the dsdevice parameter description) appears in the configuration file for a Public Data Network (PON). (See Appendix H.) A Remote Node (RN) table relates the logical node name (specified in this command) to the logical device number of the appropriate IODSX driver (the X.25 driver), and to the PDN address of the destination node. 2-14 Opening a Line Dialing the Remote Computer When you are opening a telephone line, you may supply a telephone number (as an optional parameter in the DSLINE command, see figure 2-5) to be dialed at the modem connected to the specified INP or SSLC. If you supply a telephone number, DSN/DS displays a message on the system console telling the operator to dial that number. The operator, after dialing the specified number, enters YES or NO through the system console =REPLY command to let DSN/DS know whether or not the telephone connection was successfully made. If the operator enters YES, DSN/DS proceeds with the exchanging of ID sequences. If the operator enters NO, your DSLINE request is denied (you cannot open the line). In either case, your terminal's keyboard is disabled until the console operator responds. If you do not supply a telephone number, the sequence of events is as described in the above paragraph, except that DSN/DS uses (by default) the first telephone number in the PHONELIST established during system configuration. If you do not supply a telephone number and no PHONELIST was established during system configuration, an I/O request message is displayed at the system console, but it does not include the number to be dialed. This method might be used when you will dial the remote HP 3000 yourself. Remember, however, that the console operator must still know whether you dialed successfully, since he must respond to the console message before you are granted access to the line. Because your terminal's keyboard is disabled until the console operator responds with YES or NO, it is recommended that you always supply a telephone number in the DSLINE command. . 2-15 Opening a Line 10 Sequences Once a telephone connection to a remote HP 3000 exists. the two computers exchange ID sequences with one another. Within the context of DSN/DS·. an ID sequence is a string of up to 16 ASCII characters or octal numbers that identifies a particular computer. During system configuration. each HP 3000 can be assigned a local ID sequence and a list of remote ID sequences. The local IO sequence identifies the particular HP 3000 in which it is established; the remote IO sequences identify those remote computers with which a communications link can be established over the pUblic telephone network. In the DSLlNE command, you can supply (as optional parameters) a local IO sequence and one or more remote ID sequences to be used instead of those established during system configuration. (Refer to figure 2-5.) When a telephone connection is established between your HP 3000 and a remote HP 3000, the local 10 sequence supplied in your OSLINE command is transmitted to the remote system. The remote system compares that IO against its list of remote 10 sequences. If that 10 sequence is found to be valid. the remote system transmits its local 10 sequence over the telephone line to your HP 3000. The received 10 sequence is then compared against the remote 10 sequence(s) supplied in your DSLINE command. If that IO sequence is found to be valid. the telephone connection is considered successful and OSN/OS grants you access to the line. If the 10 sequence received at either end of the line is not considered valid. your OSLINE request is denied (you cannot open the line). If you do not supply any 10 sequences. OSN/OS uses those established during system configuration. If no IO sequences were established during system configuration and you do not supply any. no local 10 sequence is transmitted from your HP 3000 to the remote system and any remote 10 sequence received is considered valid. 2-16 Opening a Line Multiple Users Within a DSN/DS environment, it is possible for several users at either end of the line to share access to the same physical communications line or for a single user at one end of the line to obtain exclusive access to the line. As previously mentioned in the presentation of the DSLINE command, the EXCLUSIVE parameter can be used to obtain exclusive access to the specified physical communications line. If you specify this parameter (and if access to the line is granted), no other user in either computer will be permitted to open that line until you close it. If you ask for exclusive access to a particular line and that line is already in use, DSN/DS denies your request (you cannot open the line). (See "Line Opening Failures" later in this section.) For hardwired lines and for dial-up lines, multiple users at either end of the line can specify the same physical line in DSLlNE commands and obtain access to that line as long as none of them requests exclusive access. In such a case, the users' data is multiplexed, so that each user's access to the line appears to be completely independent of all others. The exception for a telephone line is that all users, other than the one who originally opened the line, specify (explicitly or by default) the currently active remote ID sequence. Figures 2-6 through 2-21 present annotated examples, illustrating successful and unsuccessful attempts by different users to obtain access to the same line. 2-17 Opening a Line SYSTEM B SYSTEM A HDS1 --- ...... User X ~ I :HELLO USER.X :DSLlNE HDS1 :REMOTE HELLO USER.X :HELLO USER.Y :DSLlNE HOS1 :REMOTE HELLO USER.Y In this example, User X initiates a local session in System A, obtains access to the hardwired communications line that connects System A to System B, and initiates a remote session in System B. User Y subsequently initiates a local session in ~ystem A, obtains access to the same communications line, and initiates a remote session in System B. The request by User Y for the particular communications line is granted by DSN/DS because neither user asked for exclusive access to the line. Figure 2-6. Multiple User Example 1 2-18 Opening a Line SYSTEM B SYSTEM A HDS1 I I I I I \ \ \ \ \ I I User Y \ ~x • iI!.. ," 0; .... ' ~,\\".".",: .. K·:·;;.. . . .··_'- :HELLO USER.Y :DSLlNE HDS2 :REMOTE HELLO USER.Y :HELLO USER. X :DSLlNE HDSl :REMOTE HELLO USER.X In this example, User X initiates a local session in System A, obtains access to the hardwired communications line that connects System A to System B, and initiates a remote session in System B. User Y subsequently initiates a local session in System B, obtains access to the same communications line, and initiates a remote session in System A. The request by User Y tor the particular communications line is granted by DSN/DS because neither user asked tor exclusive access to the line. Figure 2-7. Multiple User Example 2 2-19 Opening a Line SYSTEM A SYSTEM B HDS1 I I I I I I I I I User X • :HELLO USER.X : DSLlNE HDSl ;EXCLUSlVE :REMOTE HELLO USER.X :HELLO USER.! :DSLlNE HDSl In this example, User X initiates a local session in System obtains exclusive access to the hardwired communications line that connects System A to System B, and initiates a remote session in System B. User Y subsequently initiates a local session in System A and requests access to the same The request is denied by DSN/OS communications line. because User X already has exclusive access to the specified line. At Figure 2-8. Exclusive Option Example 1 2-20 Opening a Line SYSTEM B SYSTEM A --- HDS2 HDS1 -------- , I I I I I I I I I I r I , I , User Y User X 6-- 6 1 ,:,~" .,\t-~,~ .. :HELLO USER.X :HELLO USER.Y : DSLlNE HDS1 ; EXCLUSIVE :DSLINE HDS2 .. .' '.~~\',.,. .~; . " .". :REMOTE HELLO USER.X In this example, User X initiates a local session in System A, obtains exclusive access to the hardwired communications line that connects System A to System B, and initiates a remote session in System B. User Y subsequently initiates a local session in System B and requests access to the same The request is denied by DSN/DS communications line. because User X already has exclusive access to the specified line. Figure 2-9. Exclusive Option Example 2 2-21 Opening aLine SYSTEM B SYSTEM A HDS1 I I I I I I I I I User X • :HELLO USER.X :DSLlNE lIDS1 :REMOTE BELLO USER.X :HELLO USER.Y :DSLlNE HDS1 ;EXCLUSlVE In this example t User X initiates a local session in System obtains access to the hardwired communications line that connects System A to System B, and initiates a remote session in System B. User Y subsequently initiates a local session in System A and requests exclusive access to the same communications line. The request is denied by DSN!DS because the specified line is already in use and therefore cannot be assigned exclusively to User Y. At Figure 2-10. Exclusive Option Example 3 2-22 .~ '~ Opening a Line SYSTEM B SYSTEM A --- HDS2 HDS1 -------- I J I I I I I I I I I I ,, I , User Y User X 6 1, .... ~\\\\"~ " ""~~'" ., • :HELLO USER.! :DSLlNE HDS2 ;EXCLUSIVE :HELLO USER.X :DSLINE HDS1 :REMOTE HELLO USER. X In this example, User X initiates a local session in System obtains access to the hardwired communications line that connects System A to System B, and initiates a remote session in System B. User Y subsequently initiates a local session in System B and requests exclusive access to the same· communications line. The request is denied by DSN/DS because the specified line is already in use and therefore cannot be assigned exclusively to User Y. A, Figure 2-11. Exclusive Option Example 2-23 4 Opening a Line Configured Local ID: A Configured Remote IDs: BtC Configured Local 10: B Configured Remote IDs: Ate SYSTEM A SYSTEM B :HELLO USER.X :OSLINE SDS1 Be ;PHNUM=555-1234 ;REMIO=II B" :REMOTE HELLO USER.X :HELLO USER.Y :DSLlNE SDS1 Be ;PHNUM=555-1234 ;REMID=" B" :REMOTE HELLO USER.Y Be Be In this example User X initiates a local session in System A and obtains access to the line identified by the device class name SDS1. The supplied telephone number is displayed at the system console of System A. The console operator establishes the telephone connection by dialing the number at the modem connected to the particular line and then enters "YES" through the system console to let DSN/DS know that the telephone (continued) Figure 2-12. Dial-up Line Multiple User Example 1 2-24 Opening a Line connection was successfully made. The two computers exchange their configured local ID sequences. System A compares the received ID sequence (B) against the remote ID sequence specified by User X (REMID="B") and System B compares the received ID sequence (A) against its list of configured remote ID sequences (A,C). Since the received 10 sequences are found to be valid at both ends of the line, the telephone connection is allowed to remain in effect. User X then initiates a remote session in System B over the telephone line from his local log-on terminal. User Y subsequently initiates a local session in System A and requests access to the same line (SDS1). Since that line is already open, DSN/DS ignores the supplied telephone number (no message is displayed at the system console). Access to the currently opened line is granted to User Y because neither user requested exclusive access and User Y specified the currently active remote ID sequence (REMID="B") in his DSLINE command. Figure 2-12. Dial-up Line Multiple User Example 1 (Continued) 2-25 Opening a Line Configured Local ID: B Configured Remote IDs: A,C Configured Local ID: A Configured Remote IDs: B,C SYSTEM B SYSTEM A I I I I I I I x e: :HELLO USER.! :DSLINE SDS3 & ;PHNUM=777-4321 & ;REMID="A" :REMOTE HELLO USER.Y :HELLO USER.X :DSLINE SOSl & ;PHNUM=555-1234 & ;REMID="B" :REMOTE HELLO USER.X In this example User X initiates a local session in System A and obtains access to the line identified by the device class name SDS1. The supplied telephone number is displayed at the system console of System A. The console operator establishes the telephone connection by dialing the number at the modem connected to the particular line and then enters "YES" through the system console to let DSN/DS know that the telephone (continued) Figure 2-13. Dial-up Line Multiple User Example 2 2-26 Opening a Line r connection was successfully made. The two computers exchange their configured local 10 sequences. System A compares the received 10 sequence (B) against the remote 10 sequence specified by User X (REM10=IIB II ) and System B compares the received 10 sequence (A) against its list of configured remote 10 sequences (A,e). Since the received 10 sequences are found to be valid at both ends of the line, the telephone connection is allowed to remain in effect. User X then initiates a remote session in System B over the telephone line from his local log-on terminal. User Y subsequently initiates a local session in System B and requests access to the line identified by the device class name SOS3. Since that line is already open, DSN/DS ignores the supplied telephone number (no message is displayed at the system console). Access to the currently opened line is granted to User Y because neither user requested exclusive access and User Y specified the·currently active remote 1D sequence (REM1D="A") in his DSL1NE command. Figure 2-13. Dial-up Line Multiple User Example 2 (Continued) 2-27 Opening a Line Configured Local ID: B Configured Remote IDs: A,C Configured Local ID: A Configured Remote IDs: B,C SYSTEM A SYSTEM B :HELLO USER.X :DSLINE SDSl & :HELLO USER. Y :DSLINE SDS1 & ;PHNUM=555-1234 & ;REMID=IIB II & ;PHNUM=555-1234 & ;REMID="B" ;EXCLUSIVE :REMOTE HELLO USER.X In this example User X initiates a local session in System A and obtains exclusive access to the line identified by the device class name SDSl (he is granted access to it because at the time no one else was using that line). The supplied telephone number is displayed at the system console of System A. The console operator establishes the telephone (continued) Figure 2-14. Dial-up Line Multiple User Example 3 2-28 Opening a Line connection by dialing the number at the modem connected to the particular line and then enters YES through the system console to let DSN/DS know that the telephone connection was successfully made. The two computers exchange their configured local 1D sequences. System A compares the received 1D sequence (B) against the remote 1D sequence specified by User X (REM10="B") and System B compares the received 10 sequence (A) against its list of configured remote 10 sequences (AtC). Since the received ID sequences are found to be valid at both ends of the line t the telephone connection is allowed to remain in effect. User X then initiates a remote session in System B over the telephone line from his local log-on terminal. II II User Y subsequently initiates a local session in System A and requests access to the same line (SDS1). The request is denied by DSN/DS because the specified line is already open and User X has exclusive access to it. Figure 2-14. Dial-up Line Multiple User Example 3 (Continued) 2-29 Opening a Line Configured Local ID: A Configured Remote IDs: B,C Configured Local ID: B Configured Remote IDs: A,e SYSTEM B SYSTEM A --.I I I I I I I , I I I I I .. r I User Y .' ~ : HELLO USER. X :DSLINE SDS1 Ie ;PHNUM=555-1234 Ie ;REMID="B" Ie ;EXCLUSIVE :REMOTE HELLO USER.X :HELLO USER. Y :DSLINE SDS3 & ;PHNUM=777-4321 Ie ;REMID="A" In this example User X initiates a local session in System A and obtains exclusive access to the line identified by the device class name SDS1 (he is granted access to it because at the time no one else was using that line). The supplied telephone number is displayed at the system console of System A. The console operator establishes the telephone (continued) Figure 2-15. Dial-up Line Multiple User Example 4 2-30 Opening a Line connection by dialing the number at the modem connected to the particular line and then enters "YES" through the system console to let DSN/DS know that the telephone connection was successfully made. The two computers exchange their configured local ID sequences. System A compares the received ID sequence (B) against the remote ID sequence specified by User X (REMID="B") and System B compares the received ID sequence (A) against its list of configured remote ID sequences (AtC). Since the received ID sequences are found to be valid at both ends of the line t the telephone connection is allowed to remain in effect. User X then initiates a remote session in System B over the telephone line from his local log-on terminal. ~ " User Y subsequently initiates a local session in System B and requests access to the line identified by the device class name SDS3. The request is denied by DSN/DS because the specified line is already open and User X has exclusive access to it. Figure 2-15. Dial-up Line Multiple User Example (Continued) 2-31 4 Opening a Line Configured Local ID: B Configured Remote IDs: A,e Configured Local ID: A Configured Remote IDs: B,C SYSTEM B SYSTEM A ---- User X :HELLO USER.! :DSLINE SDSl & :HELLO USER. X :DSLINE SDS1 Ie ;PHNUM=555-1234 & ;PHNUM=555-1234 Ie ;REMID="B" :REMOTE HELLO USER.X ;REMID="B" Ie ;EXCLUSIVE In this example User X initiates a local session in System A and obtains access to the line identified by the device class name SDS1. The supplied telephone number is displayed at the system console of System A. The console operator establishes the telephone connection by dialing the number at the modem connected to the particular line and then enters "YES" through the system console to let DSN/DS know that the telephone (continued) Figure 2-16. Dial-up Line Multiple User Example 5 2-32 Opening a Line connection was successfully made. The two computers exchange their configured local ID sequences. System A compares the received IO sequence (B) against the remote IO sequence specified by User X (REMID= B") and System B compares the received 10 sequence (A) against its list of configured remote 10 sequences (A,C). Since the received 1D sequences are found to be valid at both ends of the line, the telephone connection is allowed to remain in effect. User X then initiates a remote session in System B over the telephone line from his local log-on terminal. It User Y subsequently initiates a local session in System A and requests exclusive access to the same line (SDS1). The request is denied by DSN/DS because the specified line is already open and therefore cannot be assigned exclusively to User Y. Figure 2-16. Dial-up Line Multiple User Example 5 (Continued) 2-33 Opening a Line Configured Local ID: B Configured Remote IDs: A,e Configured Local ID: A. Configured Remote IDs: B,C SYSTEM B SYSTEM A .... _- -- SDS3 SOS1 I I I I I \ \ \ \ .x .. \ I I User Y \ ~ :HELLO USER. X :DSLINE SDSl & ;PHNUM=555-1234 & ;REMID="B" :REMOTE HELLO USER.X :HELLO USER.Y :DSLINE SDS3 & ;PHNUM=777-4321 & ;REMID="A" & ; EXCLUSIVE In this example User X initiates a local session in System A and obtains access to the line identified by the device class name SDS1. The supplied telephone number is displayed at the system console of System A. The console operator establishes the tel~phone connection by dialing the number at the modem connected to the particular line and then enters "YES" through the system console to let DSN/DS know that the telephone (cont inued) Figure 2-17. Dial-up Line Multiple User Example 6 2-34 Opening a Line r connection was successfully made. The two computers exchange their configured local ID sequences. System A compares the received ID sequence (B) against the remote ID sequence specified by User X (REMID="B") and System B compares the received ID sequence (A) against its list of configured remote ID sequences (A,C). Since the received ID sequences are found to be valid at both ends of the line, the telephone connection is allowed to remain in effect. User X then initiates a remote session in System B over the telephone line from his local log-on terminal. User Y subsequently initiates a local session in System B and requests exclusive access to the line identified by the device class name SDS3. The request is denied by DSN/DS because the specified line is already open and therefore cannot be assigned exclusively to User Y. Figure 2-17. Dial-up Line Multiple User Example 6 (Continued) 2-35 Opening a Line Configured Local ID: B Configured Remote IDs: A,e Configured Local ID: A Configured Remote IDs: B,C SYSTEM B SYSTEM A ---- User X :HELLO USER.! :DSLINE SDS1 & ;PHNUM=555-2001 & ;REMID="C" :HELLO USER.X :DSLINE SDS1 & ;PHNUM=555-1234 & ;REMID="B" :REMOTE HELLO USER.X In this example User X initiates a local session in System A and obtains access to the line identified by the device class name SDS1. The supplied telephone number is displayed at the system console of System A. The console operator establishes the telephone connection by dialing the number at the modem connected to the particular line and then enters "YES" through the system console to let DSN/DS know that the telephone (continued) Figure 2-18. Dial-up Line Multiple User Example 7 2-36 " ._-- Opening a Line connection was successfully made. The two computers exchange their configured local ID sequences. System A compares the received ID sequence (B) against the remote ID sequence specified by User X (REMID=IIB") and System B compares the received ID sequence (A) against its list of configured remote ID sequences (A,C). Since the received ID sequences are found to be valid at both ends of the line, the telephone connection is allowed to remain in effect. User X then initiates a remote session in System B over the telephone line from his local log-on terminal. " ~: User Y subsequently initiates a local session in System A and requests access to the same line (SDS1). The request is denied by DSN/DS because the specified line is already open and User Y did not specify the currently active remote ID sequence (B) in his DSLlNE command. Figure 2-18. Dial-up Line Multiple User· Example 7 (Continued) "' ~ " ~.. " ,. 2-31 Opening a Line Configured Local ID: A Configured Remote IDs: B,C Configured Local ID: B Configured Remote IDs: AtC SYSTEM B SYSTEM A .... _--- SDS3 SOS1 I I I I I I I ~x :HELLO USER.X :DSLINE SDS1 & :BELLO USER. Y :DSLINE SDS3 & ;PHNUM=555-2001 & ;PHNUM=555-1234 & ;REMID=IIB" :REMOTE HELLO USER. X ;REMID="C" In this example User X initiates a local session in System A and obtains access to the line identified by the device class name 8OS1. The supplied telephone number is displayed at the system console of System A. The console operator establishes the telephone connection by dialing the number at the modem connected to the particular line and then enters "YES" through the system console to let DSN/DS know that the telephone (continued) Figure 2-19. Dial-up Line Multiple User Example 8 2-38 Opening a Line connection was successfully made. The two computers exchange their configured local ID sequences. System A compares the received ID sequence (B) against the remote ID sequence specified by User X (REMID="B and System B compares the received ID sequence (A) against its list of configured remote ID sequences (A,C). Since the received ID sequences are found to be valid at both ends of the line, the telephone connection is allowed to remain in effect. User X then initiates a remote session in System B over the telephone line from his local log-on terminal. It ) User Y subsequently initiates a local session in System B and requests access to the line identified by the device class name SDS3. The request is denied by DSN/DS because the specified line is already open and User Y did not specify the currently active remote ID sequence (A) in his DSLlNE command. Figure 2-19. Dial-up Line Multiple User Example 8 (Continued) 2-39 Opening aLine Configured Local ID: (none) Configured Remote IDs: (none) SYSTEM A Configured Local ID: (none) Configured Remote IDs: (none) SYSTEM B :HELLO USER.X :DSLINE 8OS1 ;PHNUM=555-1234 :REMOTE HELLO USER.X :HELLO USER. Y :DSLINE SDSl ;PHNUM=555-1234 :REMOTE HELLO USER.Y In this example User X initiates a local session in System A and obtains access to the line identified by the device class name 8OS1. The supplied telephone number is displayed at 'the system console of System A. The console opera'tor establishes the telephone connection by dialing the number at the modem connec'ted to the particular line and then enters "YES" through 'the system console to let DSN/DS know that the telephone connection was successfully made. No ID sequences are exchanged because none were established (in either HP 3000) (continued) Figure 2-20. Dial-up Line Multiple User Example 9 2-40 Opening a Line during system configuration and User X didnlt specify any fn his DSLlNE command. User X then initiates a remote session in System B over the telephone line from his local log-on terminal. User Y subsequently initiates a local session in System A and requests access to the same line (SDS1). Since that line is already open, DSN/DS ignores the supplied telephone number (no message is displayed at the system console). Access to the currently opened line is granted to User Y because neither user requested exclusive access and User Y specified the currently active remote ID sequence (in this case none) in his DSLINE command. Note that when no ID sequences are configured and the users donlt supply any in their DSLINE commands, both are taking it on faith that they are connected to the proper remote computer. The total absence of configured or supplied ID sequences is safe only under ve~ controlled circumstances. It is strongly recommended that all computers in a DSN/DS network that are capable of communicating over telephone lines have default local and remote ID sequences established during system configuration and that all line users specify the ID sequence of the desired remote computer (REMID=x) in their DSLINE commands. Figure 2-20. Dial-up Line Multiple User Example 9 (Continued) 2-41 Opening aLine Configured Local ID: (none) Configured Remote IDs: (none) Configured Local ID: (none) Configured Remote IDs: (none) SYSTEM B SYSTEM A I I I I I I I ~x :HELLO USER.X :DSLlNE 8OS1 ;PHNUM=555-1234 :REMOTE HELLO USER.X :HELLO USER. Y :DSLlNE SDS3 ;PHNUM=777-4321 :REMOTE HELLO USER. Y In this example User X initiates a local session in System A and obtains access to the line identified by the device class name SDS1. The supplied telephone number is displayed at the system console of System A. The console operator establishes the telephone connection by dialing the number at the modem connected to the particular line and then enters "YES" through the system console to let DSN/DS know that the telephone connection was successfully made. No ID sequences are exchanged because none were established (in either HP 3000) (continued) Figure 2-21. Dial-up Line Multiple User Example 10 2-42 Opening a Line during system configuration and User X didn't specify any in his DSLlNE command. User X then initiates a remote session in System B over the telephone line from his local log-on terminal. User Y sUbsequently initiates a local session in System B and requests access to the line identified by the device class name SDS3. Since that line is already open, DSN/DS ignores the supplied telephone number (no message is displayed at the system console). Access to the currently opened line is granted to User Y because neither user requested exclusive access and User Y specified the currently active remote ID sequence (in this case none) in his DSLlNE command. Note that when no ID sequences are configured and the users don't supply any in their DSLlNE commands, both are taking it on faith that they are connected to the proper remote computer. The total absence of configured or supplied ID sequences is safe only under ve~ controlled circumstances. It is strongly recommended that all computers in a DSN/DS network that are capable of communicating over telephone lines have default local and remote ID sequences established during system configuration and that all line users specify the ID sequence of the desired remote computer (REMID=x) in their DSLlNE commands. Figure 2-21. Dial-Up Line Multiple User Example 10 (Continued) 2-43 :REMOTE HELLO The REMOTE HELLO Command Once you have obtained access to a physical communications line using the DSLlNE command, you use the REMOTE HELLO command to actually establish the communications link. The REMOTE HELLO command initiates a remote session on your behalf in the HP 3000 connected to the other end of the communications line. The format of the REMOTE BELLO command is presented in figure 2-22. Notice that, except for the three shaded items, it has exactly the same format as the standard MPE HELLO command. Because the REMOTE HELLO command is initiating a session for you in a remote HP 3000, the parameters in that command specify information which pertains to the operating environment of the remote HP 3000 (not your local one). More specifically you must keep the following in mind: • sessionname (if present) identifies the remote session and has no relationship to your local session. • username, accountname, groupname, and their passwords (if any) must all be valid as defined by the accounting. structure of the remote HP 3000. • cpusecs (if present) reters to central-processor time in the remote system. • BS, CS, OS, ES, inputpriority, and HIPRI (if present) all specify priorities for the remote session within the remote system. • termtype (if present) has no meaning and is ignored because output from the remote session is directed to the communications line instead of to a terminal. The termtype parameter for your local session implicitly defines your log-on terminal type for any remote sessions that you initiate. 2-44 :REMOTE HELLO [sessionname,] usemame [/userpass] .acetname [/acctpass] [,groupname [/grouppass] ] [;TIME = cpusecs] ;INPRI [ ;HIPRI = inputpriority ] lilllllllllllll'IIIIII~Jj Figure 2-22. The REMOTE HELLO Command Syntax The parameters for the REMOTE HELLO command are as follows: sessionname Arbitrary name used in conjunction with username and acctname parameters to form a session identity. Contains from 1 to 8 alphanumeric characters, beginning with a letter. Default is that no session name is assigned. username A user name, established by the account manager, that allows you to log on under this account. Contains from 1 to 8 alphanumeric characters, beginning with a letter. (Required parameter.) 2-45 :REMOTE HELLO userpass User password, optionally assigned by the account manager. Contains trom 1 to 8 alphanumeric characters, beginning with a letter. acctname Name ot account, as established by the account manager. Contains trom 1 to 8 alphanumeric characters, beginning with a letter. The acctname parameter must be preceded by a period. (Required parameter.) acctpass Account password, optionally assigned by the system manager. Contains trom 1 to 8 alphanumeric characters, beginning with a letter. groupname Name ot the group to be used for local tile domain and CPU time charges. Established by the account manager. Contains trom 1 to 8 alphanumeric characters, beginning with a letter. Detault is your home group, if you are assigned one by the account manager. (Optional it you have a home group; required if a home group has not been assigned.) grouppass Group password, optionally assigned by the account manager. Contains from 1 to 8 alphanumeric characters, beginning with a letter. (Required it assigned and you are logging on under other than your home group; optional if you are logging on under your home group.) tenntype Ignored. The TERM=termtype parameter ot the HELLO command that initiated the local session also implicit1Y defines the log-on terminal type tor any remote sessions initiated from the local session. cpusecs Maximum CPU time that the session can use, entered in seconds. When the limit is reached, the session is aborted. Must be a value trom 1 to 32767. To specify no limit, enter a question mark (1) or UNLIM, or omit the parameter. Detault is no limit. 2-46 :REMOTE HELLO Execu'tion priority class. BS is highest priori'ty; ES is lowes't. If you specify a priority that exceeds the highest permitted for your account or user name by the system, MPE assigns the highest priori'ty possible below BS • Default is CS. NOTE DS and ES are used primarily for batch jobs. Their use for sessions is discouraged. inpu'tprior'ty Relative input priority used in checking against access restrictions imposed by the jobfence, if one exists. Takes effect at log-on time. Must be a value from 1 (lowest priority) to 13 (highest priority). If a value is specified that is less than or equal to current jobfence set by the console operator, the session is denied access. Default is 8 or 13, depending upon the System Logging options in effect. HIPRI Request for maximum session-selection input priority, causing the session to be scheduled regardless of current jobfence or execution limit for sessions. This parameter can be specified only by users with System Manager or System Supervisor capability. (If not, the system tries to log you on with INPRI= 13.) Default is the current jobfence and execution limit. dsdevice The device class name or logical device number assigned to the DSN/DS communications driver (IODSO or IODSX) during system configuration. This parame'ter, if present, specifies which line you wish to use. (Optional parameter if a line is already open; otherwise it is required.) 2-47 Opening aLine So far. we have been talking entirely about the DSLINE and REMOTE HELLO commands be ing used in conjunction with one another: the DSLlNE command obtaining access to a physical line and the REMOTE HELLO command actually establishing the communications link by initiating a remote session over the acquired line. As you may have guessed from the above parameter definitions. the DSLlNE parameter ot the REMOTE HELLO command gives you a new. and simpler. way to obtain a line and establish a communications link. If you are satisfied to use the default DSN/DS line buffer size and you do not need exclusive use of the line. you can acquire a line and initiate a ~emote session over that line by us ing a single command: a REMOTE HELLO command with the DSLlNE parameter. If' you open a line in this way. however. it remains open only tor the duration ot the particular remote session (when the remote session is terminated the line is automatically closed). It. on the other hand. you use the DSLINE command to open a line. the line remains open for the duration of the local session (or until you explicitly close the line). To illustrate this. look again at the example in Section I. In that example. the DSLlNE command was used to obtain access to the hardwired line HDS2 and the REMOTE HELLO command was used to initiate a remote session over the line: :DSLlNE HDS2 REMOTE BELLO ROSER. RACCOUNT ,HP3000 / MPE IV c.00.04. WELCOME WED. MAR 3, 1982. 9:08 AM TO SYSTEM B. NOTE In this case the acquired line remains open when the remote session is terminated. 2-48 Opening a Line By including the DSLINE parameter in the REMOTE HELLO command, essentially the same operations could be performed while using a single command, as follows: :REMOTE HELLO RUSER.RACCOUNT;DSLINE=HDS2 DS LINE NUMBER = IL3 HP3000 / MPE IV c.00.04. WED, MAR 3, 1982, 9:08 AM WELCOME TO SYSTEM B. NOTE In this case the acquired line is closed when the remote session is terminated. Another example, this time using the DSLINE command to obtain access to a telephone line (by way of an SSLC whose associated communications driver's device class name is SDS1) and the REMOTE HELLO command to initiate a remote session over the line, is as follows: :DSLINE SDS1 ~ '( DS LINE NUMBER = IL3 : REMOTE HELLO RUSER .RACCOUNT HP3000 / MPE IV c.oo.o4. WED, MAR 3, 1982, 9:08 AM WELCOME TO SYSTEM B. NOTE In this case the acquired line remains open when the remote session is terminated. 2-49 Opening a Line By including' the OSLIN! parameter in the REMOTE HELLO command, , you can perform essentially the same operations using a single command, as follows: :REMOTE HELLO RUSER.RACCOUT;DSLINE=SDSl DS LINE NUMBER = IL3 HP3000 / MPE IV c.00.04. WED, MAR 3, 1982, 9:08 AM WELCOME TO SYSTEM B. NOTE In this case the acquired line is closed when the remote session is terminated. This telephone line example will work properly for you only under very limited circumstances: • You must be satisfied to use the default DSN/OS line butter size established during system configuration. • The default ~D sequences established in both computers during system configuration must properly identify both your local BP 3000 and the desired remote HP 3000 (or no ID sequences were established during system configuration in either computer). • You must dial the remote computer yourself at the proper modem, or the line must be connected to (and configured for) autodialing. Note that if you cannot successfully make the telephone connection you cannot abort the REMOTE HELLO command; the command will be rejected by DSN/DS it no connection is established within 15 minutes. The likelihood of all of the above conditions existing for a particular use of DSN/DS is rather slim. In most DSN/DS environments you will want to explicitly define the ID sequence ot the desired remote computer to guarantee that the proper connection is established, and you will want to provide a telephone number so that you can let DSN/DS know immediately it a telephone connection cannot be made. (It is not acceptable to tie up a communications interface and your log-on terminal for 15 minutes waiting for an unsuccessful DSLINE or REMOTE HELLO request to be rejected.) 2-50 Opening a Line Opening Multiple Lines Within your local session, you can open more than one physical communications line and you can have remote sessions active concurrently over all of the opened lines. However, when operating without DS/X.25 capability, you are limited to one remote session per physical line at any given time. If access to the specified line is obtained, DSN/DS responds to each DSLlNE command by displaying a DS line number at your log-on terminal. This line number is roughly analagous to the file number returned by the MPE FOPEN intrinsic, in that it is an arbitrary number that uniquely identifies (within your local session) your current access to a particular communications line. It has no relationship to the logical device number or any other configuration parameter associated with the line. DS line numbers are meaningful only if you have more than one line open concurrently within a single local session. In that case, you are assigned a separate DS line number for each line you have opened, and you subsequently use these numbers to specify which line you wish to use for a given remote command (or sequence of remote commands) or to close a particular line without closing the others. Figure 2-23 illustrates a situation where a user has established two hardwired communications links concurrently from within a single local session. Take a closer look at that situation and examine the sequence of commands that was used to create it. 2-51 Opening a Line SYSTEM B SYSTEM A / HOS1 (OS line number 3) User's log-On Terminal SYSTEM C Figure 2-23. Multiple Line Example (Hardwired Lines) 2-52 Opening aLine r First the user sat down at a terminal connected to System A and initiated a local session: :HELLO USER.ACCOUNT HP3000 / MPE IV c.oo.o4. WED, MAR 3, 1982, 1:37 PM WELCOME TO SYSTEM A. USER and ACCOUNT are valid user and account names, respectively, as defined by the accounting structure of System A. Now, we have the situation illustrated in figure 2-24. Notice that, at this point, no communications link exists between any of the three systems. 2-53 Opening a Line SYSTEM B SYSTEM A SYSTEMC ~ User's Log-On Terminal Figure 2-24. Initiating the Local Session (Hardwired Example) 2-54 Opening a Line r Next, the user acquired access to a line between Systems A and B and initiated a remote session in System B: :DSLINE HOS1 DSLlNE NUMBER = IL3 :REMOTE HELLO RUSER.RACCOUNT HP3000 / MPE IV c.oo.o4. WED, MAR 3, 1982, 1:38 PM WELCOME TO SYSTEM B. HOSl is the device class name (as defined within System A) associated with the particular line. RUSER and RACCOUNT are valid user and account names, respectively, as defined by the accounting structure of System B. Now we have the situation illustrated in figure 2-25. 2-55 Opening aLine SYSTEM A / HDS1 IDS lIne numbor 31 SYSTEM B SYSTEM C User's Log-On Terminal Figure 2-25. Establishing the Link With System B (Hardwired Example) 2-56 Opening a Line r Finally, the user acquired access to a line between Systems A and C and initiated a remote session in System C: :DSLINE HDS2 DS LINE NUMBER = IL4 :REMOTE HELLO RUSER.RACCOUNT BP3000 / MPE IV c.oo.o4. WED, MAR 3, 1982, 1:39 PM WELCOME TO SYSTEM C HDS2 is the device class name (as defined within System A) associated with the particular line. RUSER and RACCOUNT are valid user and account names, respectively, as defined by the accounting structure of System C. We end up with the situation illustrated in figure 2-26, which is identical to figure 2-23 that started this example. 2-57 Opening a Line SYSTEM B SYSTEM A / HOS1 (OS line number 3) ----HDS2 (OS Line number 4) User's Log-On Terminal SYSTEMC Figure 2-26. Establishing the Link With System C (Hardwired Example) 2-58 Opening a Line Figure 2-27 illustrates a situation where a user has established two telephone communications links concurrently from within a single local session. Take a closer look at that situation and examine the sequence of commands that was used to create it. SYSTEM B SYSTEM A SOS1 / (OS line number 3) User's Log-On Terminal SYSTEM C Figure 2-27. Multiple Line Example (Telephone Lines) 2-59 Opening a Line First the user sat down at a terminal connected to System A and initiated a local session: :BELLO USER.ACCOUNT HP3000 / MPE IV c.oo.o4. WED. MAR 3. 1982. 1:31 PM WELCOME TO SYSTEM A. USER and ACCOUNT are valid user and account names, respectively, as defined by the accounting structure of System A. At this point, we have the situation illustrated in figure 2-28. Notice that. so far. no communications link exists between any of the three systems. 2-60 Opening a Line r SYSTEM A SYSTEMS /SDS1 [ ~SDS2 User's Log-On Terminal SYSTEMC [ Figure 2-28. Initiating the Local Session (Dial-up Example) 2-61 Opening a Line Next, the user acquired access to a telephone connection between Systems A and B and initiated a remote session in System B: :DSLINE SDS1 ;LOCID="A" ;REMID="B" ;PHNUM=257-8001 DS LINE NUMBER = IL3 : REMOTE HELLO RUSER. RACCOUNT HP3000 / MPE IV c.oo.04. WED, MAR 3, 1982, 1:38 PM WELCOME TO SYSTEM B. SDS1 is the device class name (as defined within System A) associated with the particular line, A and B are the ID sequences identifying Systems A and B, respectively, and 257-8001 is the telephone number of the modem connected to the communications interface at System B. RUSER and RACCOUNT are valid user and account names, respectively, as defined by the accounting structure of System B. Now we have the situation illustrated in figure 2-29. 2-62 Opening a Line SYSTEM A SYSTEM B SOS1 / CDS lin. number 31 ~SDS2 User's Log-on Terminal SYSTEMC [ Figure 2-29. Establishing the Link With System B (Dial-up Example) 2-63 Opening aLine Finally the user acquired access to a line between Systems A and C and initiated a remote session in System C: :DSLINE SDS2 ;LOCID="A" jREMID="C" jPHNUM=377-2000 DS LINE NUMBER = IL4 :REMOTE HELLO RUSER.RACCOUNT HP3000 / MPE IV c.00.04. WED t MAR 3, 1982, 1:39 PM WELCOME TO SYSTEM C. SDS2 is the device class name (as defined within System A) associated with the particular line, A and C are the ID sequences identifying Systems A and C, respectively, and 377-2000 is the telephone number of the modem connected to the communications interface at System C. RUSER and RACCOUNT are valid user and account names, respectively, as defined by the accounting structure of System C. We end up with the situation illustrated in figure 2-30, which is identical to figure 2-27 that started this example. 2-64 Opening a Line r SYSTEM A SYSTEM B SOSl , / (OS line number 3) User's Log-On Terminal SYSTEM C Figure 2-30. Establishing the Link With System C (Dial-up Example) 2-65 Opening a Line Line Opening Failures There are several reasons why a DSLlNE command for opening a communications line might be rejected by DSN/DS, some of which have already been illustrated earlier in this section. The following list summarizes the likely causes of a line opening failure that are common to hardwired lines, leased lines, and dial-up telephone lines: • You made a syntax error in the DSLlNE command. • You gave an erroneous line specification (dsdevice) in the DSLlNE command. (There is no IODSO or IODSX entry in the system configuration with the specified device class name or logical device number.) • The line was not opened by the local console operator. • The line was not opened by the remote console operator. • Someone already has exclusive access to the specified line. • You asked for EXCLUSIVE access to a line which was already in use. • DSN/DS detected a hardware problem (the communications interface board is not responding corre:tly). The following list summarizes the additional causes of a line opening failure on a dial-up telephone line: requested telephone system console in • The operator was not able to make the connection and entered NO through the response to the dial request message. • The remote computer rejected your local ID sequence. • The remote computer did not send a valid ID sequence (the received ID sequence did not match any of the remote ID sequences that you specified or, if you didn't specify any, did not match any of the configured remote ID sequences). • The specified line is already in use and the remote ID sequence you supplied did not match the one used by the currently connected remote HP 3000. The various error numbers and messages that might appear as a result of line opening failures are included in the summary of error codes and messages in Appendix B. 2-66 Closing a Line CLOSING A LINE Once you have opened one or more communications lines, you can close any or all of them by using a variation of the DSLlNE command. The line closing format of the DSLlNE command is presented in figure 2-31. dsdevice :OOLIB { ds-line-number @ Figure 2-31. } CLOSE Closing a Line with the DSLlNE Command The parameters that pertain to closing one or more communications lines are as follows: dsdevice The device class name, logical device number, or logical node name specified in the DSLlNE command that opened a particular line. (Optional parameter.) ds-line-number The DS line number assigned to you by DSN/DS when the particular line was opened. When this parameter is used, it must appear in the format ILn , where n is the line number (see "Examples" on the following page). (Optional parameter.) This parameter specifies that you wish to close all of the lines that you currently have open. (Optional parameter.) 2-67 Closing a Line ; CLOSE This parameter specifies that you wish to close the specified line(s). (Required parameter.) If no line identifier (dsdevice, ds-line-number, or @) is specified, DSN/DS closes the line that you most recently opened. Examples The following examples illustrate the variations of the DSLlNE command that can be used for closing one or more communications lines. :DSLINE HDSl ;CLOSE This form closes the line that is identified by the device class name HDS1. :DSLlNE 55 ;CLOSE This form ~loses the line that is identified by the logical device number 55. :DSLlNE @ ;CLOSE This form closes all the lines that you currently have open. 2-68 Closing a Line :DSLINE IL3 ;CLOSE This form closes the line that is identified by IL3. :DSLINE ;CLOSE This form closes the line that you most recently opened. If you are sharing one or more physical communications lines with other users, the above forms of the DSLIHE command close the line(s) for your application only (the other user's applications are not affected). 2-69 r REMOTE SESSIONS l~ A communications link exists after you have initiated a session in the remote HP 3000 under the username, accountname, and groupname specified in the REMOTE HELLO command. You now have two distinct sessions in existence simultaneously from the same log-on terminal: a local session (in the HP 3000 to which you first logged on) and a remote session (in the BP 3000 at the other end of the communications line). Now pause for a moment to see what this implies. Within the local session, you have access to all I/O devices and disc files in your local HP 3000 (subject to the usual MPE file security, of course). This is a normal MPE interactive session in every respect. You enter MPE commands and use the various language and utility subsystems exactly as you would if DSN/DS were not present. This local session is running under the username, accountname, and groupname specified in the HELLO command that you used to first log on. All user capabilities and file access available to you within the local session are determined by those log-on parameters. ,-~ Within the remote session, you have access to all I/O devices and disc files in the remote HP 3000 (again, subject to the usual MPE file security). With the few minor exceptions described in the following pages, this is also a normal MPE interactive session. All MPE commands and subsystems are, however, executed in the remote BP 3000. The output resulting from the executed commands and subsystems appears at your local log-on terminal. The remote session is running under the username, accountname, and groupname specified in the REMOTE HELLO command that you used in establishing the communications link. All user capabilities and file access available to you within the remote session are determined by those log-on parameters. For the sake of clarity and as a learning aid, the remainder of this section will treat local and remote sessions as separate (and essentially unrelated) entities that use only those resources available in the particular HP 3000 in which they are running. Actually, it is possible to access the I/O devices and disc files of the remote HP 3000 computer from your local session, and it is also possible to access the I/O devices and disc files of the local HP 3000 from your remote session. This more advanced activity will be covered in Section IV, "Remote File Access". ~. 3-1 Remote Sessions ISSUING REMOTE COMMANDS .~ Remember that, in the previous sections, the following sequence of commands was used to establish the communications link: carriage return :HELLO USER.ACCOUNT HP3000 / MPE IV c.00.04. WED, MAR 3, 1982, 9:05 AM } HELLO command and lagoOn display for local session. WELCOME TO SYSTEM A. :DSLINE HDS2 DS LINE NUMBER = IL3 :REMOTE HELLO RUSER.RACCOUNT HP3000 / MPE IV c.oo.04. WED, MAR 3, 1982, 9:06 AM HELLO command and lagoOn display for remote session. WELCOME TO SYSTEM B. At this point, the remote session has been initiated, but you are currently in the local session (as signified by the colon prompt character). To execute a command in the remote session, use the following construct: :REMOTE [xxx] command where xxx is the DS line number returned by DSN/DS when the communications line was opened, and command is the desired MPE command in its normal format. (The DS line number is necessary only if you have more than one communications line open simultaneously; if it is omitted, then the line which you most recently opened is referenced by default). In the example in Section I, this construct was used to execute a LISTF command, as follows: :REMOTE LISTF FILENAME DATAl DATA5 DATA6 FILE3 SOURCE1 Because the prefix REMOTE was included, the LISTF command is executed in. the remote session (the implied account and group names are those established by the REMOTE HELLO command that 3-2 ~ Remote Sessions initiated the remote session). Although the LISTF command is executed in the remote HP 3000, the output generated by the command is displayed at your local log-on terminal. Notice, in the above example, that the DS line number associated with the particular communications line was not specified (3 in this example). This is because, if DO line number is specified, DSN/DS uses (by default) the line most recently opened. Only one communications line is open from your local session; so DSN/DS uses that line by default. If you had opened a second line, you would need to tell DSN/DS in which remote computer the remote command is to be execwted. To tell DSN/DS, include the appropriate OS line number in the remote command, as follows: : REMOTE 3 LISTF FILENAME DATAl DATA5 DATA6 FlLE3 SOURCEl The above construct only allows you to execute a single remote command. After the remote command has been executed, control returns to your local session (as signified by the colon prompt character) • But suppose that you want to execute a whole series commands. It would obviously be a nuisance to have each command with the word REMOTE. DSN/DS provides solution to this situation. To execute a series of the remote session, use the following construct: : REMOTE of remote to prefix a convenient commands in [xxx ] where xxx is again the DS line number of the desired communications line (specifying in which remote HP 3000 we want to execute commands). DSN/DS then prompts you for each command by displaying a # in column 1 of your terminal (in place of the standard MPE colon prompt). In the example in Section I, this construct was used for entering two remote MPE commands, EDITOR and BYE. 3-3 Remote Sessions After reviewing the example in Section I, try another example that uses more than those two remote commands: : REMOTE ILISTF FILENAME DATAl DATA5 IPURGE DATA~ 'PURGE DATA ILISTF DATA6 FILE3 SOURCE1 FILENAME DATAl FILE3 SOURCE1 'RUN FCOPY. PUB. SYS HP32212A.0.03 FILE COPIER >FROM=DATAl ;TO=DATA2 ;NEW EOF FOUND IN FROMFILE AFTER RECORD 619 680 RECORDS PROCESSED *** 0 ERRORS >EXIT END OF PROGRAM 'LISTF FILENAME DATAl DATA2 FILE3 SOURCE1 'BYE cpu=4. CONNECT=7. WED, MAR '1- 3, 1982, 9: 13 AM Notice that except for the' prompt (in place of the standard colon prompt) this looks exactly like a normal MPE interactive session. All of the commands shown in the previous example are entered through the local log-on terminal, but the MPE and FCOPY commands are executed in the remote session within the remote HP 3000. After each remote MPE command was executed, however, control remained in the remote session (as signified by the' prompt character). When the remote session was terminated and the user typed a colon (:) in response to the # prompt following the log-ofr message, control was then returned to the local session (as signified by the colon prompt). 3-4 Remote Sessions r Using The Remote Subsystem From a Batch Job While in a batch job. you can establish a remote session by using the DSLINE or REMOTE HELLO command. The job to be streamed may be similar to the following: :JOB USER. ACCOUNT :DSLINE HDS2 : REMOTE HELLO RUSER. RACCOUNT : REMOTE 'FILE OUT;DEV=LP 'BUILD WORK;DISC=50 'RUN USERPROG 'PURGE WORK ,: : REMOTE BYE :DSLINE;CLOSE :EOJ NOTE The remote , prompt is optional. An important point to remember is that. once established. the remote session is interacting with the job in the same way as it would interact with a terminal. If the remote session detects an error. the error is printed to $STDLIST and the next record in the job file is read (in the same manner as waiting for a character or carriage return on a terminal). The record is then lost to the job. The BREAK Key Within a r,emote session. you can use the BREAK key to temporarily interrupt remote processing. When doing so. either you may return control to the MPE Command Interpreter of your local HP 3000, or you may temporarily suspend the remote subsystem that you are executing without returning control to the local HP 3000. This is determined by how you execute commands in the remote session. There are two ways to execute commands in a remote session: • By prefixing each command with the word REMOTE. • By entering the word REMOTE, which prompts you for each command. 3-5 Remote Sessions Prefixing Each Command With REMOTE When you are conduc'ting a remote session by prefixing each command with the word REMOTE. pressing the BREAK key returns control to the local Command Interpreter and you receive the colon (:) prompt. To con'tinue remote processing at the point where it was interrupted. you merely enter REMOTE RESUME in response to the local MPE colon prompt. As an example. assume that you are in the midst of using the text editor in a remote session when you suddenly decide to start a job stream executing concurrently in your local HP 3000. The sequence of commands would be similar to the following: : REMOTE EDITOR HP3220lA.7.05 EDIT/3000 FRI. MAY 9. 1980. 9:11 AM (C) HEWLE'rr- PACKARD CO. 1979 IADD -1 2 3 pr\, Local session 4 5 : STREAM DOE. JOHN 29 BLACK. PATRICIA SIMON, NEIL MACK. SHIRLEY 23 F SF 43 M NY ~ BREAK COB'l'ESTl IJ19 : REMOTE RESUME READ PENDING MICHAELS. WILLIAM 38 M CHI F DET key pressed here. Control is now in the local session. } 32 M CHI 49 314 M DET F LA 42 F CHI } Control is now back in the remote session. Notice that when the BREAK key was pressed. the text editor in the remote HP 3000 was waiting for you to enter the text for line 5. The BREAK key interrupted the remote session and passed control to the MPE Command Interpreter of the local HP 3000 (as signified by the colon prompt). The STREAM command was issued within the local session. which caused the file COBTEST1 to be executed in 'the local HP 3000. Then. when the RESUME command was issued. control was passed back to the remote session at 'the point where it was interrupted (that is. the text editor in the 3-6 Remote Sessions remote BP 3000 is now waiting for you to enter the text for line 5). When the text for line 5 is entered, the remote session proceeds as though nothing had happened. Note that by the end of the example, the local job stream, the local session, and the remote session are all operational simultaneously. Entering REMOTE When you are interacting with the remote Command Interpreter by having entered the word REMOTE and you are receiving the remote prompt (I), pressing the BREAK key will temporarily suspend the subsystem you are executing and will return control to the remote Command Interpreter. To continue remote processing at the point where it was interrupted, you merely enter RESUME in response to the remote prompt. As an example, assume that you are in the midst of using the text editor in a remote session when you suddenly decide to start a job stream executing in your remote HP 3000. The sequence of commands would be similar to the example shown previously, but with a few minor differences, as follows: : REMOTE 'EDITOR HP 32201A.7.05 EDIT/3000 FRI, FEB 13, 1981, 9:20 AM (C) HEWLETT-PACKARD CO. 1979 IADD 1 2 3 4 5 LEWIS, LEO LAGERGREN, FRED DICKINSON, MARY LAGREGREN, LINDA ~ 51 25 21 24 M SV M SJ F SC F SJ BREAK key pressed here. 'STREAM APLTEST1 IJ20 'RESUME } Control is still in the remote session. READ PENDING MELLO, HENRY 44 M SJ 6 SOARES, JOE 59 M LA 7 LAWRENCE, ALICE 44 F SJ 8 LEWIS, BOB 29 M WASH 3-7 Remote Sessions Notice that when the BREAK key was pressed, the text editor in the remote HP 3000 was waiting for you to enter the text for line 5. The BREAK key interrupted the remote session, but control remained in the remote HP 3000 (as signified by the remote # prompt) • The STREAM command executed the file APLTESTl within the remote HP 3000. Then, when the RESUME command was issued, control was passed back to the point where the text editor was interrupted (that is, the text editor is waiting for you to enter the text for line 5). When the text for line 5 is entered, the remote session proceeds as though nothing had happened. The Control Keys Within a remote session Control-H, Control-X, and Control-Y perform exactly the same functions as they do in a normal MPE interactive session. For example, if you are using FCOPY or the text editor in a remote session, you can use Control-Y to prematurely terminate an FCOPY or text editor operation. When the operation terminates, control is still in the particular subsystem within the remote session. Similarly~ you can use Control-H to delete the last character entered or Control-X to delete the line of text currently being entered. In both of these cases, after the deletion occurs, control remains in the remote session. ISSUING LOCAL COMMANDS Whenever the standard MPE colon prompt is displayed at your terminal, you are in the local session. Within the local session, you enter MPE commands in their normal format in response to the colon prompt. If you are in the midst of a remote session (that is, you used the command :REMOTE , and DSN/OS is issuing the # prompt character), you can return control to your local session by entering a colon, as follows: In response to the remote colon, control returns to the MPE Command Interpreter of your local HP 3000 which then prompts you for local commands with the colon prompt character. Note that the remote colon does not terminate the remote session; you can resume processing in the remote session by again using either of the constructs described under "Issuing Remote Commands". 3-8 Remote Sessions TERMINATING A REMOTE SESSION You can terminate a remote session either from within the local session or from within the remote session itself. From The Local Session Whenever the standard MPE colon prompt is displayed at your terminal, you are in the local session. To terminate a remote session from within your local session, use the following command: . : REMOTE [xxx] BYE where xxx is the DS line number associated with the communications line connecting the particular remote session to your local session. (The DS line number is necessary only if you have more than one communications line open simultaneously; if it is omitted then the line that you most recently opened is referenced by default.) For instance, in the example in Section I, either of the following sequences could have been used to terminate the remote session: I: :REMOTE BYE cpu=4. CONNECT=7. WED, MAR 3, 1982, 9: 13 AM *** OR *** Il. : REMOTE 3 BYE cpu=4. CONNECT=7. WED, MAR 3, 1982, 9:13 AM In both cases, the remote colon was used to return control from the remote session to the local session. In either case, the remote session is terminated. 3-9 Remote Sessions If the communications line was opened using the DSLINE= parameter ot the REMOTE HELLO command, the line is automatically closed when the remote session terminates. To initiate another remote session over the same communications line, you must once again open the line (using either the DSLINE command or the DSLINE= parameter of the REMOTE HELLO command) and then issue another REMOTE BELLO command. If the communications line was opened using the DSLINE command, it is still open. To initiate another remote session over the same communications line, merely issue another REMOTE HELLO command (you do not need to issue another DSLlNE command because the communications line is still open). To close the communications line, use the constructs presented in Section II. From The Remote Session Whenever the , prompt is displayed at your terminal, you are in the remote session. To terminate a remote session from within the remote session itself, use the following command: 'BYE Note that you do not need to supply a DS line number in this case, because DSN/DS knows implicitly which remote session you wish to terminate (that is, the one in which the IBYE command is executed) • Remember that this command was used to terminate the remote session in the example at the end of Section I, as follows: I BYE , cpu=4. CONNECT=1. WED, MAR 3, 1982, 9:15 AM Notice that although the remote session is terminated, DSN/DS is still issuing the' prompt character. To return control to the local session, issue a colon (described earlier under "Issuing Local Commands ll ). If the communications line was opened using the DSLINE command, it is still open. To initiate another remote session over the same communications line, merely issue an appropriate remote MPE HELLO command. (You do not need to use the prefix REMOTE because 3-10 Remote Sessions DSN/OS is still waiting for you to enter a remote command; nor do you need to issue another DSLlHE command because the communications line is still open.) To close the communications line, use the constructs presented in Section II. If the communications line was opened using the DSLINE= parameter of the REMOTE HELLO command, the ltne is automatically closed when the remote session terminates. To initiate another remote session over the same line, you must once again open the line (using the DSLlHE command or the DSLlNE= parameter of a REMOTE BELLO command) and then issue another REMOTE HELLO command. 3-11 REMOTE FILE ACCESS r I~ In the preceding sections, you have seen how you can establish a communications link between two HP 3000s and thereby use the computing power of the remote HP 3000. But that is only part of the story! Through the use of the DSN/DS Remote File Access (RFA) capability, programs running in your local session can: • Use any of the devices connected to the remote HP 3000 as though they were connected directly to your local HP 3000 • Access any of the disc files of the remote HP 3000 (subject to the normal MPE file security, of course) as though they resided at your local HP 3000 site. The RFA capability, in conjunction with the remote session capability, suddenly puts all of the computing power and all of the hardware and software resources of a remote HP 3000 at your fingertips. Section IV is divided into two main parts. The first part, "Command Access", describes how you can issue local MPE FILE commands that define devices and/or files residing at the remote HP 3000 site. The second part, "Programmatic Access", describes how you can use the standard set of MPE File System intrinsics within your local programs to access devices and/or files residing at the remote HP 3000 site. 4-1 Remote File Access COMMAND ACCESS After a DSN/DS communications link has been established, you can issue local MPE FILE commands that define devices and/or files residing at the remote HP 3000 site. To make this possible, the DEV= parameter of the MPE FILE command has been expanded to include a DS line specification in addition to the usual device specification. To specify a file that resides across a DS line, the format of the DEV= parameter is as follows: ;DEV= [dsdevice]1 [device] where dsdevice is the device class name, logical device number, or node name that you used when establishing the particular communications link (this specifies the physical line connecting the two computers); and device is the device class name or logical device number of the desired remote device as established within the remote HP 3000. NOTE When the FILE command is entered on a remote system to point back across to a file on the local system, dsdevice is omitted. Figure 4-1 is an excerpt from the MPE Commands Reference Manual, showing only the parts of the syntax and parameter specifications pertinent to and including the dsdevice# parameter. (Refer to the MPE Commands Reference Manual for the complete syntax and all parameters.) The dsdevice# parameter (within the DEV= parameter) is the only parameter unique to DSN/DS. This one small item of syntax is enormously powerful. It means that from within your local session you can access any of the devices and/or disc files of a remote HP 3000 as though they resided at your local HP 3000 site. Access to remote disc files is, of course, subject to the usual MPE file security. The user, account, and group names that you specified in the REMOTE HELLO command when establishing the communications link are the ones used by MPE in the remote HP 3000 for determining your file access capabilities. Following figure 4-1 are five annotated examples illustrating remote device and file access from a local session. 4-2 :FILE SYNTAX :FILE namespec [filechar][ disposition )[filechar] PARAMETERS namespec Consists of the formal name used by the program and may be equated to another file in the system. (REQUIRED PARAMETER) filechar A list of parameter specifying devicespec (the physical description of the REC, DEV, ENV, DEN, DISC, CODE, RIO, NORIO, STD, MSG, and CIR options) and access (the type of access granted to a file). disposition Specifies what is to be done with the file after it is closed. This consists of the DEL,SAVE, and TEMP options. SYNTAX FOR NAMESPEC formaldesi~nator = *formaldesignator =$NULL =$NEWPASS =$OLDPASS =$STDIN =$STDINX =$STDLIST ] = filereference] [,NEW ,OLD ,OLDTEMP SYNTAX FOR FILECHAR deVicespec ~ access] ] [filechar] [ access [devlcespec] Figure 4-1. MPE FILE Command (Pertinent Excerpts) 4-3 :FILE SYNTAX FOR DEVICESPEC [;REC = [recsize] [, [blockfactor] [, [F) [,BINARY]]]] [U] [,ASCII ] [V] [;DEV = [[dsdevice] # ] [device] [,[outpriority] [,numcopies]]] [;ENV = [environment] ] [;DEN = [density] ] [;DISC = [numrec] [,numextents] [,initalloc]]] [;CODE = [filecode] ] ;RIO ;NORIO ;STD ;MSG ;CIR SYNTAX FOR ACCESS ~NOCCTLl ,NOMULTI] ;MULTI ;GMULTI liCCTL J [;ACC = U IN OUT UPDATE OUTKEEP APPEND INOUT f;NOMR l.!MR ] r;WAIT ] LNOWAIT ~NOLOCKJ ;BUF [ = [numbufferslll [ ;NOBUF J ULOCK 'EXC ~ GNOCOPYJ l!COPY ;SHR ] ;EAR ;SEMI r;NOLABEL ] [;FORMS=formsmsg) L:LABEL [ = [volid) [ , [type) [ , [expdate)[, seg)ll] SYNTAX FOR DISPOSITION [;DEL] [;TEMP] [;SAVE] Figure 4-1. MPE FILE Command (Pertinent Excerpts) 4-4 (continued) Command Access Example #1 Assume that you are maintaining an ASCII file containing both uppercase and lowercase characters using the Text Editor on your BP 3000 but that you don't have an upper/lowercase line printer. Assume further that elsewhere in the same building there is another BP 3000 with an upper/lowercase line printer, that both BP 3000s have DS capability, and that they are connected to one another by an interconnecting cable and communications interfaces. You can access the remote line printer as follows. First, the console operators of both computer systems OPEN the line. Then, you log on to your HP 3000 and establish a communications link with the remote HP 3000. :HELLO USER.ACCOUNT :REMOTE HELLO RUSER.RACCOUNT;DSLINE=LINE2 where USER and ACCOUNT are valid user and account names (respectively) within the accounting structure of your local HP 3000, RUSER and RACCOUNT are valid user and account names (respective11) within the accounting structure of the remote HP 3000, and LINE2 is the device class name of the IODSO entry (or the node name of the IODSX entry) for the local communications interface to which the interconnecting cable is connected. Next, issue a local MPE FILE command that defines the desired line printer as a remote device. :FILE LIST;DEV=LINE21SLOWLP where LIST is the formaldesignator by which you will subsequently reference the line printer, LINE2 is the device class name you used when establishing the particular communications link, the , symbol te~ls the local file system that the next parameter references a device on the remote system, and SLOWLP is the device class name (as established within the remote HP 3000) of the upper/lowercase line printer. 4-5 Command Access Then, invoke the Text Editor of your local HP 3000, specitying the remote line printer as the off-line listing device: :EDITOR *LIST Thereafter, direct the Text Editor offline output to the remote upper/lowercase line printer as though it were connected direct~ to your local HP 3000. For example, you could print the content of the file TEXTFILE on the upper/lowercase line printer as follows: /TEY:r TEXTFILE /LIST ALL,OFFLINE The entire command sequence is as follows (refer to Figure 4-2): :HELLO USER.ACCOUNT HP3000 / MPE IV c.00.04. TOE, AUG 3, 1982, 12:51 PM WELCOME TO SYSTEM A. :REMOTE HELLO RUSER.RACCOUNT;DSLINE=LINE2 DS LINE NUMBER = IL3 HP3000 / MPE IV c.00.04. TOE, AUG 3, 1982, 12:52 PM WELCOME TO SYSTEM B. :FILE LIST;DEV=LINE21SLOWLP :EDITOR *LIST HP32201A.7.10 EDIT/3000 TOE, AUG 3, 1982, 12:53 PM (C) HEWLETT-PACKARD CO. 1981 /TEY:r TEXTFILE /LIST ALL,OFFLINE *** OFF LINE LISTING BEGUN. *** 4-6 Command Access SYSTEM A SYSTEM B Line 2 DISC -- --- EDITOR TEXTFILE Upper/Lower Case Line Printer (SLOWLP) Figure 4-2. Remote Off-Line Listing Example 4-7 Command Access Example #2 Assume that there is a file named SOURCE residing on a disc connected to a remote HP 3000 and that SOURCE contains a list of clients sorted alphabetically by the clients' names. Assume further that the remote HP 3000 and your local HP 3000 both have DSN/DS configured and that they are interconnected by a hardwired connection. You wish to access the remote file SOURCE from your local HP 3000, sort its content alphabetically by the names of the states in which the clients reside, and store the sorted version in a newly created disc file named SORTED on your local HP 3000. You can do that (without disturbing the original content of SOURCE) as follows. First, the console operators of both systems open the line to make it available. Then, log on to your local HP 3000 and establish a communications link with the remote HP 3000. :HELLO USER. ACCOUNT :REMOTE BELLO RUSER.RACCOUHT;DSLINE=LINE2 where USER and ACCOUNT are valid user and account names (respectively) within the accounting structure of your local HP 3000, RUSER and RACCOUNT are valid user and account names (respectively) within the accounting structure of the remote HP 3000, and LINE2 is the device class name of the local DSN/DS Communications Driver (IODSO or IODSX) that is associated with the line you want to use. Next, issue a local MPE BUILD command to create the local disc file SORTED that will receive the sorted output. :BUILD SORTED;DISC=250,1,1;REC=-80,16,F,ASCII Then, issue ~wo local MPE FILE commands: one that defines the remote disc file SOURCE as the sort input file and one that defines the local disc file SORTED as the sort output file. :FILE INPUT=SOURCE;DEV=LINE21DISC :FILE OUTPUT=SORTED 4-8 Command Access r Then, invoke the Sort program, specify the sort key, and initiate the actual sort. :RUN SORT. PUB. SYS >KEY 50,9 >END Note that the sort is performed in your local HP 3000, using the remote disc file SOURCE as the sort input file; the output of the sort is stored in the local disc file SORTED; and the original content of SOURCE is not altered. The entire command sequence is as follows (refer to figure 4-3): :HELLO USER.ACCOUNT HP3000 7 MPE IV c.00.04. TUE, AUG 3, 1982, 12:51 PM WELCOME TO SYSTEM A. :REMOTE HELLO RUSER.RACCOUNT;DSLINE=LINE2 DS LINE NUMBER = IL3 HP3000 / MPE IV c.00.04. TUE, AUG 3, 1982, 12:52 PM WELCOME TO SYSTEM B. :BUILD SORTED;DISC=250,1,1;REC=-80,16,F,ASCII :FILE INPUT=SOURCE;DEV=LINE2,DISC :FILE OUTPUT=SORTED :RUN SORT.PUB.SYS r· HP32214c.02.06 SORT/3000 TUE, AUG (C) HEWLETT-PACKARD co. 1980 3, 1982, 12:53 PM >KEY 50,9 >END STATISTICS NUMBER OF RECORDS = RECORD SIZE (IN BYTES) = NUMBER OF INTERMEDIATE PASSES = SPACE AVAILABLE (IN WORDS) = NUMBER OF COMPARES = 4-9 221 80 o 13,346 45 Command Access NUMBER OF SCRATCHFlLE IO'S CPU TIME (MINUTES) = ELAPSED TIME (MINUTES) = = 10 .01 .14 END OF PROGRAM SYSTEM A SYSTEM B Line 2 DISC -- -- , I -- --- ~ SORT SORTED I I I I I I I ~ Log-On Terminal Figure DISC SOURCE 4-3. SORT Remote File Access Example 4-10 ~ Command Access Example #3 Suppose that you want to copy a disc file from your local HP 3000 to a remote HP 3000. Assume a hardwired connection and DSN/DS is configured. You can perform the file copy operation as follows. First, both ends of the line must be opened by the console operators. Then, you log on to your local HP 3000 and establish a communications link with the remote HP 3000. :HELLO USER.ACCOUNT :REMOTE HELLO RUSER.RACCOUNT;DSLlNE=LlNE2 where USER and ACCOUNT are valid user and account names (respectively) within the accounting structure of your local HP 3000, RUSER and RACCOUNT are valid user and account names (respectively) within the accounting structure of the remote HP 3000, and LlNE2 is the node name or the device class name of the local IODSO that is associated with the line that you want to use. Next, issue a local MPE FILE command defining the destination file (REMFILE) as being a remote disc file. :FILE REMFILE;DEV=LlNE21DISC Then, invoke the File Copier and specify the file copy parameters. :RUN FCOPY.PUB.SYS >FROM=LOCFILE;TO=*REMFILE;NEW A new disc file named REMFILE is created in the home group of the RACCOUNT account in the remote HP 3000 and the content of the local disc file LOCFILE is then copied over the communications line into REMFILE. 4-11 Command Access The entire command sequence is as follows (refer to figure 4-4): :HELLO USER.ACCOUNT HP3000 / MPE IV c.oo.o4. WED, MAR 3, 1982, 12:51 PM WELCOME TO SYSTEM A. :REMOTE HELLO RUSER.RACCOUNT;DSLINE=LIHE2 DS LINE NUMBER = IL3 HP3000 / MPE IV c.00.04. WED, MAR 3, 1982, 12:52 PM WELCOME TO SYSTEM B. :FILE REMFILE;DEV=LINE2,DISC :RUN FCOPY.PUB.SYS HP32212A.3.14 FILE COPIER (C) HEWLETT-PACKARD CO. 1981 >FROM=LOCFILE;TO=*REMFILE;NEW EOF FOUND IN FROMFILE AFTER RECORD 2017 2018 RECORDS PROCESSED **. 0 ERRORS >EXIT END OF PROGRAM 4-12 Command Access SYSTEM A SYSTEM B Line 2 DISC -FCOPY LOCFILE DISC Log-On Terminal Figure REMFILE 4-4. FCOPY Remote File Access Example 4-13 Command Access Example #4 Assume that there is a COBOL source file named SOURCEl residing on a disc connected to a remote HP 3000 and that you want to compile, prepare, and execute that program on your local HP 3000. Assume further that the remote HP 3000 and your local HP 3000 both have DSN/DS configured and a hardwired interconnection. You can locally compile, prepare, and execute the remote source tile as follows. First, the console operators must open both ends of the DS line. Then, log on to your HP 3000 and establish a communications link with the remote HP 3000. :HELLO USER. ACCOUNT :REMOTE HELLO RUSER.RACCOUNT;DSLINE=LINE2 where USER and ACCOUNT are valid user and account names (respectively) within the accounting structure of your local BP 3000, RUSER and RACCOUNT are valid user and account names (respectively) within the accounting structure of the remote HP 3000, and LINE2 is the device class name of the local IODSO entry associated with the line that you want to use. Next, issue a local MPE FILE command defining the file SOURCEl as being a remote disc file. :FILE SOURCE1;DEV=LINE2'DISC where LINE2 is the node name or the device class name that you used when establishing the communications link and DISC is the device class name (as established within the remote BP 3000) of the disc on which SOURCE1 resides. Then, invoke the COBOL compiler and the Segmenter of your local BP 3000, specifying the remote disc file SOURCE1 as the inputfi1e. :COBOLGO ·SOURCE1 4-14 Command Access r The content of the remote disc file SOURCEl is compiled, prepared and executed in your local HP 3000. The entire command sequence is as follows (refer to figure 4-5): :HELLO USER.ACCOUNT HP3000 7 MPE IV c.00.04. WED, MAR 3, 1982, 12:51 PM :REMOTE HELLO RUSER.RACCOUNT;DSLINE=LIHE2 DS LINE NUMBER = IL3 WED, MAR 3, 1982, 12:52 PM HP3000 / MPE IV c.00.04. :FILE SOURCE1;DEV=LINE21DISC :COBOLGO *SOURCEl PAGE 0001 HP322130.01.00 (C) HEWLETT-PACKARD CO. 1916 (SOURCEl is now being compiled.) DATA AREA IS %000341 WORDS. CPU TIME = 0:00:01. WALL TIME == 0:00:01. END COBOL/3000 COMPILATION. NO ERRORS. NO WARNINGS. END OF COMPILE (The compiled version of SOURCEl is now being prepared by the MPE Segmenter.) END OF PREPARE (The compiled and prepared version of SOURCEl is now being executed.) END OF PROGRAM 4-15 Command Access NOTE Due to the amount of time and system resources required for COBOL activity, this example (and also Example 15) does not make efficient use of a DS line. The general rule is to do the COBOL compile, preparation, and run on the same system where the data resides. Sometimes this means copying the data files to another system before (or after) COBOL activity, rather than copying across the line during the COBOL activity. SYSTEM B SYSTEM A Line 2 ..---~ Log-On Terminal Figure DISC SOURCE 1 4-5. COBOLGO Remote File Access Example 4-16 Command Access Example #5 Assume that there is a COBOL source program named SOURCE1 residing on a disc connected to a remote HP 3000 and that you want to incorporate changes into the content of that file from a local file named CHANGES, compile the updated source code on your local HP 3000, and store a copy of the updated source code in a new file named SOURCE1A on the disc connected to the remote HP 3000 Assume further that the remote HP 3000 and your local HP 3000 both have DS capability and a hardwired interconnection. You can perform the update and compilation as follows: First, log on to your HP 3000 and establish a communications link with the remote HP 3000. :HELLO USER.ACCOUNT :REMOTE HELLO RUSER.RACCOUNT;DSLINE=LINE2 where USER and ACCOUNT are valid user and account names (respectively) within the accounting structure of your local HP 3000, RUSER and RACCOUNT are valid user and account names (respectively) within the accounting structure of the remote HP 3000, and LlNE2 is the device class name of the local 10050 entry associated with the line that you want to use. Next, issue two local MPE FILE commands: one that defines the source file SOURCE1 as being a remote disc file and one that defines the file SOURCE1A as a new remote disc file. :FILE SOURCE1;DEV=LlNE2,DISC :FILE SOURCE1A,NEW;SAVE;DEV=LlNE2,DISC where LlNE2 is the node name or the device class name you used when establishing the particular communications link, DISC is the device class name (as established within the remote HP 3000) of the disc on which SOURCEl resides and SOURCEIA will reside, and NEW;SAVE specifies that SOURCElA is to be a new permanent file. 4-11 Command Access Then, invoke the local COBOL compiler, specitying the local disc file CHANGES as the update input file (textfile), the remote disc file SOURCE1 as the source input file (masterfile), and the remote disc file SOURCElA as the updated source file (newfile). :COBOL CHANGES p ,,·SOURCE1,·SOURCE1A The source code in the remote disc tile SOURCE1 is updated by the content of the local disc tile CHANGES, a new permanent disc file named SOURCElA is created in the remote RP 3000, and the resultant source code is stored in the remote disc file SOURCElA. Note that the updating operation is performed by the COBOL compiler in your local HP 3000. The entire command sequence is as follows (refer to figure 4-6): :HELLO USER.ACCOUNT HP3000 / MPE IV c.oo.04. WED, MAR 3, 1982, 12:51 PM :REMOTE HELLO RUSER.RACCOUNT;DSLINE=LINE2 DS LINE NUMBER = 'L3 HP3000 / MPE IV c.oo.04. WED, MAR 3, 1982, 12:52 PM :FILE SOURCE1;DEV=LINE21DISC :FILE SOURCE1A pNEW;SAVE;DEV=LINE2IDISC :COBOL CHANGES p ,,'SOURCE1 p ·SOURCE1A PAGE 0001 HP322130. 01. 00 (C) HEWLETT-PACKARD CO. 1976 (SOURCE1 is now being updated and compiled.) DATA AREA IS ~000341 WORDS. CPU TIME = 0:00:01. WALL TIME = 0:00:17. END COBOL/3000 COMPILATION. NO ERRORS. NO WARNINGS. END OF COMPILE 4-18 Command Access SYSTEM A Line 2 r -_ _S_Y_S_T_E_M_B_ _--. DISC 4--CHANGES -- Log-On Terminal Figure l COBOL I '-----;---_-1 SOURCE 1A SOURCE 1 4-6. COBOL Remote File Access Example NOTE Many aspects of system resources (tor example, memory size, CPU load, type of CPU load, time quantums, etc.) affect how COBOL activities (and also remote data base access activities) are conducted in a DSN/DS environment. In general, it is more efficient to transfer data, USL, and SL files before or after (but not during) COBOL activity. 4-19 Programmatic Access PROGRAMMATIC ACCESS .. ~ -,-- Once a DSN/DS communications link has been established between your HP 3000 and a remote HP 3000. you can use the standard set of MPE File System intrinsics within your local programs to access devices and/or files residing at the remote HP 3000 site. To make this possible. the format of the byte array referenced by the device parameter of the MPE FOPEN intrinsic has been expanded to include a DS line specification in addition to the usual device specification. The format of the device byte array is as follows: dsdevice'[device] where dsdevice is the device class name. logical device number. or node name that you used when establishing the particular communications link (this specifies the physical line connecting the two computers) and device is the device class name or logical device number of the desired remote device as established within the remote HP 3000. The full syntax for the MPE FOPEN intrinsic is presented in figure 4-1. However, for conciseness. only the "device" parameter specifications are shown in figure 4-8. (For a complete presentation of all FOPEN intrinsic parameters, refer to the MPE Intrinsics Reference Manual.) The addition of "dsdevicel" to the format of the byte array referenced by the device parameter has enormously powerful implications. It means that programs executing in your local HP 3000 can easily access any of the devices and/or disc files of a remote HP 3000 as though they resided at your local HP 3000 site. Access to remote files is, of course, subject to the usual MPE file security. The user, account, and group names that you specified in the REMOTE HELLO command when establishing the communications link are the ones used by MPE in the remote HP 3000 for determining your file access capabilities. On the pages following figures 4-1 and 4-8, an annotated example illustrates remote device and file access from a local program running within a local session. The Condition Codes for the various MPE File System intrinsics retain their normal meanings. .Any communications line errors will return a CCL. In the event of an error, you can call the MPE FCHECK intrinsic to determine what happened. _When using the MPE File System intrinsics for remote file access, the Message Block B (File System) error codes apply to the remote file. You may also use the MPE PRINTFILEINFO intrinsic to display the status of a remote file. 4-20 FOPEN Intrinsic LV BA I IV LV filenum:=FOPEN(formaldesignator,foptions,aoptions,recsize, BA IV SA IV device,formmsg,userlabels,blockfactor, IV DV IV IV numbuffers,filesize,numextents,initalloc, IV O-V filecode); Figure 4-7. MPE FOPEN Intrinsic Syntax r 4-21 FOPEN Intrinsic device byte array (optional) Contains a string of ASCII characters terminating with any non-alphanumeric character except a slash or period, designating a local or remote device on which the file is to reside. For a local device the string may represent a device class name up to eight alphanumeric characters beginning with a letter or a logical device number consisting of a three-byte numeric string. For a remote device the string may represent a DS line identifier (the device class name, logical device number, or node name that you used when establishing the particular communications link) followed by a # followed by the device class name or logical device number of the desired remote device. The format of the array referenced by device is as follows: dsdeviceldevice where dsdevice is the device class name, logical device number, or node name that you used when establishing the particular communications link (this specifies the physical line connecting the two computers). The dsdevice class names and logical device numbers are defined and assigned to devices and communications interfaces during system configuration. Node names are defined in a Network Configuration data base, where each name is logically associated with a communications interface and a remote node address • ••• and where device is the device class name or logical device number of the desired remote device as established within the remote HP 3000. If the file is a newly-created disc file and the device specification is a device class, then all extents of the file are restricted to members of the class. Similarly, if the device specification is a logical device number, then all extents are restricted to the specified logical device. Default: Figure 4-8. Local DISC and remote DISC. Pertinent Parameter for MPE FOPEN Intrinsic 4-22 Programmatic Access r Example The following program illustrates how remote files can be accessed by using file system intrinsics. $CONTROL USLINIT,ADR,MAP,CODE BEGIN INTEGER A, 1:=-1, RDISCNUM, RLPNUM; BYTE BYTE BYTE BYTE BYTE ARRAY ARRAY ARRAY ARRAY ARRAY RMTLP'FILNAM(O:3):="RLP .. RLPDEV(O:ll); RMTDISC'FILNAM(O:5):="RDISC MSG(O:71); RDISCDEV(O:11); II LOGICAL ARRAY LMSG(*)=MSG; INTRINSIC PRINT,READ,FOPEN,FWRITEDIR,FREADDIR,FWRITE,FCLOSE; «BEGIN OUTER BLOCK» MOVE MSG:="INPUT REMOTE DISC DEVICE CLASS NAME PRINT(MSG,-35,O); MOVE MSG: ="IN THE FORM .. DSDEVICE'DISCDEV "; PRINT(MSG,-31,O); A:=READ(LMSG,-12); MOVE RDISCDEV: =MSG, (A); MOVE MSG:="INPUT REMOTE LP DEVICE CLASS NAME PRINT(MSG,-33,O); MOVE MSG: ="IN THE FORM .. DSDEVICEtlLPDEV "; PRINT(MSG,-29,O); A:=READ(LMSG,-12); MOVE RLPDEV: =MSG, (A); II II MOVE MSG:="0PENING REMOTE DISC FILE PRINT(MSG,-24,O); RDISCNUM:=FOPEN(RMTDISC'FILNAM,4,%104,-80,RDISCDEV); «NEW,ASCII» IF <> THEN BEGIN MOVE MSG: ="COULD NOT OPEN REMOTE DISC FILE "; PRINT(MSG,-31,O); GO TO OUT; END; II 4-23 Programmatic Access MOVE MSG: = WRITING TO REMOTE DISC FILE "; FILE» PRINT(MSG,-27,O); MOVE MSG:=" "; MOVE MSG(1):=MSG(0),(71); II «INITIALIZE DISC WHILE (1:=1+1) <10 DO BEGIN MOVE MSG: ="REMOTE FILE ACCESS TEST "; FWRlTEDIR(RDISCNUM,LMSG,36,DOUBLE(I»; IF <> ~ '-- «RECORD TO BE WRITTEN» THEN BEGIN MOVE MSG:="ERROR WHEN WRITING TO REMOTE DISC" PRINT (MSG,-33,O); GO TO OUT; END; END; MOVE MSG: = OPENING REMOTE LP FILE "; PRINT(MSG,-22,O); RLPNUM:=FOPEN(RMTLP'FILNAM,4,l"RLPDEV); IF <> THEN BEGIN MOVE MSG: = COULD NOT OPEN REMOTE LP FILE "; PRINT (MSG,-29,O); END; II ~ II 1:=-1; «READING REMOTE DISC» WHILE (1:= + 1) < 10 DO BEGIN FREADDIR(RDISCNUM,LMSG,36,DOUBLE(I»; IF <> THEN BEGIN MOVE MSG: ="COULD NOT READ REMOTE DISC FILE PRINT(MSG,-31,O); END; FWRlTE(RLPNUM,LMSG,36,O); IF <> THEN BEGIN MOVE MSG: = COULD NOT PRINT TO REMOTE LP FILE PRINT(MSG,-34,O); END; ) II II ) II END; OUT; END. 1 4-24 PROGRAM-YO-PROGRAM _ COMMUNICATIONS I v I In the preceding sections, you have seen how you can establish communications links between several HP 3000 computers to .form a telecommunications network and how you can execute programs in any of the HP 3000s from a single log-on terminal. Furthermore, you have seen that programs running within any HP 3000 in the network can, under the proper circumstances, obtain access to any of the hardware or software resources available throughout the network. At this point, you already have a powerful telecommunications network capability at your disposal. But if you stopped here, there would be some very important features missing features that make DSN/DS a complete teleprocessing tool. For most teleprocessing applications, it is essential that separate user programs be able to be run simultaneously in separate computers within the network and that they be able to communicate efficiently with one another. Two capabilities answer that need: DSN/DS Program-to-Program (PTOP) Communications (described in this section) and Interprocess Communications (IPC) (described in Section VII). You might ask, "Why canlt the normal process-handling capabilities of MPE be used for this purpose?" As you probably recall, the process-handling capabilities of MPE permit a user process (referred to as the "father" process), to create and activate one or more "son" processes that then run concurrently with the father process. Father and son processes can communicate efficiently with one another through the use of the SENDMAIL intrinsics, shared extra data segments, or a shared user file. Unfortunately, however, the process-handling capabilities of MPE were designed for use within a single processor. They cannot handle the intervention of a communications line between father and son processes. Suppose you were to log on to an HP 3000, gain access to a DS line, and initiate a remote session. Within the local session, you use a STREAM command to initiate the execution of a program named PROGA; and within the remote session, you use a STREAM command to initiate execution of a program named PROGB. You now have two programs executing simultaneously: PROGA in your local HP 3000 and PROGB in the remote HP 3000. 5-1 PTOP Communications At this point, the two programs are entirely independent of one another: neither knows the other exists. If you add a sharedaccess disc file to the situation, PROGA and PROGB can now read from and write to that file, and thereby communicate indirectly with one another. This arrangement works well as long as the data being deposited in the shared file does not have to be retrieved, processed, and responded to within a finite period of time. There are teleprocessing applications where this type of arrangement is not only adequate but makes a great deal of sense. For example, consider the case where a branch office is accumulating information that must be merged once a day into a data base residing at the main office. In this case, the two programs can make very effective use of the message file approach. As soon as an application tries to be truly interactive, however, this arrangement falters because the two programs cannot communicate directly. Each must know whether or not the other program is trying to transmit data. The 'more dependent each program is upon receiving data from the other, ,the more likely it is that PTOP should be used for the application. With the remote file access method of program-to"program communication, the two programs had no way of knowing if the other program was actually executing. With the POPEN intrinsic, the master program knows that the slave program is executing, because it created and activated the slave program's process. Likewise, the slave program knows that the master program is executing, because without an active corresponding master program, the slave itself would not be executing. The DSN/DS program-to-program communications facility provides nine intrinsics that make it possible for two or more user programs residing in separate HP 3000s to exchange data and control information directly (and efficiently) over DSN/DS communications links. The nature of any two programs that are communicating with one another in this manner is not symmetrical. One of them (referred to as the "master" program) is always in control and is the one that initiates all activity between the two programs. The other (referred to as a "slave" program) always responds to requests received from the master. Those intrinsics used within a master program are summarized in table 5-1, and those used within a slave program are summarized in table 5-2. 5-2 PTOP Communications Table 5-1. Master Program-to-Program Intrinsics Intrinsic Name Function POPEN Initiates and activates a slave process in a remote HP 3000 and initiates program-to-program communication with the slave program. PREAD Sends a read request to the remote slave program asking the slave to send a block of data back to the master. PWRITE Sends a block of data to the remote slave program. PCONTROL Transmits a tag field (containing userdefined control information) to the remote slave program and receives a tag field back from the slave. PCLOSE Terminates (kills) the remote slave program's process. PCHECK Returns an integer code specifying the completion status of the most recently executed master program-to-program intrinsic. ~ \,. 5-3 PTOP Communications Table 5-2. Slave Program-to-Program Intrinsics ~-:;) .. Intrinsic Name Function GET Receives the next request from the remote master program. ACCEPr Accepts (and completes) the request received by the preceding GET intrinsic call. REJECT Rejects the request received by the preceding GET intrinsic call. PCHECK Returns an integer code specifying the completion status of the most recently executed slave program-to-program intrinsic. Conceptually, the DSN/DS program-to-program intrinsics are very similar to the MPE process handling and file system intrinsics that are used for process-to-process communication within-a single-system environment. Table 5-3 compares the intrinsics used for process-to-process communication within a single-system environmen~ to those used for program-to-program communication within a distributed systems environment. -~ 5-4 PTOP Communications r Table 5-3. Single System / Distributed Systems Comparison Function Initiate another process. Communicate with the other process. Single System (Process Handling) CREATE ACTIVATE Distributed Systems (Program-to-Program) POPEN Mail Intrinsics: Master (father) Requests: SENDMAIL RECElVEMAIL PREAD PWRlTE PCONTROL PCHECK User Managed Extra Data Segment: Slave (son) Responses: GET GETDSEG DMOVEIN DMOVEOUT ACCEPT REJECT PCHECK Shared User File: FOPEN FREAD FWRITE FCONTROL FCLOSE FCHECK Terminate the other process. Father: Master (father): KILL (a son) PCLOSE (a slave) TERMINATE (self and all sons) TERMINATE (self and all slaves) 5-5 PTOP Communications When a DSN/DS communications link exists between two HP 3000s, a user program (the master program) can create and activate a son process (a slave program) in the remote HP 3000. The POPEN intrinsic performs this function, in place of the standard MPE CREATE and ACTIVATE intrinsics. After the master and slave programs are both executing, the master program can: • Send data (PWRITE) or control information (PCONTROL) directly to the slave program • Send a read request (PREAD) or control request (PCONTROL) to the slave program asking that the slave send data or control information back to the master • Check status (PCHECK) and terminate (PCLOSE) a slave program. Notice the striking similarity between this method of communication and the use of the MPE File System intrinsics FREAD and FWRITE. It is as though the master program is reading from or writing to a file -- a very intelligent file that is capable of making decisions, controlling input/output devices, and performing productive processing. 5-6 PTOP Communications PTOP INTRINSICS The following pages contain detailed descriptions of the PTOP intrinsics that were summarized in tables 5-1 and 5-2. For convenience in locating specific items of information in this reference section, these detailed descriptions are presented in a format consistant with that used in the MPE Intrinsics Reference Manual. Also, since this part of the section will be used for repeated reference, the intrinsics are arranged in alphabetical sequence, rather than in the order of normal usage as they were presented in the summary tables. To call a DSN/DS PTOP intrinsic from an SPL program, use the following procedure: 1. Refer to the intrinsic description to determine the parameter types and their positions in the parameter list. 2. Declare the variables or array names to be passed as parameters by type at the beginning of the program. 3. Include the name of the PTOP intrinsic in an INTRINSIC declaration statement. 4. Issue the intrinsic call at the appropriate place in your program. 5-7 ACCEPT Accepts (and completes) the request received by the preceding GET intrinsic call and returns an optional tag field back to the remote master program. (Slave callable) IA IA IV O-v ACCEPT(itag,target,tcount); PARAMETERS itag integer array (optional) A twenty-word array used for transmitting a tag field. The format of the tag field is defined by the user's master and slave programs. target integer array (optional) An array used for transmitting or receiving blocks of data. For PREAD requests, this array contains the block of data to be transmitted to the master program. For PWRITE requests, this array receives the block of data from the DSN/DS buffer. For POPEN and PCONTROL requests, this parameter has no meaning and should be omitted. tcount integer by value (optional) An integer specifying the number of words (if positive) or bytes (if negative) to be transmitted or received. 5-8 ACCEPT Intrinsic For PREAD requests, this parameter specifies how much data is to be transmitted from target to the master program. For PWRITE requests, this parameter specifies how much data is to be moved from the DSN/DS buffer to target. For POPEK and PCONTROL requests, this parameter has no meaning and should be omitted. CONDITION CODES CCE Request completed successfully. CCG (Not returned.) eCL An error occurred. Issue a PCHECK intrinsic call to determine what happened. OPERATION The ACCEPT intrinsic accepts the request received by the most recent GET intrinsic call, completes the requested operation, and transmits an optional tag field back to the remote master program. In the case of a POPEN request, the ACCEPT call transmits an optional tag field (itag) to the remote master program. In the case of a PREAD request, the ACCEPT call transmits the specified number of words or bytes (tcount) from target to the master program and transmits an optional tag field (itag) to the master program. In the case of a PWRlTE request, the ACCEPT call moves the specified number of words or bytes (tcount) from the DSN/DS buffer to target and transmits an optional tag field (itag) to the master program. In the case of a PCONTROL request, the ACCEPT call transmits an optional tag field (itag) to the remote master program. 5-9 GET Receives the next request from the remote master program. (Slave callable) I IA I I O-V ifun:=GET(itag,il,ionumber); FUNCTIONAL RETURN When the GET intrinsic executes, it returns to the slave program a number (ifun) specifying what type ot request was received from the remote master program, as follows: ifun o An error occurred. This value is returned only when the condition code CCL is also returned. Issue a PCBECK intrinsic call (with a dsnum parameter of zero) to determine what happened. 1 POPEN request received. 2 PREAD request received. 3 PWRITE request received. 4 PCONTROL request received. 5 This value is returned only when the condition code CCG is also returned. It indicates that a pending MPE File System I/O without wait request was completed (instead of the expected remote DSN/DS I/O request). ionumber contains the file number associated with the completed I/O request. 5-10 GET Intrinsic PARAMETERS itag integer array (optional) A twenty-word array used for receiving a tag field. The format of the tag field is defined by the master and slave programs. il integer (optional) A word that has meaning only when a PREAD or PWRITE request is received from the master program. For a PREAD request, il contains an integer specifying the number ot words or bytes requested by the master program. For a PWRITE request, i1 contains an integer spec ifying the number ot words or bytes transmitted from the master program to the DSN/DS buffer on the remote system. ionumber integer (optional) A word that has meaning only when the condition code CCG and an ifun of 5 are returned. In that case ionumber contains the MPE File System file number associated with the completed I/O without wait request. Default: No file number is returned. CONDITION CODES CCE Request received successfully. CCG The implicit IOWAIT(O) call issued by the GET intrinsic completed a pending MPE File System I/O without wait request instead of a DSN/DS remote I/O request. ionumber contains the tile number associated with the completed File System request. CCL An error occurred. Issue a PCHECK intrinsic call to determine what happened. 5..11 GET Intrinsic OPERATION The GET intrinsic receives the next request from the remote master program and accepts an optional tag field (available in itag). The GET intrinsic call implicitly issues an IOWAIT(O) intrinsic call. An ifun of 0 indicates that an IOWAIT error occurred. An ifun of 5 will occur only if you are executing MPE File System intrinsic calls without wait in your program and the implicit IOWAIT(O) call completes a pending File System I/O request instead of the expected DSN/DS remote I/O request (in this case you will have to issue another GET call after processtng the completed File System I/O request in order to receive the expected DSN/DS remote I/O request). NOTE You must not use IOWAIT(O) calls within a program containing DSN/DS GET calls. If you were to use an IOWAIT(O) call and it responded to a DSN/DS remote I/O request t your program would not be able to make any sense out of the information returned by the IOWAIT call. 5-12 PCHECK Returns an integer code specifying the completion status of the most recently executed DSN/DS program-to-program intrinsic. (Slave and Master callable) IV I icode:=PCHECK(dsnum); FUNCTIONAL RETURN When the PCHECK intrinsic is executed, it returns to the calling program a number (icode) that specifies the completion status of the most recently executed DSN/DS program-toprogram intrinsic. The various values of icode are shown in Appendix B under the heading "DSN/DS Functional Errors". PARAMETERS dsnum integer by value (required) MASTER PROGRAM: The link identifier returned by the particular POPER intrinsic that initiated communication with the remote slave program. SLAVE PROGRAM: o (zero); no link is returned to program. 5-13 identifier a slave PCHECK Intrinsic CONDITION CODES CCE PCHECK request successfully completed. CCG (Not returned.) CCL PCHECK request denied because dsnum was invalid. OPERATION The PCHECK intrins ic returns an integer value that specifies the completion status of the most recently executed DSH/DS programto-program intrinsic. 5-14 PCLOSE Terminates program-to-program communication with a remote slave program. (Master callable) IV PCLOSE(dsnum); ~ t PARAMETERS dsnum integer by value (required) The line number returned by the particular POPER intrinsic call which initiated communication with the remote slave program. CONDITION CODES CCE Successful completion. CCG (Not returned.) CCL Request denied; an error occurred. Issue a PCHECK intrinsic call to determine what happened. OPERATION The PCLOSE intrinsic terminates the remote slave process associated with dsnum. The particular communications line remains open. 5-15 PCONTROL (Master callable) Exchanges tag fields with the remote slave program. IV IA O-V PCONTROL(dsnum,itag); PARAMETERS dsnum integer by value (required) The link identifier returned by the particular POPEN intrinsic call which initiated communication with the remote slave program. itag integer array (optional) A twenty-word array used for transmitting and receiving a tag field. The format of the tag field is defined by the master and slave programs and may serve any purpose you desire. CONDITION CODES CCE Request accepted by remote slave program. CCQ Request denied by remote slave program. ceL Request denied; an error occurred. Issue a PCHECK intrinsic call to determine what happened. 5-16 PCONTROL Intrinsic OPERATION The PCONTROL intrinsic transmits a tag field to the remote slave program and accepts one in return. The remote slave program must issue a GET intrinsic call followed by either an ACCEPT or REJECT call to complete the PCONTROL operation. Both the ACCEPT and REJECT calls transmit a tag field back to the master program. Although this intrinsic was designed specifically for the exchanging of tag fields, you will notice that itag is an optional parameter (it is also optional for the ACCEPT and REJECT slave program-to-program calls). If the master program did not transmit a tag field, the returned tag field (if any) is not accessible. The PCONTROL activity is illustrated in figure 5-1. SLAVE MASTER Send control requClSt and optional tag field. PCONTROL--+-----------e GET ACCEPT or REJECT Figure 5-1. PCONTROL Activity 5-17 DSN/DS BUFFER POPEN Initiates program-to-program communication with a remote slave program. (Master callable) I BA SA IA SA IV dsnum:=POPEN(dsdevice,progname, itag,entryname ,param, LV IV IV IV IV o-V. flags,stacksize,dlsize,maxdata,bufsize); FUNCTIONAL RETURN When the POPEK intrinsic executes, it returns to the master program a number (dsnum) by which DSN!DS uniquely identifies the particular communications link. This number is analagous to the file number returned by the MPE FOPEN intrinsic in that it is used in all subsequent master program-to-program intrinsic calls to reference the remote slave program. PARAMETERS dsdevice byte array (required) Contains a string of ASCII characters terminated by a space. This string must be the device class name, logical device number, or node name used in the DSLlNE or REMOTE HELLO command that opened the communications line you will be using. progname byte array (required) Contains a string of ASCII characters terminated by a space. This string is the name (with optional group and account names) of an MPE program file (residing on a disc connected to the remote HP 3000) containing the remote slave program. 5-18 POPEN Intrinsic itag integer array (optional) A twenty-word array that is used for transmitting and receiving tag fields. The format of the tag field is defined as part of the user's application. Default: entryname A tag field of all zeros is sent; the returned tag field (if any) is not available to the master program. byte array (optional) Contains a string of ASCII characters terminated by a space. This string is the name of the entry point (label) at which execution of the remote slave program is to begin. Default: param Primary entry point. integer by value (optional) A word used to transfer control information to the new (remote) process. Any instruction in the outer block of code in the new process can access this information in location Q-4. Default: flags Word is filled with zeros. logical by value (optional) A word whose bits, if on, specify the loading options for the slave program: NOTE Bit SPL bit and groups are denoted using the standard notation. Thus bit (15:1) indicates 15, bits (10:3) indicates bits 10,11, 12. Bit(15:1) - (Always set on.) Bit(14:1) - LOADMAP bit. If on, a listing of the allocated (loaded) program is produced on the job/session list device. This map shows the Code Segment Table (CST) entries used by the new process. If off, no map is produced. Default: Off. 5-19 POPEN Intrinsic Bit(13:1) - DEBUG bit. Bit must be off (0) no breakpoint can be set. Default: Off. Bit(12:1) - If on, the slave program is loaded in non-privileged mode. If this bit is off, the program is loaded in the mode specified when the program file was prepared. Default: Off. Bits(10:2) - LIBSEARCH bits. These bits denote the order in which remote libraries are to be searched for the slave program: 00 - System Library. 01 - Account Public Library, followed by System Library. 10 - Group Library, followed by Account Public Library and System Library. Default: 00. Bit(9:1) - NOCB bit. If on, file system control blocks are established in an extra segment. If off, control blocks may be established in the Process Control Block Extension (PCBX) area. Default: Off. NOTE This bit should be set on if program uses a large stack. Bits(7:2) - Reserved for MPE. zero. Bits(5:2) - STACKDUMP bits. (00). the slave Should be set to Bits must be off Default: 00 Bit(4:1) - Reserved for MPE. zero. 5-20 Should be set to POPEN Intrinsic NOTE The following bits (0:4) are ignored, because the bit pair (5:2) must be 00. Bit(3:1) - DL to QI bit. If on, the portion of the stack from DL to QI is dumped. If off, this portion of the stack is not dumped. Default: Off. Bit(2:1) - QI to S bit. If on, the portion of the stack from QI to S is dumped. If off, this portion of the stack is not dumped. Default: Off. Bit(1:1) - Q-63 to S bit. If on, the portion of the stack from Q-63 to S is dumped. If off, this portion of the stack is not dumped. Default: Off stacksize integer by value (optional) An integer (Z - Q) denoting the number of words assigned to the local stack area bounded by the initial Q and Z registers. Default: The same as that specified in the program file. dlsize integer by value (optional) An integer (DB - DL) denoting the number of words in the user-managed stack area bounded by the DL and DB registers. Default: The same as that specified in the program file. maxdata integer by value (optional) The maximum size allowed for the process' stack (Z-DL) area in words. When specified, this value overrides the one established at programpreparation time. 5-21 POPEN Intrinsic Default: bufsize If not specified, and not specified in program file either, MPE assumes that the stack will remain the same size. integer by value (optional) The size in words of the communications buffer (DSN/DS buffer) that is to be established by the remote DSN/DS software. Note that this parameter defines the maximum number of words of data that can be transmitted by a PWRITE or PREAD intrinsic call. Default: Same size as the line burfer defined by the DSLINE command (LIHEBUF=) for the first DSLlNE issued to the dsdevice. Will never be smaller than 304 words. If no LINEBUF= is specified by the first DSLlNE command, then the default configuration length is used. CONDITION CODES CCE Request accepted by remote slave program. CCG Request rejected by remote slave program. CCL Request denied; an error occurred. Issue a PCHECK intrinsic call to determine what happened. OPERATION The POPEN intrinsic creates and activates a process in the remote HP 3000 for the specified remote slave program (progname) and optionally transmits a tag field (itag) to that remote slave program. The remote slave program must issue a GET intrins ic call followed by either an ACCEPl' or REJECT call to complete the POPEN operation. The remote slave program may transmit a tag field back to the master program as part of an ACCEPr or REJECT call. If the master program transmitted a tag field, then the returned tag field (if any) is available in itag. If the master program did not transmit a tag field, then the returned tag field .( if any) is not access ible. 5-22 POPEN Intrinsic r The bufs ize parameter specifies the length in words of an area to be established by the remote DSN/DS software as a communications buffer. This burfer is established implicitly as part of the GET call that receives the POPEN request. NOTE The master program is limited to one slave program on each line. Thus, only one POPER (to a given node) is permitted. After a POPEN intrinsic call, the remote slave program remains activated, and both the communications link and the DSN/DS buffer remain intact, even if the POPER request is rejected by the remote slave program. The meaning of a POPEN reject by the remote slave program must be established as part of the design of the user's application. The POPER activity is illustrated in figure 5-2. 1) Croate and actIvate a procell for the remote sIeve program. MASTER 2) Send opW)nal tag fIeld. SLAVE 3) Send ~SN/DS buffer size. POPEN ---+----------.. GET (eltobllsh the DSN/DS communications buffer) Sand optional U9 field. ACCEPT or REJECT Figure 5-2. POPEN Activity 5-23 DSN/DS BUFFER PREAD Asks the remote slave program to send a block of data. (Master callable) I IV IA IV IA o-V 19th:=PREAD(dsnumttargetttcounttitag); FUNCTIONAL RETURN The PREAD intrinsic returns a positive integer value showing the length of the information transferred. If the tcount parameter in the PREAD call was positive t the positive value returned represents a word count; if the tcount parameter was negative, the positive 'value returned represents a byte count. PARAMETERS dsnum integer by value (required) The link identifier returned by the particular POPEK intrinsic call which initiated communication with the remote slave program. target integer array (required) The array into which data received from the remote slave program will be deposited. tcount integer by value (required) The requested number of words (if positive) or bytes (if negative) of data. 5-24 PREAD Intrinsic itag integer array (optional) A twenty-word array used for transmitting and receiving a tag field. The format of the tag field is defined by the master and slave programs and may serve any purpose the user desires. CONDITION CODES CCE Request accepted by remote slave program. CCG Request denied by remote slave program. CCL Request denied; an error occurred. Issue a PCHECK intrinsic call to determine what happened. OPERATION The PREAD intrinsic transmits a read request to the remote slave program and optionally transmits a tag field from itag to the remote slave program. The remote slave program must issue a GET . intrinsic call followed by either an ACCEPT or REJECT call to complete the PREAD operation. The GET call moves the tag field from the master program into the itag field provided in the remote slave program. The ACCEPT call moves the requested block of data from the remote program's data buffer into the target in the master program, and it also sends the optional itag back to the master program. The REJECT call transmits no data; it only returns the optional tag field. If the master program did not transmit a tag field, the returned field (if any) is not accessible. The PREAD activity is illustrated in figure 5-3. 5-25 PREAD Intrinsic MASTER PREAD SLAVE ~-----tf-------~"" GET TARGET USER'S BUFFER 1-- - - - _ -- ACCEPT (Send data from user'l buffer to remote master program) --_ --------- -- or REJECT (no data transmitted) Figure 5-3. PREAD Act i vi ty 5-26 USER'S BUFFER PWRITE Sends a block of data to the remote slave program. IV (Master callable) IA IV IA O-V PWRITE(dsnum,target,tcount,itag); PARAMETERS dsnum integer by value (required) The link identifier returned by the particular POPEK intrinsic call which initiated communication with the remote slave program. target integer array (required) The array from which data will be transmitted to a remote slave program. tcount integer by value (required) The requested number of words (if positive) or bytes (if negative) of data. itag integer array (optional) A twenty-word array used for transmitting and receiving a tag field. The format of the tag field is defined by the master and slave programs and may serve any purpose the user desires. CONDITION CODES CCE Request accepted by remote slave program. CCG Request denied by remote slave program. CCL Request denied; an error occurred. Issue a PCHECK intrinsic call to determine what happened. 5-27 PWRITE Intrinsic OPERATION = The PWRlTE tntrinsic transmits a block of data (number of words tcount) from target to the DSN/DS buffer in the remote HP 3000, ~ransmits a write request to the remote slave program, and optionally transmits a tag field from itag to the remote slave program. The remote slave program must issue a GET intrinsic call followed by either an ACCEPl' or REJEcT call to complete the PWRlTE operation. The GET call moves the tag field from the master program tnto the itag field provided in the remote slave program, and it also moves the data across the line into the DSN/DS data buffer. The ACCEPl' call moves the data from the remote DSN/DS buffer into the remote slave program's buffer, and it also sends the optional itag back to the master program. The REJECT call refuses the write request (the data tn the DSN/DS buffer is no longer accessible to the slave program) and returns the optional tag field to the master program. The PWRlTE activity is illustrated tn figure 5-4. , (data) ,--------------------------------~ \ I I I • PWRITE I DSN/DS BUFFER GET SLAVE USER'S BUFFER ACCEPT TARGET (data moved from DSN/DS' ( MASTER buffer to user's buffer) \ USER'S BUFFER or REJECT (data lost to user's program) Figure 5-4. PWRlTE Activity 5-28 REJECT r Rejects the request received by the preceding GET intrinsic call and returns an optional tag field back to the remote master program. (Slave callable) IA o-v REJECT ( i tag) ; PARAMETERS itag integer array (optional) A twenty-word array used for transmitting a tag field. The format of the tag field is defined by the user's master and slave programs. CONDITION CODES CCE Response transmitted successfully to the remote master program. CCQ (Not returned.) CCL An error occurred. Issue a PCHECK intrinsic call to determine what happened. OPERATION The REJECT intrinsic rejects the request received by the most recent GET intrinsic call and transmits an optional tag field (itag) back to the remote master program. 5-29 PTOP Communications INTERFACING WITH COBOL AND BASIC Access to the program-to-program communications capability is available to ANS COBOL (COBOL/I) and BASIC users only through interface routines. DSN/DS COBOL Interface is covered in Appendix F, and DSN/DS BASIC Interface is covered in Appendix G. It is not necessary to use the DSN/DS COBOL Interface with COBOL 11/3000, however. PTOP EXAMPLE This example shows how two programs can communicate with one another by using the master and slave program-to~program intrinsics. The comments included within each program tell what is happening. Master Program 1 2 3 4 5 6 1 8 9 10 11 12 13 $CONTROL USLINIT,ADR,MAP,CODE BEGII COMMENT NAME OF PROGRAM IS MASTERP(S). THE SQURCE IS MASTERS. THIS PROGRAM IS TO BE RUN ON THE MASTER CPU. IT WILL START THE SLAVE PROGRAM 01 THE SLAVE CPU. THE PROGRAM WILL THEN RECEIVE A KNOWN TEST PATTERN FROM THE USER TERMINAL, WRITE IT TO THE REMOTE DISK FILE, READ IT BACK, AND PRINT IT ON THE LOCAL LP. THE TRANSFER OF DATA IS DONE THRU ProPC.; II II 14 15 16 11 18 19 20 21 22 23 24 25 26 21 28 29 INTEGER ERROR, LIRE'1fUM, I, J, LPDEV'NtJM; BYTE ARRAY BYTE ARRAY BYTE ARRAY BYTE ARRAY BYTE ARRAY "., DS'DEVICE(0:6):=" 'LPDEV(0:2):="LP "; LPFILE(0:6): ="LPFILE "; MSG(O:19); PROG' NAME (0: 19) : ="SLAVEP . PUB. SUPPORT "; LOGICAL ARRAY IOBUF(0:39); 5-30 PTOP Communications 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 LOGICAL ARRAY ITAG(0:19):=20(%020040); LOGICAL ARRAY MSGW(*)=MSG; LOGICAL ARRAY DS'DEVW(*)=DS'DEVICE; INTRINSIC DEBUGtFCLOSEtFOPEN,FWRITEtPCONTROL; INTRINSIC PCLOSE,POPENtPREADtPRINTtPWRITE,READ; MOVE MSG: =" INPUT NAME OF DSDEVICE"; PRINT(MSGW t -28 t O); READ(DS 'DEW, -7); MOVE MSG:=" POPEN ISSUED"; PRINT(MSGW t -18 t O); LINE'NUM:=POPEN(DS'DEVICE,PROG'NAME,ITAG); IF <> THEN BEGIN PRINT(ITAG,20,0); ERROR := 1; GO TO ERR'PROC; END ELSE PRINT(ITAG,20,0); MOVE MSG:=" POPEN COMPLETED SUCCESSFULLY"; PRINT(MSGW t -33,0); 60 61 62 LPDEV'RUM:=FOPEN(LPFILE,4,1,40,LPDEV); IF < > THEN BEGIN ERROR: =2; GO TO ERR' PROC; END; 63 64 65 66 MOVE MSG: ="IN PUT TEST RECORD MAX. 80 CHAR"; PRINT(MSGW,-30,0); 67 68 69 70 71 72 73 74 75 16 77 78 79 80 81 82 83 84 MOVE IOBUF:=" "; MOVE IOBUF(1):=IOBUF,(39); «CLEAR OUT BUFFER AREA» READ (IOBUF , -8o) ; «GET RECORD TO WRITE» PWRlTE(LlNE'NUM,IOBUF,40); «SEND RECORD TO REMOTE» IF < > THEN BEGIN ERROR: =3; GO TO ERR PROC; END; I MOVE MSG: =" DISK FILES BEING XFERRED FROM REMOTE"; PRINT(MSGW,-41,0); J:=-l; «START READING FROM REMOTE» WHILE (J:=J+l)<5 DO BEGIN MOVE MSG: =" PREAD ISSUED"; PRINT(MSGW,-19,0); MOVE IOBUF:=" "; MOVE IOBUF(1):=IOBUF,(39); 5-31 PTOP Communications 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107· 108 109 110 111 112 113 I:=PREAD(LlNE ' NUM.IOBUF,40,ITAG); IF THEN BEGIN IF J=4 THEN BEGIN II MOVE MBG: =11 ALL DISK RECORDS XFERRED ; PRINT(MSGW.-29.0); = END; END ELSE BEGIN ERROR: =4; GO TO ERR PROC; END; FWRlTE(LPDEV'HUM,IOBUF,I,O); IF < > THEN BEGIN ERROR: =4; GO TO ERR' PROC;END; I END; FCLOSE(LPDEV'RUM,O,O); PCLOSE(LlNE'NUM); IF < > THEN BEGIN ERROR: =5; GO TO ERR PROC; END; MOVE MBG:= t1 END OF MASTER PROGRAM"; PRINT(MSGW,-21.0); GO TO END'IT; I ERR'PROC: «HANDLE ERROR CONDITIONS» DEBUG; FCLOSE(LPDEV'NUM.O.O); PCLOSE(LlNE'NUM); t1 MOVE MSG: = ERROR. END MASTER PROGRAM II ; PRINT(MBGW.-25,0); EHD'IT: END. Slave Program 1 $CONTROL USLINIT,ADR,MAP,CODE 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 BEGIN COMMENT THE. NAME OF THIS PROGRAM IS SLAVEP(S). THE NAME OF THE SOURCE IS SLAVES. THIS PROGRAM IS TO BE COMPILED AND PREP' ED ON THE SLAVE HP3000 SYSTEM. IT WILL BE INITIATED FOR RUN BY THE MASTER. THE FUNCTION OF THIS PROGRAM IS TO LOAD A DISK FILE WITH KNOWN TEST PA'rl'ERNS THAT WILL BE TRANSFERRED TO THE MASTER AND PRINTED ON THE MASTER'S LINE PRINTER; INTEGER ERROR. DISK'FILENUM. I. IL, IOHUMBER. ~, 5-32 PTOP Communications 21 22 23 24 25 26 21 28 29 30 31 32 33 34 35 36 31 38 39 40 41 42 43 44 45 46 41 48 49 50 51 52 53 54 ~. \(~. 55 56 51 58 59 60 61 62 63 64 65 66 61 68 69 10 11 12 73 14 75 J; BYTE ARRAY MSG (0: 19) ; BYTE ARRAY TEST (0: 4) : ="TES'l' "; LOGICAL ARRAY DISK'BUF(0:39); LOGICAL ARRAY ITAG(0:19):=1(020040); LOGICAL ARRAY MSGW( *) =MSG; INTRINSIC FOPEN,DEBUG,FWRlTEDIR,FREADDIR,FCLOSE; INTRINSIC GET,ACCEPT,PRINT,READ,REJECT; IL:=40; MOVE MSG: ="ISSUING A GET (REMOTE) PRINT(MSGW,-22,O); I:=GET(ITAG); «GET FOR POPEK» IF < THEN BEGIN MOVE ITAG:="ERROR ON GET;POPEK"; GO TO ERR' OPEN; II ; END; IF 1=1 THEN BEGIN MOVE MSG: ="POPEN RCVD .•• ISSUING AN ACCEPT (REMOTE) "; PRINT(MSGW,-39,O); END; MOVE ITAG: ="POPEN ACCEPT SUCCESSFUL (REMOTE) E,RRIOPEN; ACCEPT (ITAG) ; <> II ; DISK'FILENUM:=FOPEN(TEST,4,~104,-80""l,lt10D); IF <> THEN BEGIN ERROR: =1; GO TO ERR' PROC ; END; I: =GET; < > IF <> THEN BEGIN ERROR: =2; GO TO ERR' PROC; END; IF 1=3 THEN «PWRlTE RECEIVED» BEGIN ACCEPT ( ,DISK'BUF); IF <> THEN BEGIN ERROR:=3; GO TO ERR'PROC; END; END; 1:=-1; «START WRITING TEST FILE» WHILE(I:=I+1) < 5 DO BEGIN «WRITE REC TO DISK» FWRlTEDIR(DISK'FILENUM,DISK'BUF,40,DOUBLE(I»; IF <> THEN BEGIN ERROR: =4; GO TO ERR' PROC; END; «END WRITING TEST FILE» END; «SEND DISK FILE TO MASTER» J:=-l; WHILE(J:=J+1)<5 DO 5-33 PTOP Communications 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 BEGIN MOVE MSG: =11 ISSUING A GET (REMOTE)"; PRINT(MSGW,-22,0); I:=GET(ITAG,IL,IONUMBER); IF < THEN BEGIN ERROR: =5; GO TO ERR' PROC; END; IF 1=2 THEN BEGIN MOVE MSG: ="PREAD RCVD ... ISSUING AN ACCEPI' (REMOTE)"; PRINT(MSGW,-39,0); END ELSE BEGIN ERROR: =6; GO TO ERR' PROC; END ; MOVE DISK'BUF:=%020040; MOVE DISK'BUF(1):=DISK'BUF(0),(39); FREADDIR(DISK'BUF,40,DOUBLE(J»; IF <> THEN BEGIN ERROR: =7; GO TO ERR' PROC ; END; ACCEPI'(ITAG,DISK'BUF,40); IF <> THEN BEGIN ERROR: =8 ;GO TO ERR' PROC; END; END; FCLOSE(DISK'FILENUM,O,O); GO TO END'IT; ERR'PROC: «HANDLE ERROR CONDITIONS» DEBUG; < > REJECT; I:=GET; «ALLOW PCLOSE» GO TO ERR'PROC; END'IT: END; 5-34 NETWORK FILE TRANSFER I~ The Network File Transfer (NFT) program runs on an HP 3000 Computer System to provide the ability to efficiently copy disc files. When initiated over a DSN/DS communication link, the NFT program can copy a file to or from any other adjacent HP 3000 computer which also provides this service. FEATURES OF NFT • You can initiate copy operations from sessions, jobs, or programs. • DSCOPY can be used to copy users' files and MPE system files, as well as data management files, such as KSAM/3000 files. • There is only one NFT command to learn • There are two intrinsics: DSCOPY and DSCOPYMSG. The intrinsics are callable from programs written in SPL, COBOL, FORTRAN, and BASIC. • NFT can be used in Interactive Mode to submit a series of :DSCOPY. copy requests. When a DSCOPY command or intrinsic initiates Interactive Mode, users' requests are placed in a transaction file whose formal designator is DSCOPYI. The default for this file is $STDINX. NFT can record a history of all copy operations performed by DSCOPY requests. The history report can be printed to $STDLIST, as well as to a secondary file. • You can initiate a copy operation from a system other than the system(s) where the source and target files are located. • NFT can efficiently copy disc files within your local HP 3000. • The files referenced by a OSCOPY command (or intrinsic) may reside on system or private volumes. 6-1 Network File Transfer File transfers can involve one or more computers. In all transfers, there are three distinct roles a system can play: 1. The initiator is always the system where the :DSCOPY command originates. The initiator functions only in an outgoing sense. It is similar to PTOP operation, where the PTOP master program always issues a POPEN out across a DS line to cause a slave to be created and activated on a remote system. 2. The producer is the source computer where the file that is to be copied resides. 3. The consumer is the target computer where the new file will reside. You should remember that one system may be performing two or all three of these roles. When a DSCOPY request names a remote source, the DS line to that computer must be open and a remote session must exist. The same is also true when a remote target is specified. When DSCOPY is used to transfer files over two or more systems, the following restrictions apply: 1. DSCOPY must be initiated only from the master side of the DS line. The slave (remote) side cannot be the initiator of a DSCOPY command. 2. DSCOPY must not be initiated programmatically from either a master or a slave PTOP program in any direction. 6-2 :DSCOPY SYNTAX To submit a series of transfer requests, omit all of the source and target parameters to initiate Interactive Mode. NFT prompts you for input and, after the transfer completes, prompts you again. Terminate Interactive Mode by typing II or Control-Yo PARAMETERS sfile (Required Parameter) Identifies the file to be copied. The name can be written in the following format: sfile[/lockword] [.groupname] [.accountname] If the source file is in a group. account different from the requestor's log-on group.account, the requestor must have read and lock access to the source file. sdsdev (Optional Parameter) The device classname, logical device number, or node name that was used to open the communications link to the remote computer where the source file resides. Default: sdev (Optional Parameter) The classname or logical device number of the disc where the source file resides. Default: tfile The local system (that is, the system where the transfer request is submitted). DISC. (Optional Parameter) Specifies the file to receive the data. The name can be written in the following format: tfile[/lockword] [.groupname] [.accountname] Default: The new file has the same filename as the source file. The default groupname and accountname are the log-on groupname and accountname. Security is on for the new file, even though the source file may have been released. 6-3 :DSCOPY tdsdev (Optional Parameter) The device clasname or logical device number that was used to open the communications link to the remote computer where the target file will reside. Default: DSCOPY copies the sourcefile to the local computer and assigns the same filename as the sourcefile name. If the source computer is the local system, this default causes a tile system error (because the file already exists) . * Means the target dsdevice (the target computer) is the same as the source dsdevice (the source computer). tdev (Optional Parameter) The device classname or logical device number of the disc where the new file should reside. Default: DISC USE Available in Session? YES in Job? YES in Break? NO Programmatically? NO· YES Breakable? • Call the DSCOPY intrinsic rather than use the COMMAND intrinsic. 6-4 :DSCOPY r OPERATION NEVER BREAK AND ABORT DSCOPY DURING A COPY OPERATION. Control-Y can be used to show how much of a file has been transferred and to cancel a currently executing copy request. If you enter Control-Y during a copy operation, DSCOPY prints the percentage of the transfer that is complete and prompts whether to cancel or continue the operation. Source and Target Files In a DSCOPY command, source and target files are referenced as defined by the systems upon which they reside. There is no default for a sourcefile. A default for a targetfile is derived from the sourcefile. The default consists of the first sequence of characters in the sourcefile name which constitutes a legal HP 3000 file name. For example: :DSCOPY SFILE.SGROUP,SNODE Here the source file is SFILE (in group SGROUP on a remote system). The targetfile is generated in the users' log-on group (on the local system) and is assigned the default name SFILE. The characteristics of the new file are the same as those of the source file. If a source file has a negative file code, the user requesting the transfer must have Account Manager (AM), System Manager (SM), or Privilege Mode (PM) capability to be allowed to copy the file. The log-on user on the target node must also have AM, SM, or PM capability. Remember that the person requesting the transfer (the initiator) is not necessarily the consumer (the log-on user at the target). After a successful copy operation, the new file has the same negative file code as the source file. When copying KSAM files, both the data file and its key file are copied. The DSCOPY user can specifically name a data file/key file pair by enclosing the file names in quotes and separating them by a comma. For example: :DSCOPY SFILE TO "DATAFILE,KEYFILE II When a user specifies a source KSAM data file and the NFT subsystem must generate a default key file, it uses the data file name and appends a K. For example: r :DSCOPY SFILE, LINEl TO TFILE, LINE2 6-5 :DSCOPY In the case where SFILE is a KSAM data file. the new data file on the computer connected to LINE2 will be named TFILE and the associated key file will be named TFILEK by default. Interactive Mode To execute a series of transactions. enter the :DSCOPY command without parameters. Now the system prompts you for input with the word DSCOPY and accepts your response from the file DSCOPYI (whose default is $STDINX). The syntax required tor your response follows the format already described for source and target parameters. Note the following about Interactive Mode: • To continue your response on the next line. enter an ampersand (&) as the last non-blank character on the current line and press RETURN. A continuation prompt is printed so that you can continue your response. • To cancel a response while entering a line. use Control-Yo You,can issue MPE comands while in Interactive Mode by e~tering a colon (:) before the command. The MPE commands allowed in Interactive Mode are those allowed by the COMMAND intrinsic. • To terminate Intractive Mode. enter II or Control-Y in response to a DSCOPY prompt. Event Recording DSCOPY produces printed output to document user input and copy results. This output may be sent to a primary file andlor a secondary file. either of which may be disabled. The primary file is $STDLIST and the secondary file has the formal designator DSCOPYL. All user requests and DSCOPY prompts are printed on $STDLIST and echoed on the secondary file (and on the primary. if not duplicative). Primary output is enabled by a DSCOPY command. or by the DSCOPY intrinsic with the OPT parameter set to 4. 5. or 6 (refer to the parameters of the DSCOPY intrinsic). Output for the secondary file. DSCOPYL. defaults to $NULL so that secondary output is disabled by default. It can be enabled by using a :FILE command to equate DSCOPYL to a file or a line printer. or to $STDLIST. 6-6 :DSCOPY EXAMPLES Local Copy To make a local copy of SFILE and name the new file TFILE, use either of the following: : DSCOPY SFILE TO TFILE or :DSCOPY SFILE; TFILE The following example copies a file named SFILE from another group on the local system into a file in the log-on group. The new file is also named SFILE. :DSCOPY SFILE.SGROUP Remote-to-Local Copy To copy a file from the computer connected to DS line SYSA into your log-on group (on the local system), enter: :DSCOPY SFILE,SYSA;TFILE Local-to-Remote Copy To copy a file named SFILE (on the local system) to the computer attached to DS line SYSB and name the new file SFILE, enter: :DSCOPY SFILE TO ,SYSB Remote Copy An asterisk (*) means the target system is also the source system. The. following example copies a file named SFILE to a new file named TFILE. Both files reside on the remote computer connected to the dsline named SYSA. :DSCOPY SFILE,SYSA TO TrILE,* Remote-ta-Remote Copy The next example illustrates a command that copies a file from one remote system to another. In this case, the communications lines to both remote computers must be open and a remote session must exist on each system. :DSCOPY SFILE,SYSA TO TFILE,SYSB 6-1 Network File Transfer NFT INTRINSICS Programs can use the DSCOPY intrinsic to copy disc files. Programs can also print a message which corresponds to the result code returned by a DSCOPY intrinsic call. The DSCOPYMSG intrinsic is used for this purpose. The rules for using the intrinsics are consistent with those for using other MPE intrinsics. Specifically, the following rules apply. • Both intrinsics can be called from programs written in the SPL/3000, COBOL, FORTRAN, and BASIC languages. • Calling sequences for all of the languages are basically the same. • All parameters are passed by reference. • The intrinsics are not option variable. • Neither of the intrinsics are typed (returns a parameter as its value). • Neither returns a condition code (they both return a result). • Split stack calls are not allowed. • For COBOL, data types should be defined as follows: Data Type Data Description Numeric PICTURE S9(4) COMPUTATIONAL Alphanumeric PICTURE X(n) or picture A(n) Numeric Array PICTURE S9(4) COMPUTATIONAL SYNCHRONIZED OCCURS n TIMES 6-8 "- DSCOPY Intrinsic THE DSCOPY INTRINSIC SPL Procedure Declaration PROCEDURE DSCOPY (OPT, SPEC, RESULT); VALUE SPEC, RESULT; LOGICAL OPr; LOGICAL POINTER SPEC, RESULT; OPT OPT controls the primary output (i.e. output to $STDLIST) and specifies the type of copy operation. Bits 0 through 12 are reserved for future use and should be set to zero. The remaining bits can be set to indicate the following: SPEC Value Meaning o Single transaction; primary output disabled. 1 Multiple transactions; return after first unsuccessful transaction; primary output disabled. 2 Multiple transactions; return after all transactions have been attempted or after an internal error occurs; primary output disabled. 4 Single transaction; primary output enabled. 5 Multiple transactions; return after first unsuccessful transaction; primary output enabled. 6 Multiple transactions; return after all transactions have been attempted or after an internal error occurs; primary output enabled. The logical array should contain ASCII text terminated by an a-bit binary zero. In the single transaction case, the syntax required is the same as for the DSCOPT command parameters. In the multiple transaction case, the array should contain only a zero. Zero causes NFT to read the copy request from the DSCOFYI file (whose default is $STDIN) • 6-9 DSCOPY Intrinsic RESULT A two-word array returned to the caller which indicates the outcome of the intrinsic call. RESULT(O) Result=O indicates the copy operation was successful. Any other value represents an error as defined in "DSCOPY Error Messages" listed in Appendix B. RESULT(l) Shows the number of files that were successfully copied. COBOL Calling Sequence CALL "DSCOPY" USING OPr, SPEC, RESULT. OPr Numeric data item. SPEC Alphanumeric data item. RESULT Numeric array of two or more data items. FORTRAN Calling Sequence CALL DSCOPY (OPr, SPEC, RESULT) OPr INTEGER*2 variable SPEC CHARACTER array RESULT An array of two or more INTEGER*2 variables BASIC Calling Sequence CALL BDSCOPY (0, S$, R) o Numeric variable S$ A string variable R An array of two or more numeric variables 6-10 DSCOPY Intrinsic r Programmatic DSCOPY Operation Simultaneous DSCOPY requests cannot be issued from two processes in the same session. The only valid values tor the OPr parameter are: or 6. 0, 1, 2, 4, 5, The ASCII text passed by the SPEC parameter must be terminated by a binary zero. The values passed in the parameters are verified as being in bounds and valid. The system creates the NFT process and passes the contents of OPT and SPEC to it. The specified files are copied by the NFT process. The intrinsic returns the result to the user. After processing, OPT and SPEC remain unchanged except that any ASCII lower case characters in SPEC may have been shifted to upper case. After processing, the first word of the RESULT contains a number which indicates the outcome of the DSCOPY request. A zero value indicates a successful transfer operation; the meaning of any other valu~ is given under "DSCOPY Error Messages" in Appendix B. The second word contains the number of files successfully copied. 6-11 DSCOPYMSG Intrinsic THE 'DSCOPYMSG INTRINSIC SPL Procedure Declaration PROCEDURE DSCOPYMSG (RESULT, FNUM, R); VALUE FNUM; LOGICAL ARRAY RESULT; INTEGER FNUM, R; RESULT The two-word result returned by the DSCOPY intrinsic. o = DSCOPY was successful. n = An error occurred. Refer to the Error Messages in Appendix B for the meaning. FHUM When FNUM=O, the message associated with RESULT is printed on $STDLIST. When FNUM contains a file number returned by an FOPEN call, the message associated with RESULT is written to the file. R Result returned by this DSCOPYMSG call. o = Successful call n = Unsuccessful call. Refer to the Error Messages in Appendix B. COBOL Calling Sequence It CALL "DSCOPYMSG USING RESULT, FNUM, R. RESULT An array of two or more data items. FNOM A numeric data item. R A numeric data item. 6-12 DSCOPYMSG Intrinsic FORTRAN Calling Sequence CALL DSCOPYMSG (RESULT, FNUM, R) RESULT An array of two or more IHTEGER*2 variables. FNUM INTEGER*2 variable R INTEGER*2 variable BASIC Calling Sequence Call BDSCOPYMSG (R, F, RO) R An array of two or more numeric variables F An integer variable RO An integer variable EXAMPLES ~. A very simple example of a programmatic DSCOPY request is shown coded in the COBOL, FORTRAN, and BASIC languages. The example copies a file (NFTTESTS) to a new file (TEMP1). The source file resides on the local machine, and the new file will be created on a remote machine connected to line "HDS II • 6-13 Network File Transrer DSCOPY COBOL Example 1 1.1 1.2 1. 3 1.4 1.5 1.6 1.7 1.8 1.9 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3 3.1 3.2 3.3 3.4 $CONTROL CODE $TITLE II DSCOPY INTRINSIC TEST" IDENTIFIC~ION DIVISION. PROGRAM- ID. DSCOPYOO. AUTHOR. JIM BRANDT. DATE-WRITTEN. APRIL 1980. DATE-COMPILED. REMARKS. THIS PROGRAM DOES A SIMPLE INTRINSIC CALL TO DSCOPY. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. HP3000 OBJECT-COMPUTER. HP3000 DATA DIVISION. WORKING-STORAGE SECTION. 01 OPT PIC S9(4) COMP VALUE o. 01 STRING1. 02 ASCIIPART PIC X(24) VALUE "NFTESTS TO TEMP1.HDS". 02 TERMINATOR PIC S9(4) COMP VALUE o. 01 RESULTl. 02 RESULT2 PIC S9(4) COMP OCCURS 2 TIMES. PROCEDURE DIVISION. BEGINLABEL. CALL IIDSCOPY" USING OPT. STRING1. RESULTl. STOP RUN. DSCOPY FORTRAN Example 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 $CONTROL MAP.LIST.CODE,CROSSREF,LOC~ION.STAT PROGRAM DSCOPY CHARACTER*40 STRING1 INTEGER*2 FNUM INTEGER*2 OPT INTEGER ARRAY IRESULT (4) C DATA STRING1/ NFTTEST TO TEMPi, HDS II / 11 C C C THIS PROGRAM DOES A SIMPLE DSCOPY INTRINSIC REQUEST OPT =0 FNUM=O CALL DSCOPY (OPT, STRING1, lRESULT) IF (IRESULT •GT. 0) CALL DSCOPYMSG (IRESULT, FNUM) STOP END 6-14 Network File Transfer r DSCOPY BASIC Example 10 20 30 40 50 60 70 80 90 100 110 REM THIS WILL DO A SIMPLE DSCOPY REQUEST DIM A$[30]tR[4] 0=R2=Z=O MAT R=ZER A$=II NFTTESTS TO TEMPl t HDS PRINT A$ CALL BDSCOPY(OtA$,R[*]) IF R[l] <>0 THEN PRINT .. ERROR IN DSCOPY. ERROR= "tR[l] IF R[l] <>0 THEN CALL BDSCOPYMSG(R[*]tZtR2) STOP II END 6-15 r DS APPLICATIONS I~ DSN/DS is particularly useful in applications that involve transaction processing and that are geographically or functionally dispersed. Any local-system command can be executed remotely through a simple extension to that command. Many operating system intrinsics are also extended in a similar fashion. No knowledge of the communication protocol or physical link being used is required of the terminal user or application programmer. Every application-level capability operates transparently across each connection-level alternative. DSN/DS on the HP 3000 provides facilities for point-to-point connection between processors. These connections can be made on a variety of types of communication lines, including switched (dial-up), leased, or hardwired, and they can also be mixed throughout the network. Applications can easily obtain access to systems more than one "hop" away, through multiple :REMOTE HELLO log-ons. In addition, HP 3000 computers can connect to X.25 packet-switched and X.21 circuit-switched networks and communicate across those networks with HP 1000 or other HP 3000 computers. In fact, DSN/DS can maintain concurrent connections to mUltiple remote systems, and/or multiple connections to the same remote system, over a single physical link to the X.25 network. DSN/DS requires users to pass all of the security checks imposed by MPE (such as passwords) when logging on to a remote system. DSN/DS also provides additional security features applicable only to a network environment. For example, the operator can restrict incoming or outgoing access to the communications link. And incoming calls from an X.25 network are accepted only if the remote host is already in the local system's network data base. 7-1 DS Applications DSN/DS offers the tools to facilitate the sharing of resources within a network. Examples of such resources are programs, data structures, or physical hardware elements of the network. You can access these resources in any of several modes: • Remote command execution allows you to direct commands to any CPU in the network. • Remo~e File Access (RFA) permits the application of processing power to files and devices remote from the CPU. RFA also provides the means for extending Interprocess Communications (IPC) across a DS link. • Program-to-program (PTOP) communication permits direct communications between master and slave programs, each resident in its own CPU within the network. • Remote Data Base Access (ROBA) gives the capability for direct and indirect access of data bases on any HP 3000 compu~er in the network. Combining the distributed processing capability of DSN/DS with the use of data management subsystems such as V/3000, KSAM/3000, and IMAGE/3000 makes possible the sharing of data. • Network File Transfer (NFT) is a more efficient mechanism than FeOpy for transferring disc files across a communications link. The chief advantages of Program-to-Program (PTOp) communication are coprocessing capabilities and control of data transmission blocking. Coprocessing master-slave programs execute in multiple systems. Program-to-Program communication allows decisionmaking to be distributed within the master-slave relationship. The exchange of data and control information between the executing programs can be used to alter program flow to adjust to current conditions in the network. Remote command execution and remote file/device access allow one program executing in one CPU to utilize data and/or devices anywhere in the network. All decisionmaking is embodied in this one program. Coprocessing capabilities assume importance in networks where synchronization of modifications to related data structures is important. Blocking control can be utilized in such a manner as to decrease the number of transmissions to move a specific amount of data. Since transmission time on a high-speed link is a negligible factor in communications performance, the required number of transmissions is the key to performance. Reducing the number of transmissions correspondingly reduces the number of line turnarounds. This may become a significant performance factor in half-duplex networks or satellite communication links where propagation delay affects response time. 7-2 DS Applications r TRANSMISSIONS BETWEEN SYSTEMS Underlying all modes of utilizing DSN/DS is the transmission of data from one system to another. Now compare the building of these transmission units for remote file access and for PTOP. ~.. DSN/DS is supported on three controllers: the Intelligent Network Processor (INP), the Hardwired Serial Interface (HSI), and the Synchronous Single-Line Controller (SSLC). To configure any of these devices into the system, you must specify a buffer length. The buffer length value that you specify represents the maximum number of words to be transmitted between systems in one transmission and it is the system's default buffer size. When you activate DSN/DS with a :DSLINE command, a LINEBUF parameter may be specified to override the configured buffer size. Only the first user to activate the line may use LINEBUF to alter the data communication buffer size. This buffer size may not be respecified until all concurrent DSN/DS users have closed their links. In this way, the pertinent buffer limiting factors for inter-CPU transmissions are set. How is LINEBUF utilized in accessing remote files and remote peripheral devices? The basic unit for file system operations is the record (or block of records). In remote file access and remote command execution, file system blocking limits the transmission unit to a single record or sequential multiple records. File system's FREAD is satisfied by moving a logical record from a file to the user's buffer. An FREAD on a file open with multirecord access is satisfied by a byte count which can be specified to be blocksize. Thus, an FREAD on a remote file will pack LINEBUF with a record or a specified byte count of sequential records. Contrast this record-orientation to the arrayorientation of PTOP communications. PTOp's PREAD is satisfied by the transmission between programs of the contents of LINEBUF. The PTOP programmer must construct the buffer by packing it with array(s), record(s), or fields of records. The records in one transmission need not even come from the same file. In addition to transmitting specified data, DSN/DS attaches a header of varying lengths. The header always contains eight words transmitted in a fixed format and can contain additional words in an appendage area. For remote command execution and remote file and peripheral device access, the data field is usually preceded by a header of 14 words. Some intrinsics, such as FREAD (multirecord), require a longer header to convey all parameter information. The header for PTOP communications includes the 20-word tag field in the appendage; thus the typical PTOP header is 34 words long. The ideal LlNEBUF size will allow the user's data field plus DSN/DS header information to fit into LINEBUF. 7-3 DS Applications To illustrate: Assume that you want to read six 80-byte records from a remote file. Specify a LlNEBUF of 300 words. a. If the remote file is thus defined: REC=-80,1,F, then Remote File Access must retrieve a block of one record from the disc, FREAD one record, and transmit one record. The complete data transfer requires six disc accesses, six FREADs, and six data transmissions. b. If the remote file is thus defined: REC=-80,6,F, then Remote File Access must access the disc to retrieve a block of six records, satisfy an FREAD with one record, and transmit one record. The complete transfer requires one disc access, six FREADs, and six data transmissions. c. If the remote file is thus defined: REC=-80,6,F, and opened with the NOBUF and multirecord aoption, then Remote File Access must access the disc to retrieve a block of six records, satisfy an FREAD of 480 bytes with six records, and transmit the six records. The complete data transfer requires one disc access, one FREAD, and one data transmission. d. In PrOP, the master program can issue a PREAD. The slave program can pack the buffer with all six records, utilizing any of the above three methods. Note that a LlNEBUF of 300 words is ample to permit transmission of 480 bytes (240 words) of data plus 34 words of DSN/OS header information in one transmission. A LINEBUF of 256 words requires two transmissions. COORDINATING MASTER AND SLAVE PROGRAMS PTOP communication programming requires synchronizing two separate programs at specific points in time. For this reason, it is often helpful to block diagram the transmissions and their contents on a simulated time line. Where the PTOP programmer wants to loop on certain PTOP operations, the loop's terminating condition must, of course, be defined. The master program has direct control over the interprogram communications and can terminate a loop under conditions defined locally. More difficult are the situations when the slave must communicate to the master that the terminating condition has been met. To do this, the slave might send a REJECT response. A REJECT does not allow transmission of data, and so requires a terminating exchange of transmissions after all data has been transmitted. 7-4 DS Applications Another method is to utilize the 20-word itag field (the ITAG parameter) of the PTOP intrinsics. This field is not accessible by the slave unless designated as a parameter in the corresponding master's PTOP operation. For example: Slave Program Master Program ExampleA. PREAD(dsnum,target,tcount); GET ( itag); ExampleB. PREAD(dsnum,target,tcount,itag); GET(itag) ; In example A, PREAD doesn't utilize the itag field. The slave program can't access itag on this transaction. The second PREAD (Example B) might not even initialize the itag array, but the array has been specified as a parameter. The slave program can now return control information to the master via this field. The master program logic can inspect itag and take corresponding action. A PCONTROL from the master will also cause an exchange of itag fields and may be used for passing control information. This intrinsic will not pass a data field, however. The control information passed between programs may terminate a loop, may branch to another part of the program, may transmit an index to be used in a CASE statement, or may serve any other purpose the programmer desires. It is important to bear in mind the accessibility of transmitted data. When the master program PWRITEs, the slave program cannot process the received data until the ACCEPT intrinsic has moved the data into the slave process stack. The slave program can, however, examine the itag array before doing the ACCEPT or REJECT. After examining the itag, the slave can then alter the i tag array. The ACCEPT or REJECT will transmit the slave's itag to the master. Slave local processing can then proceed. DEBUGGING Where the amount of local processing in a PTOP application is significant, it may be helpful to debug the master and slave programs as local programs. MOVEs on dummy arrays or FREADs on dummy files can be substituted for communication operations to simplify debugging of the local processing. 7-5 DS Applications When the time arrives to run the programs in master-slave fashion, a :RUN PROG;DEBUG is sufficient to invoke the Debug Utility for the master. This will not, however, allow the programmer to break-point in the slave program or to examine the slave process stack. To facilitate debugging slave programming, the first executable statement of the slave program should be the DEBUG intrinsic. LINE BUFFERS/CONTINUATION BUFFERS DSN/DS is designed to send across the line, in a single transfer operation, the amount of data configured as the PREFERRED BUFFER SIZE for the line controller (INP, SSLC, or HSI). The first person to use a DS line can override the configured line buffer size by specifying a different value with the LINBUF parameter of a : DSLINE command. When a user specifies LINBUF=xxxx, the xxxx value tells the Communication Software (CS/3000) the maximum amount of data DSN/DS will ever send across the line in a single request. For example, if you say LINBUF=1074, you are saying the largest buffer DSN/DS can pass to the Communication Software is 1074 words. The 1074 words will always consist of both user data and DSN/DS fixed header and variable-length appendage characters. These additional characters (approximately 20 to 50 words) give to and from information, intrinsic names, etc., and vary for RFA and PrOP operations. For RFA, the DSN/DS header and appendage usually adds about 20 words to the data; for PrOP, the header and appendage also includes the 20-word tag field, for a total of approximately 40 words. The ideal LINBUF size should be able to accommodate the user's data plus these DSN/DS overhead characters. When a DSN/DS user requests the transfer of more data in a single operation than the line buffer can accomodate, the Communication Software automatically fills the line buffer, makes the transfer, refills, and transfers again -- until all of the user's data has been sent. When a user's single request causes CS/3000 to make several transfer operations, the additional buffers of data are known as "continuation buffers". As stated before, the ideal line buffer should be large enough to eliminate the need for continuation buffers. 7-6 DS Applications COMPRESSION Compression of data on the communications link may be specified in order to achieve higher throughput. The COMPRESSION capability can be specified at generation time by use of SUBTYPE=l while configuring IODSO or IODSX (refer to Appendix A). This configured subtype sets the default for the line. A compression parameter may be specified while executing the :DSCONTROL console command. A console operator uses the parameter to override a line default or to reset to the configured state. A compression parameter may also be specified while executing a :DSLlNE command in a session or job. Use of the DSLlNE parameter allows individual users to control whether or not their data will be compressed. The compression technique compresses any occurance of three or more consecutive characters. The compression takes place in the data only, not in the fixed part or the appendage of the request or reply header. Compression generally increases throughput by reducing redundancy in the data, which results in a reduction in the number of characters being transmitted over the communications link. In some cases, however, compression could actually result in an increase in the number of characters to be transmitted. For this reason, DSN/DS examines each case when compression is specified. If a situation is found where compression would be detrimental to performance, DSN/DS sends the data uncompressed. Compression is most helpful in applications using line speeds up to 56 K bps. However, compression is generally not helpful nor desirable in applications that use the HSI at high data rates. Doing compression and decompression increases the system overhead at both ends of the link. The decision on whether to use compression depends on the communications link data rate, system load, and the amount of redundancy in the data being transmitted. Often, a test of relative throughput with normal system load and "typical" data will provide an indication of the benefits of using compression. The amount of redundancy in data or files may vary significantly. Source or listing files may compress by as much as 75 percent. But a more typical random assortment of HP 3000 files may reduce by an amount closer to 25 percent. Obviously, the actual reduction will vary from application to application. Comparative tests with and without compression will indicate the benefits. 7-7 DS Applications The DSN/DS initialization procedures allow compression only if both systems are capable of performing compression. Compression is handled on an individual basis, so that on a non-exclusive line, some users may compress while others use NOCOMP. Formats for Inserted Compression Characters Meaning Octal Value = compression xx xx nnn nnn 00 =uncompressed 10 = repeated = repeated type character string 11 nnn nnn blanks non-blank character (next byte is the character) = octal 1 to character count 77. Examples: 036 36 (octal) non-compressed characters 217 17 (octal) blank characters 323.052 23 (octal) compressed * characters PERFORMANCE The performance achieved while using the DSN/DS link may vary widely, and it depends on many factors. Computer System Dependent The activity mix on the respective HP 3000 will affect performance. It depends upon the character of the simultaneous activity: such as the number of jobs, number of CPU-bound jobs and their relative priority, contention for disc, memory size and amount of swapping, quantum size, etc. Communication Links The choice of the communications link will provide an upper limit to the performance. Generally, a full-duplex line will outperform a half-duplex line by reducing line turnaround delays. A 7-8 DS Applications half-duplex line with a smaller request-to-send/clear-to-send delay will be faster (such as a 208B at 50 milliseconds versus a 208B at 150 milliseconds). Line quality can result in wide variations times when line errors are high. A leased better and more predictable than a dial-up offices provide cleaner lines depending on their switching gear. in performance at line is generally line. Some telephone the age and nature of Applications For a given amount of data, the buffer size selected will affect performance. The smaller the number of requests required to transmit a given quantity of data, the higher the throughput. This also includes continuation requests. The data may be packed into larger buffers while using PTOP applications. The data may also be blocked into larger records for RFA applications. (RFA and FCOPY handle one record at a time, even though the file may use blocking). As described earlier, use an appropriate line buffer size. Use a line buffer large enough to contain the full record or buffer, plus the DSN/DS fixed blocks and appendage header words. (The "rule-of-thumb" is 50 words larger than the data size.) For applications to be run on dial-up lines, the line errors normally suggest a reasonable maximum of 1024 words. Analysis of :SHOWCOM xx ;ERRORS output and trace listings for error rates will allow modification of this recommendation for "typical" conditions. (This suggested maximum value of 1024 could be either increased or decreased when an SSLC is being used; but the value could only be decreased when the communications interface is an lNP, since the maximum buffer size for the lNP is 1024 words. ) PTOP applications allow both the master and slave programs to do a larger share of data searching, qualification, and manipulation at each local computer, thus reducing the quantity of data which must be sent across the line. Remote Listing Where data must be sent to a remote device (such as a line printer or a magnetic tape) it may be possible to send the program which generates the data to the remote computer for execution. For example, since a compiler listing can be quite large, it might be more efficient to transmit the source across the line and do a remote compilation and remote list, rather than doing a remote list for a local compilation. 7-9 DS Applications MULTIPLE REMOTE ACCESS While presenting the basic concepts of DSN/DS in the tutorial sections of this manual t the examples were intentionally limited to simple networks. From those somewhat simplistic illustrations, it might appear as though the only way your local computer can talk to more than one other computer is through additional parallel communication lines from your local system to the additional remote systems. Actua11Yt it is possible to communicate with other remote computers in the network that have no direct connection with your local computer. This communication is made possible by going through one remote computer (to which you do have a direct communication line) to reach another remote computer to which the first remote computer is connected. To reach a second remote system through a first remote system, a multiple REMOTE command is used. The syntax is as follows: :REMOTE [xxx] [REMOTE (xxx]] ... [command] In this way, the local user can initiate a session sequentially on each remote system. Refer to figure 7-1. SYSTEM A SYSTEM C SYSTEM B , SYSTEM D , : REMOTE L1STF ..•• lists these files to System A :REMOTE REMOTE L1STF •...........•. lists these files to System A :REMOTE REMOTE REMOTE L1STF ......•.....•••.•..•... lists these files to System A Figure 7-1. Multiple Remote Accessing Example 7-10 DS Applications Figure 7-1 shows how your local system (System A) can obtain a list of the files in the first remote system (System B) by issuing the command: : REMOTE LISTF To obtain a similar list of files from System C in this kind of network (where the communications link is through an intermediate remote computer), use the command: :REMOTE REMOTE LISTF Likewise, you can route your request through to System D by expanding the command to: :REMOTE REMOTE REMOTE LISTF Using this compound command accomplishes the same result as if you had issued the following series of separate commands: : REMOTE 'REMOTE 'REMOTE 'LISTF There is an important difference in the way of returning to your local system, however. When you reach System D (figure 7-1) by entering the compound command , : REMOTE REMOTE REMOTE the # prompt is coming from the Command Interpreter (CI) on System D. If you now type a colon <:) you are being switched back to your local CI (System A). But if you were to use the alternative method of reaching System D with a series of separate commands : REMOTE 'REMOTE 'REMOTE r , 7-11 DS Applica'tions and 'then you 'typed a colon as before. you would be swi'tched 'to System C. To ge't back to your local system (System A). you mus't return a step at a time (jus't as you went out 'to Sys'tem D a step a't a 't~e) as follows: : REMOTE 'REMOTE 'REMOTE 7-12 DS Applications INTERPROCESS COMMUNICATIONS Interprocess Communications (IPC) is a capability of the MPE operating system that is very beneficial in the DSNjDS environment. For some applications, IPC may be easier to implement than Program-to-Program Communications (PTOP) and may provide other advantages as well. A basic description of the use of IPC and the changes made to the file system is included in the MPE Intrinsics Reference Manual. ~. A simple example of the use of IPC for communication between two remote sessions is presented in figure 7-2. User Bill establishes a local session on Node A and a remote session on Node B. His application, called BILLPROG, opens a local MSGFILE as a reader and a remote MSGFILE as a writer. Then, user Jack establishes a local session on Node B and a remote session on Node A. Jack's application, called JACKPROG, opens a local MSGFILE as a reader and a remote MSGFILE as a writer. Now these two unrelated processes can communicate with each other through the IPC capability. NODE A NODEB BILLPROG FREAD FWRITE --? LI __ ~""""" ~i' MSGFILE Figure 7-2. MSGFILE FWRITE FREAD JACKPROG Two-node IPC Communication 7-13 DS Applications If PTOP had been used in the example in figure 7-2, a PTOP master program would need to be executing in one node and a slave program would have been initiated by the master in the other node. The master-slave programs would also require coordination because of their relationship. The advantage of IPC becomes more dramatic when two or more processes desire to communicate with each other, or when the network is more complex than two nodes. Figure 7-3 shows a network consisting of three nodes and a solution that seems very useful in the general DSN/DS applications environment. NOOEB - I MSGFILE I rr..... APPL _---~ , " I MSGFILE , NODE A .----...,1 MSGFILE I APPL I ,~ ....- I if ......- - -...: MSP MSGFILE :. .....- - -... !...- II---- I NODEC , " , I A\ I V \ MSGFILE I ...--------.-.:\~ ...--__4~-- ....: '\ ' '\ I ....- - - - - - - - - - - -.., .......... Figure 7-3. APPL MSP if MSGFILE I.~_------' Three-node IPC Communication 7-14 DS Applications r In figure 7-3, a general application program called Message Switching Procedure (MSP) is written and executed on each node. The MSP performs the following functions: • Opens a local message file as a reader • Opens any local applications message files as a writer • Opens all DS lines to adjacent nodes • Establishes a remote session on each of these nodes • Opens a message file on each adjacent node as a writer to be used for communication with each MSP. The MSP handles all outgoing requests by forwarding them to the MSP programs on adjacent nodes. MSP also handles all incoming requests by routing them to a local application program or by passing them on to the next node in the network. If the network is complex and it is desirable to shift the responsibility for routing from the user to the MSP, a solution might include addressing within the user's data buffer and the use of a directory file in conjunction with the MSP. The MSP would then use the directory file to determine to what node it should forward the message. A more advanced directory file could provide alternate routes in case of downed lines. If alternate routes were not available, the unserviceable requests could be stored in a disc file and then be rewritten to the MSP's MSGFILE when the downed lines are restored. In a simple network, it may not be desirable to design an MSP; but it is still possible that using IPC may be more advantageous than using PTOP. In this case, each user application could set up one or more remote sessions on the appropriate node(s) and communicate with other processes using the normal file intrinsics (FOPEN, FREAD, FWRITE, and FCLOSE) and message files. Also, by using the :FILE command, it can be transparent to the user or to the application program that the MSGFILE is located on a remote node. The advantage of using an MSP is that several users on a system can communicate with a number of remote processes, but only one remote session is required per node. Since fewer remote sessions are necessary, the amount of memory required is ·decreased. The major advantage of IPC versus PTOP is that there is no limitation to the number of local or remote processes with which a single process can communicate. The processes are fully bilateral with IPC making it easier to implement and expand the application for more complex networks. Also, activities such as development, testing, and debugging can all be done on one node, and then the resulting application can be distributed. 7-15 .~ _.- ........ CONFIGURATION DIALOGUE I~ DSN/DS operation requires the installation and configuration of one communications interface for each line to a remote computer; or, in the case of DS/X.25, one communications interface is required for each physical link to a Public Data Network (PDN). This appendix explains how to configure the following: • Intelligent Network Processor (INP) • Synchronous Single-Line Controller (SSLC) • Hardwired Serial Interface (BSI) • DS Line Monitor (communications driver IODSO or IODSX) • DS Virtual Terminals (IODSTRMO, IODSTRMX, or IOPADO) one for each session that will be allowed on your system from a remote system or from a Packet Assembler/Disassembler (PAD). The same communications interface (INP, SSLC, or BSI) can be used by another BP 3000 data communications subsystem (such as DSN/MRJE) when it is not being used by DSN/DS. In such a case. the communications interface is configured once for each subsystem (each time with a unique logical device number, but always with the same DRT number). Keep in mind that the following dialogue applies only when the interface is used for DSN/DS activity, and that a response that is optional for DSN/DS may not be optional for one of the other subsystems. Configuration guidelines pertaining to the other subsystems are given in the reference manual for each subsystem. Configuration summary tables for each of the communications interface types are included in the Communications Handbook. For any data communications subsystem to function, CS/3000 modules must be present on the system. It is presumed in this configuration description that the Account Systems Engineer (SE) has already installed CS/3000. If you are making any other changes to the MPE I/O system. refer to the System Manager / System Supervisor Reference Manual. A-l Configuration Dialogue Configuration is accomplished through an interactive dialogue between you and the computer system. As the questions or prompts appear on your console, enter the appropriate replies through the console keyboard for your desired system configuration. NOTE In all responses, Y or N can be used for A carriage return is equivalent to NO. YES and NO. Prior to entering the dialogue, log onto the system and input at least a file reference to a magnetic tape, as follows: :FILE name;DEV=TAPE : SYSDUMP*name The dialogue commences as follows: Step No. Dialogue 1 ANY CHANGES? YES 2 SYSTEM ID = BP 32002 v.uu.ff? return 3 MEMORY SIZE= xxx? return 3.1 I/O CONFIGURATION CHANGES? YES 3.2 LIST I/O DEVICES? YES All I/O devices currently configured on the system are listed with the following column headings: LOG DEV Logical device number. DRT , (Device Hardware device address Reference Table number) configured on the interface board. UNIT , Hardware unit number of its controller. CHAN Channel number controller. A-2 ot device device on on its Configuration Dialogue Step Dialogue No. TYPE Device type. SUBTYPE Device subtype. TERM TYPE TerminaI type. TERM SPEED Terminal speed. REC WIDTH Record width in decimal words. OUTPUT DEV Device class name or device ldn. MODE J A I D S = Accept jobs data = Interactive device = Duplicative device = Spooled device = Accept Driver name. DRIVER NAME DEVICE CLASSES Class name assigned to face. ~. the inter- NOTE The prompt in Step 3.3, below, appears only if a communications subsystem (CS) device was previously configured into the system. 3.3 LIST CS DEVICES? YES A list of all CS devices currently assigned to the system is printed with the following column headings: LDN Logical device number. PM Port Mask. SSLC.) PRT Protocol. LCL MOD Local mode. TC Transmission code. A-3 (Not used by INP and Configuration Dialogue Step No. Dialogue RCV TMOUT Receive timeout (in seconds). CON TMOUT Connect timeout (in seconds)., MODE o = Dial out. I A D H C = = = = = Manual answer. Automatic answer. Dual speed. Half speed. Speed changeable. TRANSMIT SPEED Transmission speed second) . (characters per 'I'M Transmission mode. BUFFER SIZE Default buffer capacity, in words. DC Driver changeable or not changeable. DRIVER OPTION Driver options. If you have a switched device, such as those that are connected through a dial-up telephone line, then you receive the following additional information: LDN INP or SSLC logical device number. CTRL LEN Not currently implemented. PHONE NUMBER LIST A single telephone number -- the default for the data communications line. LOCAL ID SEQUENCE The default identification local computer. of the REMOTE ID The default identification remote computer. of the SEQUENCE 3.4 HIGHEST DRT=xx? In the output, xx is a value denoting the present highest DRT entry number that can be assigned to a device. To change xx, enter the new value desired. If the highest-numbered device in the configuration is a device that uses more than one DRT entry (such as a A-4 Configuration Dialogue Step Dialogue No. terminal controller with one or two data set controllers), be sure to enter the highest of the DRT numbers. To maintain the current xx, enter a carriage return. 3.5 LOGICAL DEVICE #1 To specify a device to be added or removed, enter the logical device numb~r of that device. An HSI has four ports and thus can be configured up to four times with a unique logical device number for each port. In addition, a communications driver (lODSO) with a unique logical device number must be configured for each HSl port configured. This prompt is repeated later in the configuration dialogue, so that you can return to this point to configure more than one device. 3.6 DRT '1 To add a device, enter its DRT entry number. For a communications driver and a virtual terminal, you must assign the logical device number of the associated communications interface (INP, SSLC, or the HSI port), preceded by a number sign (I). Virtual terminals need to be configured for only one port of any HSl (back referenced to only one logical device number for the HSI). The terminals will be dynamically allocated to the proper port when a user opens it. To remove a device and return zero. 3.7 to Step 3.3, enter UNIT #1 Q Enter zero for an lNP, an SSLC, an HSI, the DSN/DS Communications Driver (lODSO or IODSX), or Virtual Terminals (IODSTRMO, IODSTRMX, or IOPADO). 3.8 SOFTWARE CHANNEL 11 Q A-5 Configuration Dialogue Dialogue Step No. 3.9 TYPE? Enter the device type, where 16 = Virtual Terminal or PAD Terminal 17 Intelligent Network Processor (INP) 18 = Synchronous Single-Line Controller (SSLC) 19 Hardwired Serial Interface (BSI) 41 = DSN/DS Communications Driver = = NOTE When configuring Device Type 16, cons ider the maximum number of terminals supported by your system. Each virtual terminal configured is added to the total number of terminals already on the system. 3.10 SUBTYPE? Communications Interface: For an INP, enter 0, 1, or 3 For an SSLC, enter 0 or 1 For an HSI, enter 3, where o = switched line with modem 1 = nonswitched line with modem 3 = hardwired line, synchronous transmission Communications Driver: For IODSO or IODSX, enter 0 or 1, where o = no data compression 1 = data compression Virtual Terminal or PAD Terminal: For IODSTRMO, IODSTRMX, or IOPADO, always enter NOTE If you are configuring a terminal (Type 16), the dialogue continues to Step 3.11. If you are configuring an HSI (Type 19), the dialogue skips to Step 3.13. If you are configuring an SSLC (Type 18), the dialogue skips to Step 3.14. If you are configuring an INP (TYPe 17), the dialogue skips to Step 3.17. For all other device types, the dialogue skips to Step 3.40. A-6 o. Configuration Dialogue Step No. 3.11 Dialogue TERM TYPE? 0 This question is asked only if Type is 16. Term Type is always zero for DSN/DS Virtual Terminals or PAD Terminals. 3.12 SPEED IN CHARACTERS PER SECOND? 0 This question is asked only if device then the dialogue skips to Step 3.40. 3.13 Type is 16, PORTMASK? This question is asked only if device Type is 19 (HSI). The values allowable are shown below and must be entered in decimal. This forms a mask indicating which HSI channel will be used. Only one of the four channels may be designated for each unique logical device number. Enter 8 for HSI cable connector port o. 4 for HSI cable connector port 1. Enter Enter 2 for HSI cable connector port 2. Enter 1 for HSI cable connector port 3. Since only one port on the HSI PCA can be opened at a time, only one block of virtual terminals (entered later in this configuration) are needed for that HSI PCA. This same block is automatically reallocated to each new port opened. One block of virtual terminals serves all ports. 3.14 PROTOCOL? 1 This response defines cations. 3.15 Binary Synchronous Communi- LOCAL MODE? For an HSI, enter 1. For an SSLC, enter 1 or 2 where 1 = Local is a primary contention station 2 = Local is a secondary contention station A-7 Configuration Dialogue Step Dialogue No. To resolve the contention problem in point-to-point operations, each station is assigned a priority (primary or secondary). Because the secondary station can gain control of the line for a transmission only when the line is left free by the primary station, the SSLC is usually configured as a primary station. Local mode determines the amount of time a local station will wait in response to a line bid; primary station timeout is two seconds and secondary is three seconds. If a response from the remote system is not received within the allowed time (two seconds for primary or three seconds for secondary), the line bid is re-transmitted until the number of retries permitted by the communications software is eXhausted. 3.16 TRANSMISSION CODE? For an HSI, enter 1. For an SSLC, enter 1, 2, or 3 where 1 = Automatic code sensing of ASCII and EBCDIC if initially receiving; ASCII if initially sending; or for Hardwired Serial Interface (HSI). 2 = ASCII transmission. 3 = EBCDIC transmission. Select the most frequently used method of transmission because your response establishes the configuration default. In DSN!DS, all transmissions are ASCII. Only in certain other data communication subsystems can users optionally transfer EBCDIC characters. 3.17 RECEIVE TIMEOUT? Enter the positive number of seconds the CS device will wait to receive text before terminating the read mode. Entering a carriage return provides a 20-second timeout. A-a Configuration Dialogue Step Dialogue No. NOTE For all timeout responses: Entering 0 disables the timeout; maximum timeout is 32000 seconds; DS displays an error when the communications software (CS) disconnects because of a timeout. 3.18 LOCAL TIMEOUT? Enter the positive number of seconds a connected local station will wait to transmit or receive before disconnecting. Entering a carriage return provides a 60-second timeout. (Your response is not used for DSN/DS activity.) ~ . .,.... " ~< 3.19 CONNECT TIMEOUT? Enter the positive number of seconds the local station will wait after one attempt to make a connection to a remote station. Entering a carriage return provides a gOO-second timeout. For an HSI, 100 to 500 is recommended. For an INP or SSLC, 300 is recommended. NOTE Steps 3.20 through 3.22 apply only to CS devices with switched lines connected through a modem (dial telephones, Subtype 0). For CS devices with nonswitched lines connected through a modem (private lines, Subtype 1) the dialogue skips to Step 3.23. If the CS device is either an HSI or a hardwired INP (Subtype 3), the dialogue skips to Step 3.25. 3.20 DIAL FACILITY? Enter YES if manual dial-up is required. Enter INP LDEVI if the AUTO DIAL feature is used. Enter NO if no dial facility is required. A-9 Configuration Dialogue Step No. 3.21 Dialogue ANSWER FACILITY? Enter YES if the local modem can answer calls, either manually or automatically. Enter NO if it cannot. A NO response causes the next step to be skipped. 3.22 AUTOMATIC ANSWER? Enter YES if the local modem can automatically answer calls. Enter NO if manual answering is required. 3.23 DUAL SPEED? Enter YES if the local modem is dual speed (European models). Enter NO if it is single speed. A NO response causes the next step to be skipped. 3.24 HALF SPEED? Enter YES if the local modem is to operate at half speed. Enter NO if it is to operate at full speed. The dialogue skips to Step 3.26. 3.25 SPEED CHANGEABLE? For an HSI, enter YES. For an INP or an SSLC, enter YES if the speed of the line is changeable. Enter NO if the line speed is fixed. In general, the speed is changeable when the communications interface provides the clocking, and it is not changeable when a single-speed modem or other external device provides the clocking. You must respond YES if the console operator will be us ing the speed parameter in the :DSCONTROL command to change the configured transmission speed (see Step 3.26). 3.26 TRANSMISSION SPEED? For INP (Type 17) or SSLC (Type 18) devices, enter the transmission speed of the line in characters per second (Bit Rate/B). For HSI (Type 19) devices, enter 250 000 for cable lengths up to 1000 feet, or A-10 Configuration Dialogue Step Dialogue No. enter 125 000 for cable lengths feet. greater than 1000 The transmission speed you specify is ignored for modems that provide internal clocking signals. This allows modems of different speeds to be used without reconfiguring the Operating System. The speed specified is used if the modems are eliminated and the controllers are hardwired together. The speed you specify becomes the default. The console operator can override the default by including the speed parameter in the :DSCONTROL command. 3.27 TRANSMISSION MODE? Enter the appropriate number for the mode in use. The mode numbers are: a 1 = Full = Half transmission duplex duplex INP and SSLC: Configure the communications interface (INP or SSLC) to operate in Full Duplex (0) if your fac.ility uses one of the following: • A leased line with four-wire, point-to-point installation. • A dial network with two lines (four-wire equivalent). • A dial network with Wide Band Service. • Any Direct Connect cable between two INPs. Configure the communications interface to operate in Half Duplex (1) if your facility uses one of the following: • A dial network with a single-line (two-wire) installation. • An INP-to-SSLC Direct Connect cable (a "modem eliminator" cable between an INP and an SSLC). Your response must agree with A-11 the remote system's Configuration Dialogue Step No. Dialogue configuration and with communications line. the characteristics of the HSI: Always configure an HSI as Full Duplex (0). 3.28 PREFERRED BUFFER SIZE? Enter the desired buffer size in words, up to a maximum of 4095 words for an HSI or SSLC t or up to a maximum of 1024 words for an INP. For a dial-up line, 1024 is generally recommended; for a leased line with an SSLC t the size may be larger than 1024 if the line quality is good. Note that although large buffer sizes increase transmission efficiency, they also use up memory space. Match buffer sizes for sender and receiver whenever possible, since the effective buffer size that can be utilized is the smaller of the two. 3.29 DRIVER CHANGEABLE? NO 3.30 DRIVER OPTIONS? 0 NOTE The dialogue skips to Step 3.50. 3.40 RECORD WIDTH? For IODSO t enter 128. For all Virtual Terminals, enter 40. 3.41 OUTPUT DEVICE? For the communications driver, enter zero. For a virtual terminal or a Packet Assembler/Disassembler (PAD) terminal, enter the class name or logical device number to be used for the corresponding job/session listing device. A-12 Configuration Dialogue Step Dialogue No. 3.42 ACCEPT JOBS/SESSIONS? For the communications driver, enter NO. For virtual terminals or PAD terminals, enter YES. 3.43 ACCEPT DATA? NO 3.44 INTERACTIVE? For the communications drivers, enter NO. ~ For virtual terminals or PAD terminals, enter YES. 3.45 DUPLICATIVE? For the communications drivers, enter NO. For virtual terminals or PAD terminals, enter YES. 3.46 INITIALLY SPOOLED? NO 3.50 DRIVER NAME? Enter the name of the follows: driver IODSO = INP = SSLC = HSI = Communications IODSX = Communications IODSTRMO = Virtual = Virtual IOINPO CSSBSCO CSHBSCO IODSTRMX for this device as driver driver, the X.25 capability while utilizing terminals terminals, while utilizing the X.25 capability IOPADO = Packet Assembler/Disassembler (PAD) terminals, while utilizing the X.29/X.25 capability A-13 Configqration Dialogue Step No. Dialogue NOTE Steps 3.52 through 3.55 apply to CS devices with switched (dial-up) lines (Types 17 and 18, Subtype 0). The dialogue for all other devices skips to Step 3.70. 3.52 PHONELIST? Enter YES or NO. You can supply one number (usually a frequently dialed number) which will be the system default. 3.53 PHONE NUMBER? Enter a string of numbers and hyphens, but not more than 30 characters. This number will be included in the I/O request on the system console when a user OPENs a dial-up (manual call) line. This number will be dialed automatically on an autodial line unless the user overrides with a phone number in the :DSLlNE command. 3.54 LOCAL ID SEQUENCE? The default local ID sequence can be specified in terms of code or number system. Enter a carriage return for a null local ID sequence. Enter one of the letters below, followed by the ID sequence in quotes, if code, or parentheses, if number system. = ASCII = EBCDIC o = Octal H = Hexadecimal A E Example: Example: Example: Example: A E 0 H JOE" "STRING" II (7, 35, 5) (Al, 1F, BB) NOTE Do not enter more than 16 characters for the local or remote ID sequence. A-14 Configuration Dialogue Step No. 3.55 Dialogue REMOTE ID SEQUENCE? Enter the default remote ID sequence in the same format as the local ID sequence (above). This can be repeated until a carriage return is entered. 3.70 DEVICE CLASSES? Enter a list containing a device class name (up to eight alphanumeric characters, beginning with a letter). Class names are separated from each other by commas. These names are left to the discretion of the System Supervisor. They will be used in certain commands and intrinsics when any member of a group of devices (such as any disc drive) can be referenced. No name need be entered. NOTE For IODSX entries, the destination logical node name cannot be specified as a device class name. (Refer to Appendix H.) The dialogue now prints the LOGICAL DEVICE I? prompt described in Step 3.5. If all I/O configuration is complete, press RETURN and the dialogue continues at Step 3.80. Otherwise, enter a logical device number and repeat the configuration procedure from Step 3.5. 3.80 MAX' OF OPENED SPOOLFILES= xxx? return 3.81 LIST OF I/O DEVICES? YES To print a listing of the new input/output device configuration, enter YES. This list appears in the format described in Step 3.2. 3.82 LIST CS DEVICES? YES Enter YES to list the characteristics of the new device configuration. A-15 CS Configuration Dialogue Step Dialogue No. 3.83 CLASS CHANGES? return 3.93 LIST I/O DEVICES? return NOTE The prompt in Step 3.94 appears only it a CS device is configured or if additional drivers exist (for the CS driverchangeable option in Step 3.29). It neither case exists, the dialogue skips to Step 4. 3.94 ADDITIONAL DRIVER CHANGES? NO 4 SYSTEM TABLE CHANGES? NO 5 MISC CONFIGURATION CHANGES? NO 6 LOGGING CHANGES? NO 7 DISC ALLOCATION CHANGES? NO 8 SCHEDULING CHANGES? NO 9 SEGMENT LIMIT CHANGES? NO 10 SYSTEM PROGRAM CHANGES? NO 11 SYSTEM SL CHANGES? NO The NO response assumes CS/3000 modules are present on the system. 11.1 LIST LIBRARY? NO 11. 2 DELETE SEGMENT? NO A-16 already Configuration Dialogue Step No. Dialogue 11.3 REPLACE SEGMENT? NO 11. 4 ADD SEGMENT? YES 12 ENTER DUMP DATE? r' 12.01 return Copies the modified MPE. When this copy is used to COLDSTART the system. the account structure and all files remain intact. mm/dd/YY where mm/dd/n is some date in the future. Copies the modified MPE and the current accounting. but no files. mm/dd/yy where mm/dd/rl is usually the date of the most recent system backup. Copies the modified MPE. the current accounting structure. and any files that were changed on or since the specified date. o Copies the entire current accounting files) . system (MfE, structure. and ENTER DUMP FILE SUBSETS? Enter a carriage return, or enter a filename series of filenames. (Example: @.PUB.SYS) 12.1 13 the all or LIST FILES DUMPED? YES or NO The console operator must now use the =REPLY command to assign the magnetic tape drive on which you have arranged for a fresh tape reel to be mounted. After the SYSDUMP is complete. the tape produced should be used to COLDSTART the system. During COLDSTART. the old I/O device configuration is replaced with the new one from your SYSDUMP tape. A-17 I~ '_." ERROR CODES AND MESSAGES I~ The following is a summary of the error code numbers and messages that may be encountered. The messages, as listed here, have been grouped into several categories. For example, the first group contains all messages pertaining to :DSLlNE syntax problems, while the second group contains the messages that report a DSN/DS functional problem. Each group is identified with an explanatory heading, and the messages are listed in numerical sequence within each category for easy reference. :DSLINE SYNTAX ERRORS These messages are sent to the terminal user to point out an error in syntax or to warn of the consequences of a request. 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 REMOTE JOBS ARE NOT ALLOWED 1. (CIERR 1300) DSLlNE CANNOT CONTAIN BOTH OPEN AND CLOSE. (CIERR 1301) DSLlNE REQUIRES AT LEAST ONE PARAMETER. (CIERR 1302) DSNUMBER SPECIFICATION MUST BE A NUMBER FROM 1 THRU 255. (CIERR 1303) DSLlNE #11 DOES NOT IDENTIFY AN OPEN DS LINE. (CIERR 1304) EXPECTED LlNEBUF, PHNOM, IOCID, REMID, OPEN, CLOSE, QUIET, COMP, NOCOMP, OR EXCLUSIVE. (CIERR 1305) MULTIPLE USE OF 1 IS NOT ALLOWED. (CIERR 1306) THE SYNTAX FOR 1 REQUIRES AN = SIGN FOLLOWED BY DATA. (CIERR 1307) PHNUM IS 1 TO 20 DIGITS AND DASHES. (CIERR 1308) 1 LIST CAN CONTAIN ONLY ONE ELEMENT. (CIERR 1309) THE SPECIFIED LOGICAL DEVICE IS NOT OPEN. (CIERR 1310) THE FIRST CHARACTER OF AN ID SEQUENCE MUST BE A OR A ( (CIERR 1311) THE ID SEQUENCE MUST TERMINATE WITH A ). (CIERR 1312) THE ID SEQUENCE MUST TERMINATE WITH A (CIERR 1313) A NUMERIC ID SEQUENCE ELEMENT MUST BE 1 THRU 255 (OR %377). (CIERR 1314) LlNEBUF MUST BE A NUMERIC VALUE FROM 304 THRU 4096. (CIERR 1315) UNABLE TO COMPLETE THE REMOTE COMMAND. (CIERR 1316) NOT A CURRENTLY AVAILABLE DSLlNE. (CIERR 1317) USE OF EXCLUSIVE REQUIRES BOTH NS AND CS CAPABILITY. (CIERR 1318) THE DS LINE ILl IS IN USE BY A PROGRAM OR SUBSYSTEM AND CANNOT BE CLOSED. (CIERR 1319) EXPECTED A RESPONSE OF YES, Y, NO, OR N. (CIERR 1320) II II. B-1 Error Codes and Messages 1321 UNABLE TO OPEN THE DS LINE ON DEVICE 1. (CIERR 1321) 1322 @ IS INVALID IN THIS CONTEXT. (CIERR 1322) 1323 A DSLINE OPEN REQUIRES A VALID DS DEVICE NAME AS THE FIRST PARAMETER. (CIERR 1323) 1324 FROM ADDRESS MUST BE BETWEEN 1 AND 14 CHARACTERS INCLUSIVE. (CIERR 1324) 1325 TO ADDRESS MUST BE BETWEEN 1 AND 14 CHARACTERS INCLUSIVE. (CIERR 1325) 1326 FROM AND TO ADDRESS MUST BE A DECIMAL NUMBER. (CIERR 1326) 1392 ONLY 1 WORDS WERE ALLOCATED FOR THE LINE BUFFER. (CIWARN 1392) 1393 COMPRESSION REQUEST NOT HONORED. REMOTE DOES NOT SUPPORT THIS FEATURE. (CIWARN 1393) 1394 COMPRESSION PARAMETER RESPECIFIES AND OVERRIDES PREVIOUS COMPRESSION PARAMETER. (CIWARN 1394) 1395 OPEN PARAMETERS ENTERED ON A CLOSE REQUEST ARE IGNORED (CIERR 1395) 1396 AN ID LIST MUST CONTAIN 255 OR LESS ELEMENTS. (CIWARN 1396) 1397 AN UNNECESSARY DELIMITER IS IGNORED. (CIWARN 1397) 1398 THERE ARE NO DS LINES OPEN. (CIWARN 1398) 1399 MULTIPLE USE OF 1 IS REDUNDANT AND IGNORED. (CIWARN 1399) DSN/DS FUNCTIONAL ERRORS These messages report a functional problem within the system. 201 REMOTE DID NOT RESPOND WITH THE CORRECT REMOTE ID. (DSERR 201) 202 SPECIFIED PHONE NUMBER IS INVALID. (DSERR 202) 203 REMOTE ABORT/RESUME NOT VALID WHEN DOING PROGRAM-TOPROGRAM COMMUNICATION. USE LOCAL ABORT/RESUME. (DSWARN 203) 204 UNABLE TO ALLOCATE AN EXTRA DATA SEGMENT FOR DS/3000. (DSERR 204) 205 UNABLE TO EXPAND THE DS/3000 EXTRA DATA SEGMENT. (DSERR 205) 206 SLAVE PrOP FUNCTION ISSUED FROM A MASTER PROGRAM. (DSERR 206) 207 SLAVE PrOP FUNCTION OUT OF SEQUENCE. (DSERR 207) 208 MASTER PrOP FUNCTION ISSUED BY A SLAVE PROGRAM. (DSERR 208) 209 SLAVE PROGRAM DOES NOT EXIST OR IS NOT PROGRAM FILE. (DSERR 209) 210 WARNING -- INVALID MAXDATA OR DLSIZE FOR A SLAVE PROGRAM. SYSTEM DEFAULTS ARE IN EFFECT. (DSWARN 210) 211 SLAVE ISSUED A REJECT TO A MASTER PrOP OPERATION. (DSWARN 211) 212 FILE NUMBER FROM IOWAIT NOT A DS LINE NUMBER. (DSWARN 212) 213 EXCLUSIVE USE OF A DS LINE REQUIRES BOTH ND AND CS CAPABILITY. (DSERR 213) B-2 Error Codes and Messages 214 THE REQUESTED DS LINE HAS NOT BEEN OPEN WITH A USER : DSLINE COMMAND OR A REQUIRED : REMOTE HELLO HAS NOT BEEN DONE. (DSERR 214) 215 DSLINE CANNOT BE ISSUED BACK TO THE MASTER COMPUTER. (DSERR 215) 216 MESSAGE REJECTED BY THE REMOTE COMPUTER. (DSERR 216) 217 INSUFFICIENT AMOUNT OF USER STACK AVAILABLE. (DSERR 217) 218 INVALID PrOP FUNCTION REQUESTED. (DSERR 218) 219 MULTIPLE POPEN. ONLY ONE MASTER PTOP OPERATION CAN BE ACTIVE ON A DS LINE. (DSERR 219) 220 PROGRAM EXECUTING GET WAS NOT CREATED BY POPEN. (DSERR 220) 221 INVALID DS MESSAGE FORMAT. INTERNAL DS ERROR. (DSERR 221) 222 MASTER PrOP FUNCTION ISSUED PRIOR TO A POPEN. (DSERR 222) 223 REQUEST TO SEND MORE DATA THAN SPECIFIED IN POPEN. (DSERR 223) 224 FILE EQUATIONS FOR A REMOTE FILE CONSTITUTE A LOOP. (DSERR 224) 225 CANNOT ISSUE POPEN TO A SLAVE SESSION IN BREAK MODE. (DSERR 225) 226 SLAVE PROGRAM HAS TERMINATED BEFORE EXECurING "GET". (DSERR 226) 227 REMOTE HELLO MUST BE DONE TO INITIATE REMOTE SESSION. (DSERR 227) 228 EXCEEDED MAXIMUM NUMBER OF VIRTUAL CHANNELS PER JOB. (DSERR 228) 231 INVALID FACILITY IN CONNECTION REQUEST. (DSERR 231) 232 THE REMOTE COMPUTER IS NOT OBTAINABLE. (DSERR 232) 233 VIRTUAL CIRCUIT IS NOT AVAILABLE. (DSERR 233) 235 DS MESSAGE SEQUENCING ERROR. (DSERR 235) 236 COMMUNICATIONS HARDWARE HAS DETECTED AN ERROR. (DSERR 236) 237 CANNOT CURRENTLY GAIN ACCESS TO THE TRACE FILE. (DSERR 237) 238 COMMUNICATIONS INTERFACE ERROR. INTERNAL FAILURE. (DSERR 238) 239 COMMUNICATIONS INTERFACE ERROR. TRACE MALFUNCTION. (DSERR 239) 240 LOCAL COMMUNICATION LINE WAS NOT OPENED BY OPERATOR. (DSERR 240) 241 DS LINE IN USE EXCLUSIVELY OR BY ANOTHER SUBSYSTEM. (DSERR 241) 242 INTERNAL DS SOFTWARE ERROR ENCOUNTERED. (DSERR 242) 243 REMOTE OR PDN IS NOT RESPONDING. (DSERR 243) 244 COMMUNICATIONS INTERFACE ERROR. LINE RESET OCCURRED. (DSERR 244) 245 COMMUNICATIONS INTERFACE ERROR. RECEIVE TIMEOUT. (DSERR 245) 246 COMMUNICATIONS INTERFACE ERROR. REMOTE DISCONNECTED. (DSERR 246) 247 COMMUNICATIONS INTERFACE ERROR. LOCAL TIME our. (DSERR 247) 248 COMMUNICATIONS INTERFACE ERROR. CONNECT TIME OUT. (DSERR 248) 249 COMMUNICATIONS INTERFACE ERROR. REMOTE REJECTED CONNECTION. (DSERR 249) 250 COMMUNICATIONS INTERFACE ERROR. CARRIER LOST. (DSERR 250) 251 COMMUNICATIONS INTERFACE ERROR. LOCAL DATA SET FOR THE DS LINE WENT NOT READY. (DSERR 251) B-3 Error Codes and Messages 252 COMMUNICATIONS INTERFACE ERROR. HARDWARE FAILURE. (DSERR 252) 253 COMMUNICATIONS INTERFACE ERROR. NEGATIVE RESPONSE TO THE DIAL REQUEST BY THE OPERATOR. (DSERR 253) 254 COMMUNICATIONS INTERFACE ERROR. INVALID I/O CONFIGURATION. (DSERR 254) 255 COMMUNICATIONS INTERFACE ERROR. UNANTICIPATED CONDITION. (DSERR 255) :DSCONTROL INFORMATORY MESSAGES These messages convey status information. 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 DS DS DS DS DS DS DS DS DS DS DS DS DS DS DS DEVICE DEVICE DEVICE DEVICE DEVICE DEVICE DEVICE DEVICE DEVICE DEVICE DEVICE DEVICE DEVICE DEVICE DEVICE 1: MASTER AND SLAVE ACCESS SHUT. !: SLAVE ACCESS OPENED; MASTER ACCESS SHUT. 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: MASTER ACCESS OPENED; SLAVE ACCESS SHUT. MASTER AND SLAVE ACCESS OPENED. TRACE ACTIVATED USING TRACE FILE 1. TRACE DEACTIVATED. MONITORING ACTIVATED. MONITORING DEACTIVATED. DEBUG MODE ACTIVATED. DEBUG MODE DEACTIVATED. SPECIAL DEBUG MODE ACTIVATED. DEFAULT MODE IS NO COMPRESSION. DEFAULT MODE IS COMPRESSION. RETRY COUNT NOW EQUALS 1. CALL REQUEST CANCELED. :DSCONTROL ERROR MESSAGES These messages point out an error in syntax consequences of a request. or warn of the 4100 NUMBER OF PARAMETERS EXCEEDS MAXIMUM OF 1. (CIERR 4100) 4101 EXPECTED AT LEAST TWO PARAMETERS: A DS DEVICE CLASS/NUMBER AND A FUNCTION KEYWORD. (CIERR 4101) 4102 EXPECTED A DEVICE CLASS NAME OR LOGICAL DEVICE NUMBER FOR ONE OR MORE DS DEVICES. (CIERR 4102) 4103 USER IS NOT ASSOCIATED WITH DS DEVICE 1. NO CONTROL FUNCTIONS EXECUTED FOR THIS DEVICE. (CIWARN 4103) 4104 USER IS NOT ALLOWED TO USE : DSCONTROL AND IS NOT ASSOCIATED WITH THE DS DEVICE(S). (CIERR 4104) 4105 EXPECTED ONE OR MORE OF THE CONTROL FUNCTIONS: OPEN, SHUT, MON, MOFF, COMP, NOCOMP, TRACE, OR DEBUG. (CIERR 4105) 4106 INVALID CONTROL FUNCTION. EXPECTED ONE OF: OPEN, SHUT, MON, MOFF, COMP, NOCOMP, TRACE, OR DEBUG. (CIERR 4106) B-4 Error Codes and Messages 4107 MASTER OVERRIDES PREVIOUS MASTER/SLAVE OPTION. (CIWARN 4107) 4108 SLAVE OVERRIDES PREVIOUS MASTER/SLAVE OPTION. (CIWARN 4108) 4109 SPEED OPTION OVERRIDES PREVIOUS SPEED OPTION. (CIWARN 4109) 4110 OPEN OVERRIDES PREVIOUS OPEN/SHUT FUNCTION. (CIWARN 4110) 4111 SHUT OVERRIDES PREVIOUS OPEN/SHUT FUNCTION. (CIWARN 4111) 4112 TRACE OVERRIDES PREVIOUS TRACE FUNCTION(S). (CIWARN 4112) 4113 DEBUG OVERRIDES PREVIOUS DEBUG FUNCTION(S). (CIWARN 4113) 4114 MON OVERRIDES PREVIOUS MON/MOFF FUNCTION. (CIWARN 4114) 4115 MOFF OVERRIDES PREVIOUS MON/MOFF FUNCTION. (CIWARN 4115) 4116 COMP OVERRIDES PREVIOUS COMP/NOCOMP FUNCTION. (CIWARN 4116) 4117 NOCOMP OVERRIDES PREVIOUS COMP/NOCOMP FUNCTION. (CIWARN 4117) 4118 EXPECTED A "; U , OR RETURN AS DELIMITER. (CIERR 4118) 4119 EXPECTED EITHER AU; U OR RETURN AS DELIMITER. (CIERR 4119) 4120 EXPECTED A U:U AS DELIMITER FOR SPEED OPTION. (CIERR 4120) 4121 EXPECTED AU, AS DELIMITER BETWEEN OPTIONS. (CIERR 4121) 4122 ILLEGAL OPEN/SHUT OPrION. EXPECTED ONE OF: MASTER, SLAVE, SPEED, OR LlNESPEED VALUE. (CIERR 4122) 4123 EXPECTED A POSITIVE DOUBLE VALUE FOR LINESPEED. (CIERR 4123) 4124 CS CAPABILITY REQUIRED TO USE :DSCONTROL . (CIERR 4124) 4125 PM CAPABILITY REQUIRED TO USE DEBUG FUNCTION. (CIERR 4125) 4126 DEBUG FUNCTION MAY ONLY BE USED BY SYSTEM CONSOLE. (CIERR 4126) 4127 EXPECTED NO OPrION FOR DEBUG OR ONE OF THE FOLLOWING: ON, OFF, OR POSITIVE INTEGER VALUE. (CIERR 4127) 4128 EXPECTED NO OPTION FOR MON/MOFF OR ONE OF THE FOLLOWING: CS OR DS. (CIERR 4128) 4129 COMP/NOCOMP FUNCTIONS HAVE NO OPTIONS. (CIERR 4129) 4130 SPEED OPTION IGNORED FOR SHUT FUNCTION. (CIWARN 4130) 4131 EXTRANEOUS "; U IGNORED. POSSIBLE MISSING FUNCTION? (CIWARN 4131) 4132 EXTRANEOUS u, U IGNORED. POSSIBLE MISSING OPTION? (CIWARN 4132) 4133 CREATION OF DS MONITOR PROCESS FAILED. (CIERR 4133) 4134 PROGftI\M FILE "DSMON.PUB.SYS" MISSING. (CIERR 4134) 4135 DS MONITOR UNABLE TO RUN AS A SYSTEM PROCESS. (CIERR 4135) 4136 CS DEVICE 1 IS UNAVAILABLE FOR USE. (CIERR 4136) 4137 DS DEVICE MUST BE OPEN PRIOR TO USE. (CIERR 4137) 4138 USER SPECIFIED TRACE FILE NOT ALLOWED WHEN MORE THAN ONE DEVICE IN DEVICE CLASS. (CIERR 4138) 4139 DS DEVICE 1 CURRENTLY CONTROLLED ELSEWHERE. (CIWARN 4139) 4140 DS DEVICE 1: OPEN/SHUT NOT EXECUTED DUE TO ABOVE. (CIWARN 4140) 4141 DS DEVICE 1: TRACE NOT EXECUTED DUE TO ABOVE. (CIWARN 4141) 4142 DS DEVICE 1: MON/MOFF NOT EXECUTED DUE TO ABOVE. (CIWARN 4142) 4143 DS DEVICE 1: COMP/NOCOMP NOT EXECUTED DUE TO ABOVE. (CIWARN 4143) 4144 DS DEVICE 1: DEBUG NOT EXECUTED DUE TO ABOVE. (CIWARN 4144) 4145 NO DS DEVICES REMAINING TO BE CONTROLLED. (CIWARN 4145) 4146 RETRY OVERRIDES PREVIOUS RETRY FUNCTION. (CIWARN 4146) I I , II "' (, ..:,. '. , II B-5 Error Codes and Messages 4147 EXPECTED AN ":" AS DELIMITER FOR RETRY FUNCTION. (CIERR 4i47) 4148 INVALID RETRY COUNT, MUST SPECIFY "DEFAULT" OR A NUMBER BETWEEN 0 AND 255 INCLUSIVE. (CIERR 4148) 4149 DS DEVICE 1: RETRY NOT EXECUTED DUE TO ABOVE. (CIWARN 4149) 4150 DS INTERNAL FIX NUMBERS DIFFER. (CIWARN 4150) 4151 INCOMPATIBLE OR MISSING NONCRITICAL DS MODULE: DSCOPY, DSTEST, DS2026, OR DS2026cx. (CIWARN 4151) 4152 CRITICAL DS MODULES ARE INCOMPATIBLE, NO CONTROL FUNCTIONS EXECUTED. (CIERR 4152) 4153 MISSING CRITICAL DS SOFTWARE, NO CONTROL FUNCTIONS EXECUTED. (CIERR 4153) 4154 REMOTE PROMPI' MUST BE 1 TO 8 PRINTABLE CHARACTERS. (CIERR 4154) 4155 PROMPT OVERRIDES PREVIOUS PROMPI' FUNCTION(S). (CIEBB 4155) :DSCOPY GENERAL ERROR MESSAGES o 1 4 5 6 7 9 10 11 13 14 16 17 18 19 21 24 25 26 27 28 29 30 33 36 31 38 39 40 41 42 SUCCEEDED. SUCCESSFULLY INITIATED. UNABLE TO OPEN TRANSACTION FILE. (NFTERR 4) UNABLE TO OPEN LIST FILE (DSCOPYI). (NFTERR 5) IC ERROR ON TRANSACTION FILE. (NFTERR 6) TRANSACTION RECORD> 200 CHARS LONG. (NFTERR 7) TEMPORARY TRANSACTION FILE FULL. (NFTERR 9) PARAMETERS IMPLY CONFLICTING MODES. (NFTERR 10) CANIT "RUN" COPY PROCESS IN THIS MODE. (NFTERR 11) UNRECOGNIZED PARAMETER. (NFTERR 13) CONFLICTING OPI'IONS HAVE BEEN SPECIFIED. (NFTERR 14) UNIMPLEMENTED FEATURE. (NFTERR 16) CANNOT CONTACT REMOTE NODE. (NFTERR 17) FILE SYSTEM ERROR ON SOURCE FILE. (NFTERR 18) FILE SYSTEM ERROR ON TARGET FILE. (NFTERR 19) ILLEGAL DSLINE NAME. (NFTERR 21) UNSUPPORTED STANDARD DEVICE TYPE. (NFTERR 24) CAN IT FIND OR OPEN THE SOURCE FILE. (NFTERR 25) CAN IT CREATE OR OPEN THE TARGET FILE. (NFTERR 26) CANNOT CONTACT REMOTE SYSTEM. (NFTERR 27) SOURCE AND TARGET FILES CANNOT BE ACCESSED THROUGH REMOTE FILE ACCESS. (NFTERR 28) COMMUNICATION 10 ERROR. (NFTERR 29) INSUFFICIENT CAPABILITIES. (NFTERR 30) NO SOURCE FILE WAS SPECIFIED. (NFTERR 33) DS/3000 HAS NOT BEEN INSTALLED ON THIS SYSTEM. (NFTERR 36) REMOTE SYSTEM UNABLE TO USE TRANSPARENT MODE. (NFTERR 37) CAN'T FIND THE EXTRA DATA SEGMENT, USE THE DSCOPY INTRINSIC TO INVOKE NFT. (NFTERR 38) INVALID EXTRA DATA SEGMENT CONTENTS, USE THE DSCOPY INTRINSIC TO INVOKE NFT. (NFTERR 39) NEGOTIATIONS FAILED, NO COpy CAN BE PERFORMED. (NFTERR 40) FILE TRANSFER ABORTED. (NFTERR 41) COpy CANCELLED BY USER. (NFTERR 42) B-6 Error Codes and Messages r :DSCOPY INTRINSIC ERROR RETURNS 80 81 82 83 84 85 86 BOUNDS VIOLATION. (NFTERR 80) SPLITSTACK MODE CALLS NOT ALLOWED. (NFTERR 81) FIRST PARAMETER VALUE IS OUT OF RANGE (-1: 6) • (NFTERR 82) SECOND PARAMETER TOO SHORT TO CONTAIN VERSION STRING. (NFTERR 83) HFT PROCESS IS BUSY, CAN'T START NEW TRANSACTION. (NFTERR 84) HFT PROCESS IS NOT RUNNING. (NFTERR 85) ILLEGAL BASIC CALLING SEQUENCE. (NFTERR 86) :DSCOPY INTERNAL ERRORS 101 102 103 104 105 106 107 108 INTERNAL ERROR ON REMOTE SYSTEM. (HFTERR 101) REMOTE SYSTEM NFT VERSION IS INCOMPATIBLE. (NFTERR 102) INTERNAL - STRING STORAGE OVERFLOW. (NFTERR 103) UNABLE TO CREATE TEMPORARY TRANSACTION FILE. (NFTERR 104) AN UNEXPECTED MESSAGE WAS RECEIVED. (NFTERR 105) AN ILLEGAL VALUE WAS RECEIVED IN A MESSAGE. (NFTERR 106) A MESSAGE RECEIVED IN INVALID FORMAT. (NFTERR 107) A REQUIRED ELEMENT WAS MISSING FROM A RECEIVED MESSAGE. (NFTERR 108) 109 NFT PROCESS CREATE FAILED. (NFTERR 109) 110 A'rl'EMPI' TO GET EXTRA DATA SEGMENT FAILED. (NFTERR 110) B-7 DSCONTROL 111I CONSOLE COMMAND I c I Before establishing a DSN/DS communications link, the console operator's :DSCONTROL command must be used to OPEN a line, so ~hat it is available to DSN/DS users. The :DSCONTROL command allows you to enable or disable the DSN/DS subsystem on a specific communications link. For easy reference, format: r • • • • this command is shown in the following SYNTAX Shows the format of the command. PARAMETERS Describes the variables in the command. OPERATION Describes the command in detail. EXAMPLES Shows the command in use. C-l :DSCONTROL SYNTAX :DSCONTROL dsdevice;function [;function [; .•• function]] where the command syntax has the following meaning: function OPEN [,open option [, ••. open option]] SHUT TRACE,ON [trace options] TRACE ,OFF COMP NOCOMP MON [,mon option] MOFF RETRY=[retry option] open option MASTER SLAVE [SPEED=] linespeed trace options [,[ALL] [,[mask] [,[numentries] [,[WRAP] [,filename]]]]] mon option DS CS retry option DEFAULT count PARAMETERS dsdevice The logical device number or the device class name of the DSN/DS communications device. On your system's I/O configuration listing, the device is back referenced by a pound sign (I) to a previously defined INP, HSI, or SSLC. (Required parameter.) OPEN Establishes a communication link with another HP 3000. Makes the line available for remote communication via the DSN/DS Subsystem. (Required parameter.) C-2 :DSCONTROL SHUT Initiates an orderly line shutdown. Refer to OPERATION for details about the line closing procedure. MASTER Limits DSN/DS requests only. are allowed. SLAVE Limits DSN/DS line slave requests only; activity is allowed. Default: linespeed line activity to outgoing No incoming slave sessions activity to incoming no outgoing master Both MASTER and SLAVE processing are allowed. Transmission rate in characters per second. This parameter is effective only if your system generation for the line selected SPEED CHANGEABLE. Specify linespeed if yours is a European installation with modems running at half speed, or if the line is hardwired and you want to override the configured default. It may be necessary to include this parameter if the length of cables used for HSI communications has been changed since the system was configured. HSI speed: 250,000 (cable lengths less than 1000 ft.) 125,000 (cable lengths greater than 1000 ft.) INP or SSLC speed: 250, 300, 600, or 1200 Remember, both ends of the operate at the same speed. Default: TRACE ,ON line must System configuration values. Activates the TRACE facility to provide a record of communications activities. Trace parameters are positional. The line must already be open, or the OPEN keyword must also be included (to open the line). C-3 :DSCONTROL ALL Generates activity. trace records Default: Records are transmission errors. mask for all written only line for An octal number preceded by a percent sign (%nn). Used to select type of trace entries generated. Refer to Appendix D for an explanation of the mask bits. Default: numentries 24. (See OPERATION.) Trace entries that record overlay the entries. Default: filename PSTN). Decimal integer for the maximum number of entries in a trace record, not greater than 248. Default: WRAP %37 (all except overflow the trace prior trace record Overflow entries are discarded. A name for the trace file. Default: DSTRCxxx.PUB.SYS (where xxx is the ldn ot the dsdevice). TRACE ,OFF Deactivates the TRACE facility, so that no records are kept of DSN/DS actions, states, and events. Also closes the trace file. COMP Activates the data for all line users. open to use COMPo NOCOMP Deactivates the data compression facility for all line users. The line need not be open to use NOCOMP. c-4 compression facility The line need not be :DSCONTROL MON [,DS ] ,CS Activates internal communication monitoring activity to give additional information on a subsequent cold dump of the system. The line must be open for the use of MON. MON Requests monitoring levels of activity. NON,DS Requests monitoring at the DSN/DS level of internal software operation. MON,CS Requests monitoring at the Communication System level of internal software operation. Default: of all No monitoring. Used only for system troubleshooting. NOFF Deactivates internal DSN/DS monitor records. Line must be open for the use of MOFF. ~. RETRY= [DEFAULT] count Changes the communications error retry count to the specified value. The retry counter controls the number of times the system attempts to send or receive a message across a DS line. DEFAULT Specifies a limit of 15 retries when a line error occurs. count Can be any value range of 0 to 255. Default: 15. C-5 within the :DSCONTROL OPERATION Unless :DSCONTROL is issued from the master console. this command requires the user to have CS capability. In addition. all users except the console operator are granted access to :DSCONTROL only if they are ALLOWed 'to use the command and are ASSOCIATEd with the specified DS device. Only one DSN/DS communications device can be active (OPEN) on a controller at any given time. Once opened (with the :DSCONTROL command), a communications link can be shared by multiple DSN/DS users. It cannot, however, be shared by users of other communications subsystems supported by your system (for example, DSN/MRJE) • ·Thus. you must SHUT the DSN/DS communications device before the controller can be opened for use by another subsystem. Before issuing a :DSCONTROL command, use the :SHOWDEV command to check whether a communications link is already established. The ldn for the INP. SSLC, or HSI port will be UNAVAILable if the communications link is in use by any subsystem; the ldn for a DSN/DS communication pseudo device (driver IODSO or IODSX) will be AVAILable if it is currently OPEN for use by DSN/DS users. If a DS device class includes more than one DS device. the functions specified in the :DSCONTROL command apply to all devices i.J\ that class. If you have not been ALLOWed to use this command, you can only control those devices in the device class with which you have been ASSOCIATEd (if any). If you include more than one function in a :DSCONTROL command. each function (with its subparameter list) must be separated by a semicolon. A function that duplicates or conflicts with a previous function overrides that function. Functions can appear in any order but are executed in the following order: 1. OPEN/SHUT 2. TRACE 3. MON/HOFF 4. COMP/NOCOMP The SPEED= keyword in the open option may be omitted from a : DSCONTROL command. For example. the following two commands have exactly the same effect: :DSCONTROL 60;OPEN.MASTER,SPEED=25000 :DSCONTROL 60;OPEN,MASTER,25000 c-6 :DSCONTROL The name of the trace file is: DSTRCxxx. PUB. SYS where xxx is the logical device number of the dsdevice. If no trace file exists when you turn on the trace facility and you do not specify numentries, the system creates a file to hold 24 entries in each record. The SHUT parameter initiates an orderly line closing procedure. If no sessions or applications are using the line when you shut it, line disconnection occurs immediately. If any user (including applications) has the line open, the line remains connected until all sessions and applications CLOSE the line, or until those accessing the line terminate or are aborted. Once closed by the console operator, no new users may access the line until the operator reopens it. When using the X.25 capability of DSN/DS, the SHUT parameter disconnects the line immediately, even if there are current users on the line. NOTE Occasionally you may not be able to SHUT a standard (non-X. 25) DS line. This could happen, for example, if a DS user forgot to issue a :DSLINE xxx;CLOSE command but still has a local session. It could also happen if a remote session is IIhung". In such a situation, you can "KILL" all activity across the line by issuing an :ABORTIO xxx (where xxx is the logical device number of the dsdevice). Following the use of the :ABORTIO xxx command, a second :DSCONTROL xxx; SHUT command will complete successfully. C-7 :DSCONTROL EXAMPLES To open DS line number 55, thereby making it available for use by the DSN/DS Subsystem, enter: :DSCONTROL 55;OPEN To permit the local HP 3000 to process requests on DS line number 55, enter: on~ master (outgoing) :DSCONTROL 55;OPEN,MASTER To activate the CS Trace facility for DS line 55 already open), enter: (the line is :DSCONTROL 55;TRACE,ON,ALL To open DS line 55 and activate CS Trace with a maximum of 250 entries in a trace record, enter: :DSCONTROL 55;OPEN;TRACE,ON",250 To open the line named REMSYS and provide internal monitoring, enter: :DSCONTROL REMSYS;OPEN;COMP;MON C-8 compression and DSDUMP IliaI ,I The DSDUMP program is a CS Trace Facility analyzer that formats and dumps DSN/DS messages from a CS Trace file. DSDUMP is a support tool to be used in conjunction with CSDUMP (not as a replacement for CSDUMP). The program can be run either interactively or in batch mode. DSDUMP has several commands that allow you to specify certain messages to be formatted. In addition to the formatted DS messages, the OPR id and CMP id, as well as any error code for the formatted DS message, is printed. However, the OPR id is not printed when the ERRORS option is turned on, but the OPR id for any DS message should be obvious. When the DSDUMP program is being run in a job, a file equation is needed for the CSTRACE file. Otherwise, the file equation is optional, since you will be prompted for the CSTRACE file name if the FOPEN to the CSTRACE file fails. The file equation for the CS Trace tile is: :FILE CSTRACE=CS trace file name DSDUMP COMMANDS The commands used with the DSDUMP program are as follows: CLEAR Resets all options to their default values. DATA= Places a limit on the number of words in the data section to be printed per DS message. DISPLAY Shows the status of all commands and parameters. ERRORS To format only those DS messages whose completion entry has an error code not equal to zero. EXIT Terminates the program. This command may be used any time the user is prompted. GO To get out of the Command Interpreter and start the dump. D-l 0 DSDUMP HELP For an explanation of the commands. HELP does not accept any parameters. (Only allowed in a session. ) ONES To include idle (-1) DS messages in the dump. default is to exclude these messages. NEWDEV To specify a new output device. a session.) NEWFILE To change CSTRACE files. session. ) PINS= To format only those DS messages whose To or From PIN is equal to one of the specified PINs. (A maximum of ten PINs is permitted.) RANGE To find the trace times of the first and last entries. TIMES= To format only those DS messages whose trace times are within the specified range. TYPES= To format only the specified type of DS messages. The parameters for the TYPES= command are: The (Only allowed in (Only allowed in a COMMANDS Formats the REMOTE command, Remote HELLO, Remote BYE, Control-Y message, BREAK message, RESUME message, ABORT message, KILLJOB message, and First Slave DSOPEN. PTOP Formats PREAD, PWRlTE, PCONTROL, POPEN, PCLOSE , ACCEPT t and REJECT. RFA Formats RFA and IMAGE messages. RTE Formats RTE DS messages. QTOQ Formats QTOQ (NFT) DS messages. TERMINAL Formats PRINT messages, READ and READX messages, and FCONTROLs to the terminal. Several commands can be combined on one line if they are delimited (separated) with a semicolon (;). All parameters for a command must be on the same line. When the PINS= command or the TYPES= command are entered several times, they do not cancel the previous command, but instead they are added to the previous parameters. The PINS= command checks for duplicate PINs. A new TIMES= or DATA= command, however, does replace the previous command. If a colon <:) is typed in the first column of a line, D-2 OSOUMP that line is assumed to contain an MPE command. An End-of-File will initiate the dump. The default designator is $STDINX. The command file may be equated to $NULL if no options are desired. If you are having all messages formatted (including idle messages), then sequence numbers will be included in the output. The file equation for the Command Interpreter is: :FILE COMFILE=command file name OPERATION When the OSOUMP program begins, a procedure is called to read the driver name from the first COPEN intrinsic entry. This begins in word 5. The WHO intrins ic is used to determine whether it is in batch mode or interactive mode. If it is interactive, you are queried as to where you want your output sent. After the FOPEN for the output is done, the Command Interpreter is called. Then, after the commands are read, the program processes the data. There is a procedure for HSI drivers and another for INP and SSLC drivers. ~. The procedure for the HSI driver entries does a search for STX and EDT entries. EDT entries contain receive-text DS messages if word 5 is a %12. EDT's word 6 contains the length of the OS message before truncation. If this length is greater than 26 bytes (the maximum number of bytes for which the data segment has space), the length is set to 13 words. The length of STX OS messages is determined by bits 11:5 of word 0 of the entry. This is the length of the entire entry. The length of the header (five) is subtracted from this value to get the length of the OS message. The OS message is simply extracted "as is" and the FORMAT procedure is called to output it. The procedure for traces from INP and SSLC drivers looks for STX and RTX entries •. When they are found, their data section is searched for protocol start-texts (OLE STX). The data from this point until a corresponding entry's protocol end-text (OLE ETX) is found is then put into a buffer, omitting any control characters. When the ETX is found, the FORMAT procedure is called to format the OS message(s). Both procedures check for overlaid or truncated records, as well as searching for OPR id and eMP ide It is these procedures which also handle the TIMES= and ERRORS options. D-3 DSDUMP Preparation The DSDUMP program file is prepared with STACK=3000 and 25000. MAXD~A= Running the Program Interactively When the DSDUMP program is being run interactively, it is not necessary to specify any file equations. DSDUMP commands can be read from a file, but a file equation for the output file is not permitted. The program will ask you whether you want the output to go to the terminal or to the printer. If you don't specify a device, the program defaults to LP. If no priority is specified, the default is 6. After the FOPEN has been performed, you will be prompted for commands. If the output is going to the printer, all DSDUMP commands are echoed. If the output is going to the terminal, then after all messages have been listed, the CSTRACE file is rewound and control goes to the Command Interpreter. Also, when output is going to the terminal, typing a Control-Y will cause the CSTRACE file to be rewound and contol to go to the Command Interpreter. When the program returns to the Command Interpreter (CI), the input is then read from $STDINX rather than COMFILE. Streaming the Program A file equation for the CS trace file is required for batch jobs. However, file equations for the command input file and the output files are optional, since the default designators are $STDINX and $STDLIST. The formal designator for the list file is DSLIST. The HELP, NEWDEV, and REWFILE commands are ignored in batch mode. Any error in the command file will terminate the program. If command input is supplied on $STDINX, it must be terminated by :EOD if the GO command is not used. Output Output on the printer includes the name of the CS trace file and the date of the trace file in the heading. Also included is the CS LDEV and the name of the driver. Messages from sent-text entries appear on the left side and received messages are on the right side. D-4 DSDUMP r· Operating Tips When us ing the TIMES= command, be sure to spec ify the upper bound a little higher than you actually want it. This is to ensure that you get all the desired entries. This technique is necessary because the clock on the INP is accurate to hundredths of seconds while the mainframe clock is accurate to milliseconds, and DSDUMP tests the millisecond trace times against an upper bound that is accurate to hundredths of seconds. It is also possible that you may not get all the messages you wanted if you use the TIMES= command when the trace has already been running for a while. This is a result of the INP and mainframe clocks getting out of synchronization, which can cause later trace times to be less than previous trace times. There is still a possibility that DS messages can be truncated by DSDUMP (as it was with CSDUMP) if the numentries parameter in the DSCONTROL statement is small. Therefore, take caution to prevent misinterpretation of later messages. D-5 .,~ SYSTEM VERIFICATION I~ Both the system software and the physical link connecting the computers can be tested with a diagnostic program called DSTEST. DSTEST conducts a simple, yet effective, test of the system, including Remote File Access (RFA) and Program-to-Program (PTOP) communications. DSTEST can run in Diagnostic or Normal mode. In the Diagnostic mode of DSTEST, you can select the number of passes, the word pattern to be transmitted, the mode of transmission, and the block size. In the Normal mode, DSTEST automatically assigns typical values for each option. An additional entry point provides a report of the version and fix level of DS and CS software installed on a system. NOTE To perform DSTEST, you must have a remote session. Also, remote command execution can be used independently of DSTEST for checkout of the various system configurations. SOFTWARE VERSION REPORT The DSTEST program has an alternate entry point which provides a list of the software module version numbers for the DSN/DS modules installed on your system. This list must be available for all troubleshooting activities, and it must accompany each Service Request (SR) that you submit to your HP Systems Engineer (SE). In order to obtain the list, you must have READ access to the DSN/DS program files in PUB. SYS. The command syntax is: :RUN DSTEST.PUB.SYS,VERS r E-l System Verification Version Report Example :RUN DSTEST.PUB.SYS,VERS HEWLETT PACKARD 32190A.03.04 DSTEST/3000 THO, OCT 7,1982, 1:18 PM MODULE VERSION SL MODULE 00 A.04.01, SL MODULE 01 A.04.01, SL MODULE 02 A.04.01, DSCOPY A.04.01, DSMON A.04.01, DSTEST A.04.01, DS2026 A.04.01, DS2026cN A.04.01, DSDUMP A.04.01, IODSO A.04.01, IODSTRMO A.04.01, DSMONX A.04.01, IODSX A.04.01, IODSTRMX A.04.01, IOPADO A.04.01, NETCONF A.05.03, CS A.05.03, INTERNAL INTERNAL INTERNAL INTERNAL INTERNAL INTERNAL INTERNAL INTERNAL INTERNAL INTERNAL INTERNAL INTERNAL INTERNAL INTERNAL INTERNAL INTERNAL INTERNAL FIX FIX FIX FIX FIX FIX FIX FIX FIX FIX FIX FIX FIX FIX FIX FIX FIX 002 002 000 001 002 001 000 000 000 000 001 007 005 002 005 000 000 END OF PROGRAM .DIAGNOSTIC MODE To run the diagnostic mode, perform the following steps: 1. Enter the following line to initiate the line test: :RUN OSTEST, DIAG If you are testing RFA, a :FILE command is required before initiating the DSTEST to. direct the accessed file to the proper OS line. The file equation is: :FILE REMOTE;DEV=dsdeviceiDISC E-2 System Verification 2. Answer the following questions: .RFA or PrOP? Enter RFA for Remote File Access or enter PrOP for Program-to-Program testing • •REMOTE COMPUTER? Enter "3000" or "1000" • .DSLINE? Enter the device class, logical device number, or node name that was assigned to IODSO or IODSX during system configuration • •NUMBER OF PASSES? Enter the number of actual transmissions desired, up to a maximum of 32767 (decimal). Zero (0) or a carriage return causes the test pattern to be transmitted once • •PATl'ERN? Enter an octal word to be trans ferred (the % sign must be entered). NOTE Illegal input causes the message INPUT ERROR to be printed. Enter a correct value or enter a carriage return to specify the default value ~177777. .BLOCKSIZE? Enter the desired blocksize of the transfer «4096). a value equal to or greater than 4096 is entered, an error message will be printed. r E-3 If System Verification .CONTINUE(Y/N)? Enter an affirmative response (Y) to return to the beginning of the option selection phase if you wish to repeat the cycle, or enter a negative response (N) to terminate the test. NORMAL MODE To run the normal mode, perform the following steps: 1. Enter the following line to initiate the DSTEST: :RUN DSTEST In the normal mode, you are not required to select options; the default values are automatically used. 2. Answer the following question: •DSLINE? Enter the device class, logical device number (decimal), or node name that was assigned to IODSO or IODSX during system configuration. NOTE The normal mode default is a 512-word program-to-program transfer with all words containing ~111771. E-4 r D_S_N/_DS_C_O_BO_L_IN_T_ER_F_AC_E_I~ _____ CONVENTIONS To call an external procedure from ANS COBOL (COBOL/I), the parameters must be passed by word reference. This requirement effectively prevents the COBOLII user from calling system-level intrinsics in general, and specifically, the DSN!DS Program-toProgram intrinsics. The following interface routines are provided to allow the ANS COBOL user access to the program-to-program communications capability. The user of COBOL 1I/3000 need not use these interface intrinsics, since the call-by-value capability can access the Program-to-Program intrinsics (as outlined in the COBOL/II Reference Manual). The parameters in the COBOL calling following types: sequences must be of If the parameter is an integer, it must be a COBOL picture through 9(4) or S9(3) computational, synchronized. the 9 If the parameter is a character string, it must be defined as COBOL picture X(n) or A(n), where n is large enough for the required number of characters. In the following parameters, those not specifically characters will be assumed to be integers. defined as It is assumed that the user is already familiar with DSN!DS, in general, and the program-to-program intrinsics, specifically. Information regarding formal usage or content of the interface intrinsic parameters can be found in Section V. r F-l DSN/DS COBOL Interface COMMON PARAMETERS Parameters whose use is the same through all the procedures are: eCODE - integer (required) The condition code returned by the PTOP intrinsic. -1 = ceL o = eCE 1 = CCG DSNUM - integer (required) The number returned by CPOPEN, and which is required tor all subsequent master PTOP calls. The number is always 0 for slave programs. ITAG - A 20-word integer field (optional). TARGET - A character field used for reading or writing data (required) • TCOUNT - The number of words or bytes to be read or written (required) • Words are a positive integer; bytes are negative. INTERFACE INTRINSICS CPOPEN This procedure is the COBOL callable interface to POPEN. Calling Sequence: CALL "CPOPEN" USING CCODE, DSNUM, DSDEVICE, PROGNAME, ITAG, ENTRYNAME, PARM, FLAGS, STACKSlZE, DLSlZE, MAXDATA, BUFFSlZE Where: DSDEVICE is a character field containing the node name, device class, or logical device number of the desired DS line. PROGNAME is a character field containing the name by a space) of the remote slave program. ITAG is the 20-word integer field sent to and the remote program. F-2 (terminated received from DSN/DS COBOL Interface ENTRYNAME is the character field specifying the secondary entry point (or spaces) where the remote program will begin execution. It is ignored if the slave system is an RTE system. PARM is an integer value to be placed in Q-4 of the slave program. It is ignored if the slave system is an RTE system. FLAGS, used to of this usage. STACKSIZE, DLSIZE, and MAXDATA are all MPE parameters specify slave program loading options. See Section V manual or the MPE Intrinsics Reference Manual for It is ignored if the slave system is an RTE system. BUFFSIZE is an integer specifying the maximum number of words which will be transferred by any of the PTOP intrinsics. CPREAD This procedure is the COBOL callable interface to PREAD. Calling Sequence: CALL "C PREAD" USING CCODE, DSNUM, LENGTH, TARGET, TCOUNT, ITAG Where: LENGTH is the actual number of words or bytes (depending on the value of TCOUNT) read into TARGET. (Required.) CPWRITE This procedure is the COBOL callable interface to PWRITE. Calling Sequence: CALL II CPWRlTE II USING CCODE, DSNUM, TARGET, TCOUNT, ITAG CPCONTROL This procedure is the COBOL callable interface to PCONTROL. Calling Sequence: CALL "CPCONTROL II USING CCODE, DSNUM, ITAG F-3 DSN/DS COBOL Interface CPCLOSE This procedure is the COBOL callable interface to PCLOSE. Calling Sequence: CALL "CPCLOSE" USING CCODE, DSNUM COET This procedure is the COBOL callable interface to GET. Calling Sequence: CALL t1CGET" USING CCODE, I FUN , I TAG , IL, IONUMBER Where: IFUN is the function number of the current pending PTOP operation. (Required.) o = An error occurred. This value is returned only when the condition code CCL is also returned. Issue a PCHECK intrinsic call (with a dsnum parameter of zero) to determine what happened. 1 = POPER request received. 2 = PREAD request received. 3 = PWRlTE request received. 4 = PCONTROL request received. 5 = This value is returned only when the condition code CCG is also returned. It indicates that a pending MPE File System I/O without wait request was completed (instead of the expected remote DSN/DS I/O request). ionumber contains the file number associated with the completed I/O request. IL is the number of words sent by a words requested by a PREAD. IONUMBER PWRlTE or the number of is the file number of a non-DS file which an I/O without wait. completed CACCEPT This procedure is the COBOL callable interface to ACCEPT. Calling Sequence: CALL "CACCEPT" USING CCODE, ITAG , TARGET, TCOUNT F-4 DSN/DS COBOL Interface CREJECT This procedure is the COBOL callable interface to REJECT. Calling Sequence: CALL "CREJECT" USING CCODE, ITAG CPCHECK This procedure is the COBOL callable interface to PCHECK. Calling Sequence: CALL "CPCHECK" USING CCODE, DSNUM, ICODE Where: DSNUM is an integer. For a master program, this number is returned by the CPOPEN call. (Required.) For a slave program, this number is always o. (Optional.) I CODE is an integer identifying the last error encountered. The error code meanings are given in Appendix B, under "DSN/DS Functional Errors". EXAMPLE The following example illustrates how two COBOL programs, residing on two HP 3000 computers, pass data back and forth. These two programs demonstrate and test the intrinsics available to the user of the COBOL Program-to-Program facility of DSN/DS. The Slave program must be entered on the remote system, compiled, and PREPed before the test. The PREPed file must then be made a permanent file. In this example, the MPE commands were: :COBOL COBOLSS (COBOL Slave Source) :PREP $OLDPASS, COBOLS :SAVE COBOLS The Master program must then be entered, run on the local system. compiled, PREPed, and A brief outline of the test is as follows: 1. The Master program opens the Slave program with CPOPEN. The ITAG array is filled with the value of the subscript of each array element, and the CPOPEN intrinsic is called. The Slave displays certain parameters involved in the opening. Then the Master also displays the value of the parameters used for F-5 DSN/DS COBOL Interface opening the remote program. After each call is made to a COBOL intrinsic, the status of the call is checked in the STATUS-CK-RTN paragraph. 2. The Master next tests the CPREAD intrinsic by requesting that a message from the Slave be sent back. 3. CPWRITE is tested by sending a message to the Slave. The Slave then displays the message as it was received to demonstrate the validity of the text. 4. The CREJECT-TEST paragraph of the Master is used to test the CPREJECT intrinsic available to the Slave as well as the CPCONTROL intrinsic of the Master. The value 14 is moved into the first element of ITAG and CPCONTROL is called. Within the paragraph that handles a call to CPCONTROL, the Slave tests this value and rejects the request. 5. The master then calls CPCLOSE to close the remote program before terminating itself. The individual programs are shown on the following pages. Master PTOP Program 001000$CONTROL USLINIT,SOURCE,MAP 001100 IDENTIFICATION DIVISION. 001200 PROGRAM-ID. MASTER-COBOL. 001300 ENVIRONMENT DIVISION. 001400 DATA DIVISION. 001500************************************ 001600 001700 001800 001900 002000 002100 002200 002300 002400 002500 002600 002700 002800 002900 WORKING-STORAGE SECTION. 77 CCODE PIC S99 77 DSNUM PIC S99 77 PARAH PIC S99 77 FLAGS PIC S99 77 STACKSIZE PIC S9(4) 77 DLSIZE PIC S9(4) 77 MAXDATA PIC S9999 PIC S999 77 BUFSIZE 77 LGTH PIC S99 77 ICODE PIC S99 77 TCOUNT PIC S99 77 I PIC S99 77 DATA-BUF PIC X(66) 003100 003200 003300 003400 003500 003600 003700 77 77 77 77 77 77 77 COMP COMP COMP COMP COMP COMP COMP COMP COMP COMP COMP COMP VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE o. o. o. 33. IS -1. IS -1. IS 8000. IS 304. o. o. IS 33. o. SPACES. 003000********************************************** A-DOLLAR K-DOLLAR M-DOLLAR O-DOLLAR R-DOLLAR S-DOLLAR W-DOLLAR PIC PIC PIC PIC PIC PIC PIC X(12) X(12) X(26) X(11) X(11) X(18) X(12) VALUE VALUE VALUE VALUE VALUE VALUE VALUE F-6 "« ACCEPT »". "II PCHECK ,,". """"'" MASTER "" POPEN ,,". "" PREAD ,,". "" STATUS CHECK ,,". "" PWRITE ,,". "###,,,,". DSN/DS COBOL Interface r ~. "II. 003800 77 CO-DOLLAR PIC X(14) VALUE "', PCONTROL 003900 77 C9-DOLLAR PIC X(12) VALUE "" PCLOSE ''". 004000 77 Dl-DOLLAR PIC XXXX VALUE INDY 004100 77 EO-DOLLAR PIC XX VALUE 004200 77 PO-DOLLAR PIC X(7) VALUE "COBOLS ". 004300 77 RO-DOLLAR PIC X(12) VALUE "« REJECT »". 004400********************************************** 004500 01 ITAG-ARRAY. 004600 02 ITAG-ARRAY-MEM PIC 99 OCCURS 20 TIMES. 004700********************************************** 004800* PROCEDURE DIVISION - * 004900********************************************** 005000 PROCEDURE DIVISION. 005100 DRIVER-PARA. 005200 PERFORM ISSUE-AN-OPEN. 005300 PERFORM ISSUE-A-READ. 005400 PERFORM ISSUE-A-WRITE. 005500 GO TO CREJECT-TEST. 005600 GO TO PCLOSE-CALL. 005700 ISSUE-AN-OPEN. 005800 DISPLAY M-DOLLAR. 005900 DISPLAY O-DOLLAR. 006000 PERFORM LOOPI VARYING I FROM 1 BY 1 UNTIL 006100 I IS GREATER THAN 20. 006200 DISPLAY TAG TO BE SENT: ". 006300 DISPLAY ITAG-ARRAY. 006400 CALL "CPOPEN" USING CCODE, DSNUM, Dl-DOLLAR, PO-DOLLAR, 006500 ITAG-ARRAY, EO-DOLLAR, PARAH, FLAGS, STACKSIZE, DLSIZE, 006600 MAXDATA, BUFSlZE. 006700 DISPLAY O-DOLLAR. 006800 DISPLAY CCODE=", CCODE, DSNUM=", DSNUM, 006900 PARAH=", PARAM. 007000 DISPLAY FLAGS=", FLAGS, " STACKSIZE=", STACKSlZE. 007100 DISPLAY DLSlZE=II, DLSIZE, .. MAXDATA=", MAXDATA. 007200 DISPLAY" BUFSlZE=", BUFSlZE, LGTH=", LGTH. 007300 DISPLAY" PROGNAME=", PO-DOLLAR. 007400 DISPLAY " ITAG-ARRAY RECEIVED: 007500 DISPLAY ITAG-ARRAY. 007600 PERFORM STATUS-CK-RTN. 007700 ISSUE-A-PREAD. 007800 DISPLAY R-DOLLAR. 007900 PERFORM LOOPI VARYING I FROM 1 BY 1 UNTIL 008000 I IS GREATER THAN 20. 008100 DISPLAY "ITAG TO BE SENT: 008200 DISPLAY ITAG-ARRAY. 008300 CALL "CPREAD" USING CCODE, DSNUM, LGTH, DATA-BUF, 008400 TCOUNT, ITAG-ARRAY. 008500 DISPLAY" CCODE=", CCODE, DSNUM=", DSNUM, 008600 LGTH=", LGTH. 008700 DISPLAY DATA RECEIVED FROM SLAVE: " 008800 DISPLAY DATA-BUF. 008900 DISPLAY ITAG RECEIVED: .. 009000 DISPLAY ITAG-ARRAY. 009100 PERFORM STATUS-CK-RTN. 009200 ISSUE-A-WRITE. I II II • ". II r II II II II II II ~ II II. II II II II ~ F-7 DSN/DS COBOL Interface 009300 009400 009500 009600 009700 009800 009900 010000 010100 010200 010300 010400 010500 010600 010700 010800 010900 011000 011100 011200 011300 011400 011500 011600 011700 011800 011900 012000 012100 012200 012300 012400 012500 012600 012700 012800 012900 013000 013100 013200 013300 013400 013500 013600 DISPLAY W-DOLLAR. PERFORM MULTIPLY-LOOP VARYING I FROM 1 BY 1 UNTIL I IS GREATER THAN 20. DISPLAY ITAG TO BE SENT: ". DISPLAY ITAG-ARRAY. MOVE "THIS -IS THE DATA FROM PWRlTE TEST. TO DATA-BUF. CALL "CPWRlTE" USING CCODE, DSNUM, DATA-BUF, TCOUNT, ITAG-ARRAY. DISPLAY" CCODE=", CCODE, DSNUM=", DSNUM. DISPLAY ITAG RECEIVED: " DISPLAY ITAG-ARRAY. PERFORM STATUS-CK-RTN. CREJECT-TEST. DISPLAY CO-DOLLAR. MOVE SPACES TO ITAG-ARRAY. MOVE 14 TO ITAG-ARRAY-MEM(l). DISPLAY "ITAG TO BE SENT: DISPLAY ITAG-ARRAY. CALL "CPCONTROL" USING CCODE, DSNUM, ITAG-ARRAY. PERFORM STATUS-CK-RTN. STOP RUN. LooPI. MOVE I TO ITAG-ARRAY-MEM(I). MULTIPLY-LOOP. MULTIPLY 2 BY ITAG-ARRAY-MEM(I). STATUS-CK-RTN. IF CCODE IS LESS THAN ZERO GO TO SOMETHING-WENT-WRONG. IF CCODE IS GREATER THAN ZERO GO TO REQUEST-REJECTED. DISPLAY S-DOLLAR, "EVERYTHING OKAY". REQUEST-REJECTED. DISPLAY S-DOLLAR, "REQUEST REJECTED BY SLAVE". GO TO PCLOSE-CALL. SOMETHING-WERT-WRONG. DISPLAY S-DOLLAR, "CCL--SOMETHING IS WRONG". CALL "CPCHECK" USING CCODE, DSNUM, ICODE. DISPLAY K-DOLLAR, CCODE=", CCODE, .. ICODE=", ICODE. PCLOSE-CALL. DISPLAY C9-DOLLAR. CALL "CPCLOSE" USING CCODE, DSNUM. DISPLAY" CCODE=", CCODE, .. DSNUM=", DSNUM. STOP RUN. II II II II It. II F-8 DSN/DS COBOL Interface r ~ Slave PTOP Program 001000$CONTROL USLINIT,SOURCE 001100 IDENTIFICATION DIVISION. 001200 PROGRAM-ID. SLAVE-COBOL. 001300 ENVIRONMENT DIVISION. 001400 DATA DIVISION. 001500******************************************** 001600 WORKING-STORAGE SECTION. 001700 77 T PIC S99 USAGE COMP. 001800 77 I PIC S99 COMP VALUE o. 001900 77 CCODE PIC S99 COMP VALUE O. 002000 77 IFUN PIC S9 COMP VALUE O. 002100 77 IL PIC S99 COMP VALUE O. 002200 77 IONUMBER PIC S99 COMP VALUE o. 002300 77 ICODE PIC S99 COMP VALUE o. 002400 77 DSNUM PIC S99 COMP VALUE o. 002500******************************************** 002600 77 C-DOLLAR PIC X(ll) VALUE CHECK 002700 77 G-DOLLAR PIC X(9) VALUE 11,# GET 002800 77 A-DOLLAR PIC 1(12) VALUE .." ACCEPr 002900 77 R-DOLLAR PIC 1(12) VALUE "'# REJECT "t1. 003000 77 S-DOLLAR PIC X(25) VALUE """"", SLAVE ""","". 003100******************************************** 003200 7700-DOLLAR PIC X(11) VALUE 11« POPEN »11. 003300 77 CO-DOLLAR PIC X(14) VALUE t1« PCONTROL »t1. 003400 77 SO-DOLLAR PIC X(18) VALUE STATUS CHECK ,,". 003500 77 RO-DOLLAR PIC X(11) VALUE t1« PREAD »t1. 003600 77 WO-DOLLAR PIC X(12) VALUE t1« PWRITE »". 003700******************************************** 003800 01 DATA-ARRAY. 003900 02 DATA-ARHAY-MEM PIC 99 OCCURS 33 TIMES. 004000 01 ITAG-ARRAY. 004100 02 ITAG-ARRAY-MEM PIC 99 OCCURS 20 TIMES. 004200*************************************************** 004300* PROCEDURE DIVISION * 004400*************************************************** 004500 PROCEDURE DIVISION. 004600 START-OF-SLAVE. 004700 DISPLAY S-DOLLAR. 004800 CALL "CGET USING CCODE, lFUN, ITAG-ARRAY, IL, IONUMBER. 004900 DISPLAY G-DOLLAR. 005000 PERFORM PRINT-GET-PARAMS THROUGH CHECK-RETURN-CC. 005100 IF CCODE IS NOT EQUAL TO ZERO GO TO CREJECT-PAR. 005200 GO TO POPEN, PREAD, PWRlTE, PCONTROL DEPENDING ON IFUN. 005300 POPER. 005400 DISPLAY S-DOLLAR. 005500 DISPLAY OO-DOLLAR. 005600 MOVE ZEROES TO ITAG-ARRAY. 005700 GO TO CACCEPT-PAR. 005800 PREAD. 005900 DISPLAY S-DOLLAR. 006000 DISPLAY RO-DOLLAR. 006100 PERFORM LOOPl VARYING I FROM 1 BY 1 UNTIL 006200 I IS GREATER THAN 20. III' II" r' I r F-9 "II."II. "ll. DSN/DS COBOL Interface 006300 006400 006500 006600 006700 006800 006900 007000 007100 007200 007300 001400 001500 007600 007700 007800 001900 008000 008100 008200 008300 008400 008500 008600 008700 008800 008900 009000 009100 009200 009300 009400 009500 009600 009700 009800 009900 010000 010100 010200 010300 010400 010500 010600 010700 010800 010900 011000 011100 011200 011300 011400 PERFORM INCREASE-LOOP VARYING T FROM 1 BY 1 UNTIL T IS GREATER THAN IL. GO TO CACCEPT-PAR. LOOP7. MOVE 7 TO ITAG-ARRAY-MEM(I). LOOP1. MOVE 1 TO ITAG-ARRAY-MEM(I). LOOP2. MOVE 2 TO ITAG-ARRAY-MEM(I). INCREASE-LOOP. MOVE T TO DATA-ARRAY-HEM(T). PWRlTE. DISPLAY S-DOLLAR. DISPLAY WO-DOLLAR. PERFORM LOOP7 VARYING I FROM 1 BY 1 UNTIL I IS GREATER THAN 20. CACCEPT-PAR. CALL "CACCEPT" USING CCODE, ITAG-ARRAY, DATA-ARRAY, IL. DISPLAY A-DOLLAR. PERFORM CHECK-RETURN-CC. IF IFUN = 3 PERFORM PRINT-DATA. GO TO START-OF-SLAVE. CREJECT-PAR. CALL "CREJECT" USING CCODE, ITAG-ARRAY. DISPLAY R-DOLLAR. PERFORM CHECK-RETURN-CC. GO TO START-OF-SLAVE. PCONTROL. DISPLAY CO-DOLLAR. IF ITAG-ARRAY-MEM(l) = 14 GO TO CREJECT-PAR. PERFORM LOOP2 VARYING I FROM 1 BY 1 UNTIL I IS GREATER THAN 20. GO TO CACCEPT-PAR. PRINT-DATA. DISPLAY "DATA RECEIVED FROM THE MASTER: " DISPLAY DATA-ARRAY. PRINT-GET-PARAMS. DISPLAY CCODE=", CCODE, IFUN=", IFON, IL=", IL, IONUMBER=", IONUMBER. bISPLAY "ITAG RECEIVED: ". DISPLAY ITAG-ARRAY. CHECK-RETURN-CC. IF CCODE IS NOT EQUAL TO ZERO PERFORM SOMETHING-WENT-WRONG. DISPLAY SO-DOLLAR, "EVERYTHING OKAY". SOMETHING-WENT-WRONG. CALL "CPCHECK USING CCODE, DSNUM, ICODE. DISPLAY C-DOLLAR. DISPLAY" CCODE=", CCODE, " ICODE=", ICODE. ERROR-EXIT. DISPLAY"" SLAVE PROGRAM EXITING ''". STOP RUN. II II It It F-l0 It '-- DSN/DS BASIC INTERFACE I~ CONVENTIONS When parameters are specified in the CALL statement the BASIC/ 3000 Interpreter (and compiled BASIC) sets up a parameter address table. The parameter address table consists of: • The number of parameters. • A code word for each parameter, specifying dimensioning. data type and • A reference pointer to each parameter. See Appendix F of the BASIC/3000 Interpreter Manual. Because the DSN/DS intrinsics are program-to-program, the BASIC/3000 slave must be a compiled and PREPed program. The master program may be either running on the Interpreter or run as a compiled program. It is assumed that the user is already familiar with DSN/DS in general and the program-to-program intrinsics specifically. Information regarding formal usage or content of the interface intrinsic parameters can be found in Section V. COMMON PARAMETERS Parameters whose usage is the same throughout are: CCODE the procedures - integer (required) Condition code returned by the DSN/DS Programto-Program intrinsic. = not -2 = CCL o = CCE 1 = CCG -3 enough user stack for data transfer. G-l DSN/DS BASIC Interface DSNUM - integer (required) The DSN/OS communication line number. (analagous to FOPEN file number) ITAG - integer (optional) A 20-word array. Parameters - The BASIC-DSN/OS interface routines pack and unpack the data specified in the parameter lists of the master and the slave programs. The user must insure that the number of parameters specified on the master and the slave sides are the same and that the data types correspond. If the sending and receiving data types are not the same, the resulting data will be unpredictable. INTERFACE INTRINSICS BPOPEN This procedure is the BASIC callable-interface to POPEN. Calling Sequence: CALL BPOPEN I~'.....J (CCODE,DSNUM,DSDEVICE,PROGNAME [1 :IoTAGI ~ [{ : ~NTRYNAME } [{: ~ARAM} [{:~LAGSI [{:~ACKSIZE} [{:~~SIZE} [{:~ATA} [,BUFFSIZE1]]]]]]]) Where: DSOEVICE string (required). The OS line class, node name, or logical device number (string must have at least one trailing blank). PROGNAME string (required). Name of remote slave program (terminated with a blank). ENTRYNAME string (optional). Secondary entry point into the slave (terminated with a blank). G-2 program DSN/DS BASIC Interface integer (optional). Value placed in Q-4 stack. PARAH FLAGS STACKSlZE DLSlZE HAmATA - BUFSlZE of the slave program MPE parameters used to control slave program loading. See Section V of this manual or the MPE Intrinsics Reference Manual for usage. integer (optional) Maximum number of words per PTOP transfer. BPREAD This procedure is the BASIC interface routine to PREAD. Calling Sequence: CALL BPREAD(CCODE ,DSNUM ,LGTH [{, ITAG} [,param list ,0 ~) Where: LGTH integer (required). Number of words received in transfer. param list ::= param [ , param list] param Any BASIC supported data type (such as, STRING, INTEGER, REAL ARRAY) NOTE The BASIC interface routines: BPREAD, BPWRlTE, and BACCEPT differ significantly from the PTOP intrinsics in the TARGET/TCOUNT vs. parameter list data schemes. The parameter list allows the BASIC user to send and receive heterogeneous data items. A contiguous buffer is built on the User's stack for the transfers. BPWRITE This procedure is the BASIC callable interface to PWRlTE. Calling sequence: CALL BPWRlTE(CCODE'DSNUM [{ ::TAG} [,param list l]) G-3 DSN/DS BASIC Interface BPCONTROL This procedure is the BASIC interface routine to PCONTROL. Calling Sequence: CALL BPCONTROL(CCODE,DSNUM[,ITAG]) BPCLOSE This procedure is the BASIC interface routine to PCLOSE. Calling Sequence: CALL BPCLOSE(CCODE,DSNUM) BGET This procedure is the BASIC interface routine to GET. Calling Sequence: CALL BGET f.\CCODE , IFUN' [,ITAG [',IOL [',IOONUMBERJJJ) ,0 Where: I FUN IL IONUMBER integer (required). Receives the function code from the issued by the remote master program. to Section V for IFUN' meanings.) integer (optional). The number of words BPREAD or BPWRlTE. expected or request (Refer sent on integer (optional) Valid if both CCODE=l and IFUN=5 File number of completed non-DS I/O without wait. BACCEPT This is the BASIC callable interface routine to ACCEPT. Calling Sequence: CALL BACCEPT (CCODE' IFUN [ 'ITAG] ,0 G-4 [,param list l) DSN/DS BASIC Interface BREJECT This is the BASIC callable interface routine to REJECT. Calling Sequence: CALL BREJECT (CCODE [ , ITAG] ) BPCHECK This is the BASIC callable routine to PCHECK. Calling Sequence: CALL BPCHECK(CCODE,DSNUM,ICODE) Where: DSNUM - integer. For a master program, this number is returned by BPOPEN. (Required.) For a slave program, this number is always o. (Optional.) I CODE - integer (required). The number returned identifies the last error encountered. Refer to Appendix B, under the heading IIDSN/DS Functional Errors for meaning. II , EXAMPLES Master PTOP Program MASTER 1 REM:********************************************** 2 REM: 3 REM: 4 REM: MASTER PTOP PROGRAM 5 REM:********************************************** 6 7 8 9 10 11 12 r 13 14 15 16 REM: REM: THIS PROGRAM ISSUES A BPOPEN TO THE SALVE PROGRAM REM: AND USES THE TAG FIELD TO SEND SUBTYPES FOR THE REM: BREAD/BWRITE OPERATIONS. REM: REM: THE SUBFUNCTIONS ARE: REM: WRITE: 1 - CHANGE NAME N1 $ TO N2$ 2 - CHANGE ADDRESS TO A1$ FOR NAME N REM: REM: 3 - ADD PERSON N1$, A1$ 4 - DELETE PERSON N1$ REM: REM: READ: 1 - SEND RECORD FOR NAME Nl$ G-5 DSN/DS BASIC Interface 17 18 19 20 21 22 23 100 101 102 105 110 115 120 125 130 135 150 155 160 165 170 175 200 201 202 203 204 205 210 215 220 225 230 235 240 245 300 301 302 305 310 315 320 325 330 335 340 345 350 400 401 402 405 410 REM: 2 - SEND ALL RECORDS REM: THE TAG RETURN VALUES ARE: REM: 1 - WRITE - OPERATION COMPLETE REM: READ - BUFFER CONTAINS VALID DAT REM: 0 - ON READ (2), MORE RECORDS COMING REM: ( CHANGES TO 1 ON LAST RECORD ) REM: -1 - RECORD NOT FOUND REM:*-*****--***--**_·***·_··_··_·*_·***·***·***** REM: DATA DECLARATIONS REM:***·*··***·************************·********** REM: ***BASIC PTOP INTRINSIC PARAMETERS::: INTEGER C,D,F,IO,L REM: C=CC; D=DSUM; F=FLAGS; IO=ICODE; L=LENGTH INTEGER 11[20] REM: Il[*]=TAG FIELD DIM DO$[4],po$[6] REM: DOS=DSLlNE; PO$=REMOTE PROGRAM (SLAVE) REM: *** LOCAL VARIABLES *** DIM Nl$[20], N2$[20] , A1$[20], R$[40] REM: Nl$, N2$=NAMES; A1$=ADDRESS; R$=FULL RECORD (Nl$, A1$ ) DIM C$[20], N$[22] REM: C$=USER COMMAND/TEn LINE REM: N$=ENTER NAME MESSAGE REM:*****************·******·********************* REM: REM: START OF PROCESSING REM: REM:**************************************·******* REM « INITIALIZATION OF VALUES AND BPOPEN » DO$="PR2 " PO$=IISLAVE " F=32 CALL BPOPEN (C,D,DO$,PO$,O,O,O,F) IF C=O THEN GOTO 300 PRINT "", ERROR ON BPOPEN ###" GOSUB 1900 STOP REM:*******··*****·******************************* REM: WELCOME MESSAGE AND MENU REM:******·*************************************** PRINT "MASTER AND SLAVE PTOP RUNNING" PRINT II " PRINT ..*** OPERATIONS MENU ***" PRINT N - NAME CHANGE" PRINT A - ADDRESS CHANGE" PRINT I - INSERT PERSON" PRINT D - DELETE PERSON" PRINT LN - LIST NAME AND ADDRESS" PRINT LA - LIST ALL NAMES AND ADDRESSES" PRINT EX - EXIT PROGRAM" REM:********************************************* REM: NOW ASK FOR OPERATION REM:********************************************* PRINT " " PRINT "ENTER OPERATION" G-6 ~ ~ ~ ~ ~ DSN/DS BASIC Interface r r ~\ r C' 415 420 425 435 440 445 450 455 460 465 1000 1001 1002 1005 1010 1015 1020 1025 1030 1035 1045 1050 1100 1101 1102 1105 1110 1115 1120 1125 1130 1135 1145 1150 1200 1201 1202 1205 1210 1215 1220 1225 1230 1235 1245 1250 1300 1301 1302 1305 1310 1315 1320 1325 1335 INPUT C$ IF C$[l,l]="N" THEN GOTO 1000 IF c$[l,i]="A" THEN GOTO 1100 IF C$[l,l]="I" THEN GOTO 1200 IF C$[l,l]="D" THEN GOTO 1300 IF C$[1,2]=ILN" THEN GOTO 1400 IF C$[1,2]="LA" THEN GOTO 1500 IF C$[1,2]="EX" THEN GOTO 2000 PRINT "***UNRECOGNIZED OPERATION ***" GOTO 310 REM:******-**--********-********-*****-*-*****--* REM: NAME CHANGE REM:**-******--********-*--*--*******--*-*--**--* PRINT N$ LINPUT H1$ IF 11[1]<0 OR 11[1]>1 THEN GOTO 1900 PRINT "ENTER NEW NAME" LINPUT N2$ Ll[l]=l CALL BPWRITE (C,D,Il[*],N1$,N2$) GOSUB 1900 GOTO 1000 REM:********--***--***-************-*-**-*******· REM: ADDRESS CHANGE REM:-*******_·***********·*****···*·*··*-**·__··PRINT N$ LINPUT 01$ IF N1$="" THEN GOTO 400 PRINT "ENTER NEW ADDRESS" LINPUT A1$ 11[1]=2 CALL BPWRITE(C,D,Il[*],N1$,A1$) GOSUB 1900 GOTO 1100 REM:******************·***********··**********·** REM: INSET NAME REM:**·**·**_·*·*******-**-*-**·_**-*-**********· PRINT N$ LINPUT Nl$ IF N1$="" THEN GOTO 400 PRINT "ENTER ADDRESS" LINPUT A1$ 11[1]=3 CALL BPWRITE(C,D,I1[*],N1$,A1$" GOSUB 1900 GOTO 1200 REM:******************************·*******-****** REM: DELETE PERSON REM:*-·******··_·*****·**·*****·***-*··****··**·· PEINR N$ LINPUT Nl$ IF N1$="" THEN GOTO 400 11[1]=4 CALL BPWRITE(C,D,I1[*],N1$) GOSUB 1900 G-7 DSN/DS BASIC Interface 1340 GOTO 1300 1400 REM:********************************************* 1401 REM: LIST NAME AND ADDRESS 1402 REM:********************************************* 1405 PRINT N$ 1410 LINPUT N1$ 1415 IF Nl$="11 THEN GOTO 400 1420 11[1]=1 1425 CALL BPWRITE(C,D,I1[*],Nl$,Nl$) 1430 IF C=O THEN CALL BPCONTROL(C,D,I1[*]) 1435 IF C<>O OR 11[1]<>1 THEN GOTO 400 1440 L=-80 1445'CALL BPREAD(C,D,LI1[*],R$) 1450 GOSUB 1900 1455 PRINT R$ 1460 GOTO 1400 1500 REM:********************************************* 1501 REM: LIST WHOLE LIST 1502 REM:********************************************* 1505 L=-Bo 1510 11[1]=2 1515 CALL BPREAD(C,D,L,Il[*],R$) 1520 GOSUB 1900 1525 PRINT R$ 1530 IF 11[1]=0 THEN GOTO 1500 1535 GOTO 400 1900 REM:********************************************* 1901 REM: CONDITION CODE AND STATUS CHECK 1902 REM:********************************************* 1905 IF C>O THEN GOTO 1945 1910 IF C 1 THEN GOTO 1930 1920 REM: ***EVERYTHING OKAY *** 1925 RETURN 1930 REM: *** BAD RECORD *** 1935 PRINT "'" NON-EXISTENT RECORD "'" 1940 RETURN 1945 REM: *** CCG *** 1950 PRINT. "'" REQUEST REJECTED BY SLAVE 1955 RETURN 1960 REM: *** CCL *** 1965 CALL BPCHECK(C,D,IO) 1970 PRINT ""11 PTOP ERROR:";IO;"'#II" 1975 RETURN 2000 REM:********************************************* 2001 REM: EXIT 2002 REM:********************************************* 2005 CALL BPCLOSE (C,D) 2010 GOSUB 1900 2015 END ~ ~ 'y ~ ,#'" ~ G-8 DSN/DS BASIC Interface Slave PTOP Program SLAVEBF 1 REM:"""""""""""""""""""""'" 2 REM: 3 REM: SLAVE PrOP PROGRAM 4 REM: 5 REM:"""""""""""""""""""""'" 6 REM: 7 REM: THIS PROGRAM ACEPrS DATA FROM THE MASTER 8 REM: AND ACCORDINGLY CHANGES, INSERTS OR DELETES 9 REM: ENTRIES. IT ALSO TRANSMITS NAME/ADDRESS 10 REM: RECORDS TO THE MASTER. 100 REM:···········_-_··__ ··_······_------*101 REM: DATA DECLARATIONS 102 REM:··_········_*-*---------_·_··_·_··_---------105 REM:··· BASIC PROP INTRINSIC PARAMETERS .** 110 INTEGER C,F,L,IO,I,D 115 REM: C=CC; F=FUNCTION; L=IL; 10=1/0; I=ICODE; D=DSNUM 120 INTEGER 11[20] Il[*]=TAG FIELD 125 REM: 130 REM:_·· LOCAL VARIABLES _•• 135 DIM Nl$[20],N2$[20],A1$[20] 140 REM: Nl$,N2$=NAME; A1$=ADDRESS 145 DIM NO$[50,20],AO$[50,20] 150 REM LIST OF NAMES AND ADDRESSES 155 INTEGER P,S 160 REM: P=LAST RECORD POINTER; S=STATUS 300 REM:·-··**···_·_·*·_··_···_··_--*·__··*·····**·*· 301 REM: START OF PROGRAM 302 REM:·*··_··*·_--*·_-*·_-_··__••__··_·_-*··_····*305 CALL BGET(C,F,I1[·]) 310 GOSUB 1900 315 GOSUB F OF 500,600,700,1100 320 GOTO 300 500 REM:·····*·······_··__··_··*·**_····*·**-**-**·_· 501 REM: BPOPEN 502 REM:-·-*-*-*-*-***--_·_*--**-*··_*··*--*-*·__·_-505 CALL BACCEPl' (C,F) 510 GOSUB 1900 515 FOR P=l TO 12 520 READ NO$[P],AO$[P] 525 NEXT P 530 RETURN 600 REM:*---·_--_··__·_*-_·_--_·_···_*------*-------* 601 REM: READ 602 REM:-*--*·_---_··_--_·*_·**·*··*_··_·__·*··_-**-* 605 IF 11[1]=2 THEN GOTO 650 606 REM:---* LIST SINGLE RECORD ••_* 610 Il[l]=S=l 615 CALL BACCEPl'(C,F,I1[-],NO$[PO],AO$[PO) 620 GOSUB 1900 625 RETURN 650 REM:*-·* LIST ALL RCORDS *_•• 655 IF 8<>0 THEN PO=O ···_*_·__ r' r-' ~ ~ G-9 DSN/DS BASIC Interface 660 665 610 615 680 685 690 100 101 102 105 110 115 120 125 130 135 140 145 150 155 760 165 800 805 810 815 820 825 830 835 840 845 850 845 850 855 860 900 905 910 915 920 925 930 935 940 945 950 955 1000 8=0 PO=PO+l IF PO=P THEN 8=1 Il[l]=S CALL BACCEPT(C,F,Il[-],NO$[PO],AO$[PO]) GOSUB 1900 RETURN REM:·-*--****·_·*··**·*_·_-**_·__·*_·*_·*-_·*_·_-* REM: WRITE REM:--·_·*--**-**·····*_··_-*··*--------_·_*·_-*** GOSUB 11[1] OF 110,800,900,1000 REM:*·*· NAME CHANGE **•• CALL BACCPET(C,F,O,Nl$,N2$) Po=o P9=PO+l IF NO$[PO]=Hl$ THEN GOTO 150 IF PO<> THEN GCTO 125 S=-l RETURH REM:--** FOUND NAME, NOW CHANGE IT *-** NO$[PO]=N2$ S=l RETURN REM:*-*· ADDRESS CHANGE **** CALL BACCPET(C,F,O,Nl$,A1$) GOSUB 1900 PO=O PO=PO+1 IF NO$[PO]=Nl$ THEN GOTO 845 IF PO<>P THEN GOTO 820 8=-1 RETURN REM: ***. FOUND RECORD, NOW CHANGE ADDRESS -**RETURN REM: --** FOUND RECORD, NOW CHANGE ADDRESS **** AO$[PO]=A1$ S=l RETURN REM:--** INSERT NAME *._CALL BACCEPT(C,F,O,Nl$,A1$) GOSUB 1900 IF P=50 THEN GCTO 945 P=P+l NO$[P]=Nl$ AO$[P]=A1$ S=l RETURN REM: -**- LIST ALREADY FULL *_.* 8=-1 RETURN REM:*-** DELETE NAME .*** ~005 CALL BACCEPT(C,F,O,Nl$) 1010 GOSUB 1900 1015 PO=O 1020 PO=PO+l G-10 ~ ~ J ~ ) DSN/DS BASIC Interface r ~ ~. ~. 1025 1030 1035 1040 1045 1050 1055 1060 1065 1070 1100 1101 1102 1105 1110 1115 1900 1901 1902 1905 1910 1915 1920 1925 1930 1935 1940 1945 1950 2000 2001 2002 2005 2010 2015 2020 2025 2030 2035 2040 2045 IF NO$[PO]=Nl$ THEN GOTO 1045 IF PO<>P THEN GOTO 1020 S=-l RETURN REM: •••• FOUND IT, GET RID OF IT •••• NO$[PO]=NO$[P] PRINT "'" SLAVE: PTOP ERROR:";IO;""'" RETURN S=l RETURN REM:·····__·····_··_··_············*············· REM: BPCONTROL REM:····**·······*·····*··*············*········· Il[l]=S CALL BACCEPT(C,F,Il[·]) RETURN REM············**············*··*·····****········· REM: CONDITION CODE AND STATUS CHECK REM:·············*·_*········**···*···*·**···*····· IF C>O THEN GOTO 1925 IF C ? @ [ \ ] 6 { I } - DEL First Character r----'A K-1 Second Character y A'""------..., INDEX r A ACCEPr Intrinsic, 5-8 Access, command, remote file, 4-2 Access, programmatic, remote file, 4-20 Adding to the LC table, &-10 Adding to the RN table, H-6 Advantages of a Distributed System, 5-5 Applications, DS, 1-1 ASCII Character Set, X-1 B BACCEPI' Intrinsic, BASIC Interface, 0-4 BASIC Interface, DSH/DS, G-1 BASIC Interface intrins ics , 0-2 BASIC, interfacing with, 5-30, G-1 Batch job, establishing a remote session from a, BGET Intrinsic, BASIC Interface, G-4 BPCHECK Intrinsic, BASIC Interface, G-5 BPCLOSE Intrinsic, BASIC Interface, 0-4 BPCONTROL Intrinsic, BASIC Interface, 0-4 BPOPEN Intrinsic, BASIC Interface, 0-2 BPREAD Intrinsic, BASIC Interface, 0-3 BPWRITE Intrinsic, BASIC Interface. 0-3 BREAK key, 3-5 BREJECT Intrinsic, BASIC Interface, 0-5 Butters Continuation, 1-6 Line, 1-6 c CACCEPr Intrinsic, COBOL Interface. F-4 CGET Intrinsic, COBOL Interface, F-4 Character Set, ASCII, 1-1 Closing a Line, 2-61 COBOL Interface intrinsics. F-2 COBOL Interface, DSN/DS, F-1 COBOL, interfacing with, 5-30, F-1 COBOL Remote File Access example, 4-19 COBOLGO Remote File Access example, 4-16 Command access, remote file, 4-2 Commands A[dd) , &-5 C[heck) , &-18 CLEAR, D-1 DATA=, D-1 D[elete), &-19 DISPLAY. D-1 Index-1 3-5 I INDEX (continued) Commands (continued) DSCONTROL, C-1 DSCOPY, 6-3 DSLINE, 2-11, 2-61 ERRORS, D-1 E[xit], H-25 EXIT, D-l FILE, 4-3 GO, D-1 B[elp], B-26 HELP, D-2 L[ist], B-21 NEWDEV, D-2 NEWFILE, D-2 ONES, D-2 PINS=, D-2 P[rint], B-29 RANGE, D-2 REMOTE prefix, 3-6 REMOTE BELLO, 2-44 TIMES=, D-2 TYPES=, D-2 U[pdate], B-30 Communications, Interprocess, 1-13 Communications Link definition of, 2-1 established, 2-1 Comparison: Single System vs. Distributed System, Compression, 2-13, 1-7 Configuration Dialogue, MPE, A-1 Console Command, :DSCONTROL, C-1 Continuation Buffers, 1-6 Control keys, 3-8 Conventions DSN/DS BASIC Xnterface, G-1 DSN/DS COBOL Interface, F-1 Used in this manual, xiv Coordinating Master and Slave Programs, 1-4 Copy Local, 6-7 Remote-to-Local, 6-7 Local-to-Remote, 6-7 Remote, 6-7 Remote-to-Remote, 6-1 CPCHECK Intrinsic, COBOL Interface, F-5 CPCLOSE Intrinsic, COBOL Interface, F-4 CPCONTROL Intrinsic, COBOL Interface, F-3 CPOPEN Intrinsic, COBOL Interface, F-2 CPREAD Intrinsic, COBOL Interface, F-3 CPWRITE Intrinsic, COBOL Interface, F-3 CREJECT Intrinsic, COBOL Interface, r-5 CSHBSCO (HSI driver), 2-1, A-13 CSSBSCO (SSLC driver), 2-7, A-13 Index-2 5-5 INDEX (continued) I o Data compression, 2-13, 7-7 Debugging, 7-5 Definitions Communications Link, 2-1 DSN/DS, 1-1 Hardwired Line, 2-2 HP-DSN, 1-1 Modem, 2-4 device parameter, FOPEN Intrinsic, 4-22 Deleting from the LC table, H-24 Deleting from the RN table, H-21 Device Table, I/O, 2-8, 2-9 Diagnostic mode, System Verification, E-2 Dialing the Remote Computer, 2-15 Distributed System compared to a single system, 5-5 Distributed Systems Network, 1-1 Driver DSN/DS communications, 2-7, A-13 HSI, 2-7, A-13 INP, 2-7, A-13 SSLC, 2-7, A-13 Virtual terminal, 2-10, A-13 DSN/DS communications driver (IODSO or IODSX), 2-7, A-13 DSN/DS Communications Link (diagram), 2-1 DSN/DS, definition of, 1-1 DSN/DS Functional Error messages, B-2 DSN/DS line buffer example (diagram), 2-3 DSCONTROL Console Command (:DSCONTROL), C-1 Error Messages, B-4 Informatory Messages, B-4 DSCOPY BASIC Example, 6-15 COBOL Example, 6-14 Command, 6- 3 Event recording, 6-6 FORTRAN Example, 6-14 Interactive mode, 6-6 Intrinsic, 6-9 Programmatic operation, 6-11 Source files, 6-5 Target files, 6-5 DSCOPYMSG Intrinsic, 6-12 dsdevice, 2-12, 2-47, 2-67, 4-2, 4-20, 4-22 DSDUMP Program, D-1 DSDUMP Commands, D-1 Operating tips, D-5 Operation, D-3 Output, D-4 Preparation, D-4 Running the program interactively, D-4 Streaming the program, D-4 Index-3 IINOEX (continued) DSLINE Closing a line with, 2-67 Command (:DSLINE), 2-11, 2-67 Opening a line with, 2-11 Parameters, 2-11, 2-67 Syntax, 2-11, 2-67 Syntax Error messages, B-1 DS/X.25, 1-1, H-1, 3-1 E Entering REMOTE, 3-7 Error Codes and Messages, B-1 Error Codes and Messages DSN/DS Functional Errors, B-2 :DSCONTROL Error Messages, B-4 :DSCONTROL Informatory Messages, B-4 :DSLINE Syntax Errors, B-1 EXCLUSIVE, 2-12 Exclusive option examples, 2-20, 2-21, 2-22, 2-23 F Failures, line-opening, 2-66 FCOPY Remote File Access example, 4-13 Features of DSN/DS, 1-1 Features of NFT, 6-1 FILE Command parameters, 4-4 syntax, 4-3 FOPEN Intrinsic parameters, 4-22 syntax, 4-21 Formats for inserted Compression characters, 1-8 G GET Intrinsic, 5-10 H Hardwired line, specifying a, 2-7 Hardwired Serial Interface (HSI), 2-2, 2-4 HP 3000 to HP 3000 example (diagram), 1-3 HP 30010A Intelligent Network Processor (INP), 2-2, 2-4 HP 30020A Intelligent Network Processor (IMP), 2-2, 2-4 BP 30020B Intelligent Network Processor (INP), 2-2, 2-4 HP 30055A Synchronous Single-Line Controller (SSLC), 2-2, 2-4 HP 30360A Hardwired Serial Interface (BSI), 2-2, 2-4 HSI, 2-2, 2-4 Index-4 IN0EX (continued) I HSI -- Its place in a Distributed Systems Network, HSI driver (CSHBSCO), 2-7, A-13 2-2, 2-4 ID Sequences, 2-16 Initiating the local session, 1-3, 1-4, 2-54, 2-61 Initiating the remote session, 1-5 INP, 2-2, 2-4 IMP -- Its place in a Distributed Systems Network, 2-2, 2-4 INP driver (IOINPO), 2-7, A-13 Intelligent Network Processor (INP), 2-2, 2-4 Interfacing with BASIC, 5-30, G-1 Interfacing with COBOL, 5-30, F-1 Interprocess Communications (IPC), 7-13 Intrinsics DSN/DS BASIC Interface, G-2 DSN/DS COBOL Interface, F-2 PTOP Master, 5-3 Program-to-Program, 5-3, 5-4, F-2, G-2 PTOP Slave, 5-4 I/O device table (hardwired line), 2-8 I/O device table (telephone line), 2-9 IODSTRMO (virtual-terminal driver), 2-10, A-13 IODSTRMX (X.25 virtual terminal driver), 2-10, A-13 IODSX (X.25 communications driver), 2-7, A-13 IODSO (communications driver), 2-7, A-13 IOIMPO (INP driver), 2-7, A-13 IOPADO (PAD terminal driver), A-13 IPC, 7-13 Issuing local commands, 3-8 Issuing remote commands, 3-2 L LC table Adding to, H-10 Deleting from, H-24 Updating, H-34 Line buffer example, 2-3 Line Buffers, 7-6 Line Characteristics (LC) table, H-3 Line-opening failures, 2-66 List of master program-to-program intrinsics, 5-3 List of slave program-to-program intrinsics, 5-4 Local commands, issuing, 3-8 Local session, initiating the, 1-3, 1-4, 2-54, 2-61 M Manuals, supplemental, v Master PTOP intrinsics, 5-3 Index-5 IINOEX (continued) Messages :DSCONTROL Error Messages, B-4 :DSCONTROL Informatory Messages, B-4 :DSCOPY General Error Messages, B-6 :DSCOPY Intrinsic Error Returns, B-7 :DSCOfY Internal Errors, B-7 :DSLINE Syntax Errors, B-1 DSN/DS Functional Errors, B-2 Error, B-1 Modem, definition of, 2-4 MPE Configuration Dialogue, A-1 FILE Command parameters, 4-4 FILE Command syntax, 4-3 FOPEN Intrinsic parameters, 4-22 FOPEN Intrinsic syntax, 4-21 Multiple line example (hardwired lines), 2-52 Multiple line example (telephone lines), 2-59 Multiple Remote Access, 7-10 Multiple user examples (hardwired line), 2-18, 2-19 Multiple user examples (dial-up line), 2-24 -- 2-43 Multiple users, 2-17 N NETCONF Commands, H- 4 Data base organization, H-3 Using, H-3 Utility, H-2 Network Configurator, X.25/X.21, B-1 Network File Transfer (NFT), 6-1 NFT features, 6-1 NFT intrinsics, 6-8 Normal mode, System Verification, E-4 o Opening Opening Opening Opening a Line, 2-2 a hardwired line, 2-2 a telephone line, 2-4 multiple lines, 2-51 p PAD Characteristics, J-7 Establishing a remote session via, Program compatibility with, J-7 Parameters, J-3 When to use a, J-2 J-3 Index-6 IN0EX (continued) I Parameters DSCONTROL Command, C- 2 DSCOPY Command, 6-3 MPE FILE Command, 4-4 MPE FOPEN Intrinsic, 4-22 PAD, J-3 PCHECK Intrinsic, 5-13 PCLOSE Intrinsic, 5-15 PCONTROL activity (diagram), 5-17 PCONTROL Intrinsic, 5-16 Performance, 7-8 POPEN activity (diagram), 5-23 POPEN Intrinsic, 5-18 PREAD activity (diagram), 5-26 PREAD Intrinsic, 5-24 Prefixing each command with "REMOTE", 3-6 Program-to-Program Communications, 5-1 Program-to-Program intrinsics, 5-7, F-2, G-2 Programmatic access, remote file, 4-20 Programmatic DSCOPY operation, 6-11 PrOP Intrinsics ACCEPI' , 5-8 GET, 5-10 PCHECK, 5-13 PCLOSE, 5-15 PCONTROL, 5-16 POPEN, 5-18 PREAD, 5-24 PWRlTE, 5-27 REJECT, 5- 29 PWRITE activity (diagram), 5-28 PWRlTE Intrinsic, 5-27 R r· REJECT Intrinsic, 5-29 Remote access, multiple, 7-10 REMOTE Command prefix, 3-6 Remote commands, issuing, 3-2 Remote File Access (RFA) , 4-1 REMOTE HELLO Command, 2-44 Remote listing performance, 7-9 Remote Node (RN) table, H-3 Remote off-line listing example, 4-7 Remote session, initiating the, 1-5 REMOTE, entering, 3-7 RFA, 4-1 RN table Adding to, H-6 Deleting from, H-21 Updating, H-32 Index-7 INDEX (continued) s Sample I/O device table, 2-8, 2-9 Slave PTOP intrinsics, 5-4 Software Version Report, E-1 SORT Remote File Access example, 4-10 Specifying a hardwired line, 2-7 Specifying a telephone line, 2-7 SSLC, 2-2, 2-4 SSLC -- Its place in a Distributed Systems Network, 2-2, 2-4 SSLC driver (CSSBSCO), 2-7, A-13 Streaming the DSDUMP Program, D-4 Supplemental manuals, v Synchronous Single-Line Controller (SSLC), 2-2, 2-4 Syntax DSCONTROL Command, C-2 DSCOPY Command, 6- 3 MPE FILE Command, 4-3 MPE FOPEN Intrinsic, 4-21 System Verification, E-1 System Verification Test Diagnostic Mode, E-2 Normal Mode, E-4 T Table, I/O Device, 2-8, 2-9 Telephone line, specifying a, 2-7 Terminal restrictions on the Public Data Network, J-5 Terminal, configuring your, J-6 Terminals, which to use, J-5 Terminating a remote session from the local session, 3-9 Terminating a remote session from the remote session, 3-10 Transmissions Between Systems, 7-3 u Updating the LC table, H-34 Updating the RN table, H-32 Users, multi~le, 2-17 Using the Remote Subsystem From a Batch Job, 3-5 v Virtual-terminal driver (IODSTRMO or IODSTRMX), .~ w What Is a Communications Link?, When to Use a PAD, J-2 2-10, A-13 2-1 Index-8 INDEX (continued) x X.25 System-to-System Communication, X.25/X.2l Network Contigurator, H-l X.25/X.29 Capabilities, Using, J-l X.29 protocol, J-l 1-1, J-1 Index-9 I (NOT AN ORDER FORM. Copies of this manual may be ordered directly from a local sales office. Refer to the sales office listing on the following pages for addresses.) READER COMMENT SHEET HP Distributed Systems Network DSN/DS HP 3000 to HP 3000 Reference Manual 32190·90001 Sep 1982 We welcome your evaluation of this manual. Your comments and suggestions help us improve our publications. Please use additional pages if necessary. Is this manual technically accurate? Yes 0 No 0 (If no, explain under Comments, below.) Are the concepts and wording easy to understand? Yes 0 No 0 (If no, explain under Comments, below.) Is the format of this manual convenient in size, arrangement, and readability? Yes 0 (If no, explain or suggest improvements under Comments, below.) Comments: FROM: Name Company Address No 0 FOLD FOLD --------------------------------------------------------------------------------------------------------------- 111111 NO POSTAGE NECESSARY IF MAILED IN THE UNITED STATES BUSINESS REPLY MAIL FIRST CLASS PERMIT NO. 1070 CUPERTlNO,CALIFORNIA POSTAGE WILL BE PAID BY ADDRESSEE Information Networks Division Hewlett-Packard Company 19420 Homestead Road Cupertino, California 95014 Attn: DataComm Documentation Manager -FOILO---------------------------------------------------------------------------------------------------FOL[) SALES & SUPPORT OFFICES Arranged Alphabetically by Country Product Line Sales/Support Key BAHRAIN Ontario CYPRUS Key Product Une Analytical A Components CM Computer Systems Sales only C Computer Systems Hardware Sales and Services CH Computer Systems Software Sales and Services CS Electronic Instruments & Measurement Systems E Medical Products M Medical Products Primary SRO MP Medlcal·Products Secondary SRO US Personal Computation Products P Sales only for specific product line Support only for specific product line IMPORTANT: These symbols designate general product line capabUlly. They do not Insure sales or support availability for all products within aline, at all locations. Contact your local sales office for Information regarding locations where HP support Is available for specific products. HP distributors are printed in italics. Green Salon P.O. Box 557 BAHRAIN Tel: 255503-255950 Telex: 84419 P Wael Pharmacy P.O. Box 648 BAHRAIN Tel: 256123 Telex: 8550 WAEL BN M,E Hewlett-Packard (Canada) Ltd. 552 Newbold Street LONDON, Ontario N6E 2S5 Tel: (519) 686-9181 A,CH,CM,E *,MS,P * Hewlett-Packard (Canada) Ltd. 6877 Goreway Drive MISSISSAUGA, Ontario L4V 1M8 Tel: (416) 678-9430 A,CH,CM,CS,E,MP,P Hewlett-Packard (Canada) Ltd. 2670 Queensview Dr. OTTAWA, Ontario K2B 8K1 Tel: (613) 820-6483 A,CH,CM,CS,E *,MS,P * Hewlett-Packard (Canada) Ltd. 220 Yorkland Blvd., Unit #11 WILLOWDALE, Ontario M2J lR5 Tel: (416) 499-9333 CH Telerexa LId. P. O. Box 4809 14C Stassinos Avenue NICOSIA Tel: 62698 Telex: 2894 LEVIDO CY E,M,P ANGOLA Telectra Empress Tecnica de Equipamentos Electricos, S.A.R.L. R. BarboSa Rodrigues, 41-1 DT. Caixa Postal 6487 LUANDA Tel: 35515,35516 E,M,P Canberra, Australia Capital Territory Office Hewlett-Packard Australia Ltd. 121 Wollongong Street FYSHWICK, A.C.T. 2609 Tel: 804244 Telex: 62650 Cable: HEWPARO Canberra CH,CM,E,P ARGENTINA Melbourne, Victoria Office Hewlett-Packard Argentina S.A. Avenida Santa Fe 2035 Martinez 1640 BUENOS AIRES Tel: 798-5735, 792-1293 Telex: 17595 BIONAR Cable: HEWPACKARG A,E,CH,CS,P Biotron S.A.C.I.M. e I. Av Paseo Colon 221, Piso 9 1399 BUENOS AIRES, Tel· 30-4846, 30-1851 Telex: 17595 BIONAR M Fate S.A. I.C.I.Electronica Venezuela 1326 1095 BUENOS AIRES Tel: 37-9020, 37-902619 Telex: 9234 FA TEN AR P Hewlett-Packard Australia Ltd. 31-41 Joseph Street BLACKBURN, Victoria 3130 Tel: 877 7777 Telex: 31-024 Cable: HEWPARD Melbourne A,CH,CM,CS,E,MS,P AUSTRALIA Adelaide, South Australia Office Hewlett-Packard Australia Ltd. 153 Greenhill Road PARKSIDE, S.A. 5063 Tel: 272-5911 Telex: 82536 Cable: HEWPARO Adelaide A*,CH,CMIIE,MS,P Brisbane, Queensland Office HewlE:tt-Packard Australia Ltd. 49 Park Road MILTON, Queensland 4064 Tel: 229-1544 Telex: 42133 Cable: HEWPARO Brisbane A,CH,CM,E,M,P Effective November 1, 1982: 10 Payne Road THE GAP, Queensland 4061 Tel: 30·4133 Telex: 42133 Perth, Western Australia Office Hewlett-Packard Australia Ltd. 261 Stirling Highway CLAREMONT, W.A. 6010 Tel: 383-2188 Telex: 93859 Cable: HEWPARD Perth A,CH,CMIIE,MS,P Sydney, New South Wales Office Hewlett-Packard Australia Ltd. 17-23 Talavera Road P.O. Box 308 NORTH RYDE, N.S.W. 2113 Tel: 887-1611 Telex: 21561 Cable: HEWPARD Sydney A,CH,CM,CS,E,MS,P AUSTRIA Hewlett-Packard Ges.m.b.h. Grottenhofstrasse 94 Verkaufsburo Graz A-8052 GRAZ Tel: 291-5-66 Telex: 32375 CH,E* Hewlett-Packard Ges.m.b.h. Stanglhofweg 5 A-4020 L1NZ Tel: 0732 51585 CH Hewlett-Packard Ges.m.b.h. Lieblgasse 1 P.O. Box 72 A-1222 VIENNA Tel: (0222) 23-65-11-0 Telex: 134425 HEPA A A,CH,CM,CS,E,MS,P BELGIUM Hewlett-Packard Belgium S.A.IN. V. Blvd de la Woluwe, 100 Woluwedal B-1200 BRUSSELS Tel: (02) 762-32-00 Telex: 23-494 paloben bru A,CH,CM,CS,E,MP,P BRAZIL Hewlett-Packard do Brasil l.e.C. L1da. Alameda Rio Negro, 750 Alphaville 06400 BARUERI SP Tel: (11) 421-1311 Telex: 01 133872 HPBR-BR Cable: HEWPACK Sao Paulo A,CH,CM,CS,E,M,P Hewlett-Packard do Brasill.e.C. Ltda. Avenida Epitacio Pessoa, 4664 22471 RIO DE JANEIRO-RJ Tel: (21) 286-0237 Telex: 021-21905 HPBR-BR Cable: HEWPACK Rio de Janeiro A,CH,CM,E,MS,P* CANADA Alberta Hewlett-Packard (Canada) Ltd. 210,7220 Fisher StreetS.E. CALGARY, Alberta T2H 2H8 Tel: (403) 253-2713 A,CH,CM,E *,MS,P * Hewlett-Packard (Canada) Ltd. 11620A-168th Street EDMONTON, Alberta T5M 3T9 Tel: (403) 452-3670 A,CH,CM,CS,E,MS,P * British Columbia Hewlett-Packard (Canada) Ltd. 10691 Shellbridge Way RICHMOND, British Columbia V6X 2W7 Tel: (604) 270-2277 Telex: 610-922-5059 A,CH,CM,CS,E· ,MS,P * Manitoba Hewlett-Packard (Canada) Ltd. 380-550 Century Street WINNIPEG, Manitoba R3H OY1 Tel: (204) 786-6701 A,CH,CM,E,MS,P * New Brunswick Hewlett-Packard (Canada) Ltd. 37 Sheadiac Road MONCTON, New Brunswick E2B 2VQ Tel: (506) 855·2841 CH** Nova Scotia Hewlett-Packard (Canada) Ltd. P.O. Box 931 900 Windmill Road DARTMOUTH, Nova Scotia B2Y 3Z6 Tel: (902) 469-7820 CH,CM,CS,E* ,MS,P* Quebec Hewlett-Packard (Canada) Ltd. 17500 South Service Road Trans-Canada Highway KIRKLAND, Quebec H9J 2M5 Tel: (514) 697-4232 A,CH,CM,CS,E,MP,P * Hewlett-Packard (Canada) ltd. Les Galeries du Vallon 2323 Du Versont Nord STE. FOY, Quebec G1N 4C2 Tel: (418) 687-4570 CH CHILE Jorge Calcagni y Cia. Llda. Arturo Burhle 065 Casilla 16475 SANTIAGO 9 Tel: 222-0222 Telex: Public Booth 440001 A,CM,E,M Olympia (Chile) Llda. Av. Rodrigo de Araya 1045 Casilla 256- V SANTIAGO 21 Tel: 2-25-50-44 Telex: 340-892 OL YMP CK Cable: Olympiachile Santlagochile CH,CS,P CHINA, People's Republic of China Hewlell-Packard Rep. Office P.O. Box 418 fA Lane 2, Luchang SI. Beiwei Rd., Xuanwu District BEIJING Tel: 33-1947, 33-7426 Telex: 22601 CTSHP CN Cable: 1920 A,CH,CM,CS,E,P COLOMBIA Instrumentaci6n H. A. Langebaek & Kier S.A. Carrera 7 No. 48-75 Apartado Aereo 6287 BOGOTA " D.E. Tel: 287-8877 Telex: 44400 INST CO Cable: AARIS Bogota A,CM,E,M,PS,P COSTA RICA Cienlifica Costarricense S.A. Avenida 2, Calle 5 San Pedro de Montes de Oca Apartado. 10159 SAN JOSE Tel: 24·38-20, 24-08-19 Telex: 2367 GALGUR CR CM,E,MS,P DENMARK Hewlett-Packard AlS Datavej 52 OK-3460 Blrkerod Tel: (02) 81-66-40 Telex: 37409 hpas dk A,CH,CM,CS,E,MS,P Hewlett-Packard AlS Navervej 1 OK-8600 SILKEBORG Tel: (06) 82-71-66 Telex: 37409 hpas dk CH,E ECUADOR CYEDE Cia. Llda. Avenida Eloy Alfaro 1749 Casilla 6423 CCI QUITO Tel: 450-975,243-052 Telex: 2548 CYEDE ED A,CM,E,P Hospitalar S.A. Robles 625 Casilla 3590 QUITO Tel: 545-250, 545-122 Telex: 2485 HOSPTL ED Cable: HOSPITALAR-Quito M EGYPT International Engineering Associates 24 Hussein Hegazi Street Kasr-el-Aini CAIRO Tel: 23829,21641 Telex: lEA UN 93830 CH,CS,E,M Informatic For Systems 22 Talaat Harb Street CAIRO Tel: 759006 Telex: 93938 FRANK UN CH,CS,P Egyptian International Office for Foreign Trade P.O.Box 2558 CAIRO Tel: 650021 Telex: 93337 EGPOR P EL SALVADOR JPESA de EI Salvador S.A. 29 Avenida Norte 1216 SAN SALVADOR Tel: 26-6858, 26-6868 Telex: Public Booth 20107 A,CH,CM,CS,E,P FINLAND Hewlett·Packard Oy Revontulentie 7 SF·02100 ESPOO 10 Tel: (90) 455-0211 Telex: 121563 hewpa sf A,CH,CM,CS,E,MS,P Hewlett-Packard Oy Aatoksenkatv 10-C [2] f~ SALES & SUPPORT OFFICES 0 [Ap] Arranged Alphabetically by Country SF-40720-72 JYVASKYLA Tel: (941) 216318 CH Hewlett-Packard Oy Kainvuntie 1-C SF·90140-140ULU Tel: (981) 338785 CH FRANCE Hewlett-Packard France Z.I. Mercure B Rue Berthelot F-13763 Les MiDes Cedex AIX-EN-PROVENCE Tel: (42) 59-41-02 Telex: 410770F A.CH,E.MS,P· Hewlett·Packard France Boite Postale No. 503 F-25026 BESANCON 28 Rue de la Republique F-25000 BESANCON Tel: (81) 83-16-22 CH.M Hewlett-Packard France Bureau de Vente de Lyon Chemin des Mouilles Boite Postale 162 F-69130 ECULLY Cadex Tel: (7) 833-81-25 Telex: 310617F A.CH.CS.E.MP Hewlett·Packard France Immeuble France Evry Tour Lorraine Boulevard de France F-91035 EVRY Cedex Tel: (6) 077-96-60 Telex: 692315F E Hewlett-Packard France 5th Avenue Raymond Chanas F-38320 EYBENS Tel: (76) 25-81·41 Telex: 980124 HP GRENOB EYBE CH Hewlett·Packard France Centre d'Affaire Paris-Nord BAtiment Amp~re 5 etage Rue de la Commune de Paris Boite Postale 300 F-93153 LE BLANC IIESNIL Tel: (01) 865-44-52 Telex: 211032F CH.CS.E.MS Hewlett-Packard France Parc d'Activites Cadera Quartier Jean Mermoz Avenue du President JF Kennedy F-33700 MERIGNAC Tel: (56) 34·00-84 Telex: 550105F CH.E.MS Hewlett-Packard France 32 Rue Lothaire F-57000 YElZ Tel: (8) 765-53·50 CH Hewlett·Packard France Immueble Les 3 B Nouveau Chemin de Is Garde Z.A.C. de Bois Briand F-44085 NANTES Cedex Tel: (40) 50-32-22 CH" Hewlett·Packard France Zone Industrielle de Courtaboeuf Avenue des Tropiques F-91947 Les Ulis Cedex ORSAY Tel: (6) 907-78-25 Telex: 600048F A.CH.CM.CS,E,MP.p Hewlell-Packard France Paris Porte-Maillot 15, Avenue De L'Amiral Bruix F-75782 PARIS 16 Tel: (1) 502-12-20 Telex: 613663F CH.MS.P Hewlell-Packard France 2 Allee de Ia Bourgonette F-351oo RENNES Tel: (99) 51-42-44 Telex: 740912F CH,CM.E.MS.P • Hewlell-Packard France 98 Avenue de Bretagne F·76100 ROUEN Tel: (35) 63-57-66 CH· ·.CS Hewlett-Packard France 4 Rue Thomas Mann Boite Postale 56 F-67200 STRASBOURG Tel: (88) 28-56-46 Telex: 890141F CH.E.MS.P· Hewlett-Packard France Pericentre de la Cepiere F-31081 TOULOUSE Cedex Tel: (61) 40-11-12 Telex: 531639F A.CH,CS,E,P· Hewlett-Packard France Immeuble Pericentre F-59658 VILLENEUVE D'ASCQ Cedex Tel: (20) 91·41-25 Telex: 160124F CH.E,MS.P· GERMAN FEDERAL REPUBLIC Hewlett·Packard GmbH Technisches BUro Berlin Kelthstrasse 2·4 0·1000 BERUN 30 Tel: (030) 24·90-86 Telex: 018 3405 hpbln d A.CH.E,M.P Hewlett·Packard GmbH Technisches BUro BOblingen Herrenberger Strasse 110 0·7030 BOBLINGEN Tel: (07031) 667-1 Telex: bbn or A,CH,CM,CS,E.MP.p Hewlett-Packard GmbH Technlsches BUro Dusseldorf Emanuel-Leutze-Strasse 1 0·4000 DUSSELDORF Tel: (0211) 5971·1 Telex: 085/86533 hpdd d A.CH,CS.E.MS,P Hewlett·Packard GmbH Vertriebszentrale Frankfurt Berner Strasse 117 Postfach 560 140 0-6000 FRANKFURT 56 Tel: (0611) 50-04-1 Telex: 04 13249 hpffm d A,CH,CM,CS,E.MP,P Hewlett-Packard GmbH Technlsches BUro Hamburg Kapstadtring 5 0·2000 HAMBURG 60 Tel: (040) 63804·1 Telex: 021 63 032 hphh d A.CH.CS.E.MS.P Hewlett·Packard GmbH Technlsches BUro Hannover Am Grossmarkt 6 0-3000 HANNOVER 91 Tel: (0511) 46-60-01 Telex: 0923259 A.CH.CM.E.MS.P Hewlett-Packard GmbH Technisches BUro Mannheim Rosslauer Wag 2·4 0-6800 YAMNHEIII Tel: (0621) 70050 Telex: 0462105 A.C.E Hewlett-Packard GmbH Technlsches BUra Neu Ulm Messerschmittstrasse 7 0-7910 NEU ULM Tel: 0731-70241 Telex: 0712816 HP ULM-O A.C,EHewlett-Packard GmbH Technlsches BUro NUrnberg Neumeye~~trasse 90 0-8500 NURNBERG Tel: (0911) 52 20 83-87 Telex: 0623 860 CH,CM,E,MS,P Hewlett-Packard GmbH Technlsches BUra MUnchen Eschenstrasse 5 0·8028 TAUFKIRCKEN Tel: (089) 6117-1 Telex: 0524985 A,CH,CM.E.MS,P GREAT BRITAIN Hewlett-Packard ltd. Trafalgar House Navigation Road ALTRINCHAII Chesire WA14 1NU Tel: (061) 928-6422 Telex: 668068 A.CH.CS,E,M Hewlett-Packard ltd. Oakfield House, Oakfield Grove Clifton BRISTOL BS8 2BN. Avon Tel: (027) 38606 Telex: 444302 CH.M,P Hewlett-Packard ltd. (Pinewood) Nine Mile Ride EASTHAIIPSTEAD Woklngham Berkshire, 3RG11 3LL Tel: 3446 3100 Telex: 84-88·05 CH.CS,E Hewlett-Packard ltd. Fourier House 257-263 High Street LONDON COLNEY Herts., AL2 1HA, St. Albans Tel: (0727) 24400 Telex: 1-8952716 CH,CS,E Hewlett-Packard Ltd Tradax House, St. Mary's Walk MAIDENHEAD Berkshire. SL6 1ST Tel: (0628) 39151 CH,CS.E.P Hewlett-Packard ltd. Ouadrangle 106·118 Station Road REDHILL, SUrrey Tel: (0737) 68655 Telex: 947234 CH.CS.E Hewlett-Packard Ltd. Avon House 435 Stratford Road SHIRLEY. SollhuU West Midlands B90 4BL Tel: (021) 745 8800 Telex: 339105 CH Hewlett-Packard Ltd. West End House 41 High Street. West End SOUTHAMPTON Hampshire S03 300 Tel: (703) 886767 Telex: 477138 CH Hewlett·Packard Ltd. King Street Lane WlNNERSH, Woklngham Berkshire RG11 5AR Tel: (0734) 784774 Telex: 847178 A.CH,E,M GREECE Koslas Karaynnis S.A. 8 Dmirol,l Streel ATHENS 133 Tel: 3230303, 3237 371 Telex: 215962 RKAR GR A,CH,CM,CS,E,M,P PLAISID S.A. G. Gerardos 24 Stournara Streel ATHENS Tel· 36-11·160 Telex: 221871 P GUATEMALA IPESA Avenids Reforms 3-48, Zona 9 GUATEIIALA CITY Tel: 316627, 314786 Telex: 4192 TEL TRD GU A,CH,CM,CS,E,M,P HONG KONG Hewlett-Packard Hong Kong. ltd. G.P.O. Box 795 5th Floor, Sun Hung Kai Centre 30 Harbour Road HONG KONG Tel: 5-8323211 Telex: 66678 HEWPA HX Cable: HEWPACK HONG KONG E,CH,CS.P CETLld. 1402 Tung Way Mansion 199-203 Hennessy Rd. Wanchia, HONG KONG Tel· 5·729376 Telex: 85148 CET HX CM Schmidt & Co. (Hong Kong) Ltd. Wing Dn Centre, 28th Floor Connaught Road, C. HONG KONG Tel: 5·455644 Telex: 74766 SCHMX HX A,M ICELAND E/ding Trading Company Inc. Hafnarnvoll- Tryggvagotu P.D. Box 895 IS-REYKJA VlK Tel: 1-58-20, 1-63-03 M INDIA Blue Slar Ltd. Sabri Complex /I Floor 24 Residency Rd. BANGALORE 560 025 Tel: 55660 Telex: 0845-430 cable: BLUESTAR A,CH,CM,CS,E Blue Slar LId. Band Box House PrabhBdevi BOMBAY 400 025 Tel: 422-3101 Telex: 011-3751 Cable: BLUESTAR A,M Blue Slar LId. Sahas 414/2 Vir Savarkar Msrg Prabhadevi BOMBAY 400025 Tel: 422-6155 Telex: 011-4093 Cable: FROSTBLUE A,CH,CM,CS,E,M Blue Slar Ltd. Kalyan, 19 Vishwas Colony Alkapurl, BORODA, 390 005 Tel· 65235 cable: BLUE STAR A Blue Slar LId. 7 Hare Slreet CALCUTTA 700 001 Tel· 12-01-31 Telex: 021-7655 cable: BLUESTAR A,M Blue Star LId. 133 Kodambskkam High Road MADRAS 600 034 Tel· 82057 Telex: 041·379 Cable: BLUESTAR A,M Blue Star Ltd. Bhandari House, 71h/81h Floors 91 Nehru Place NEWDELHI 110 024 Tel: 682547 Telex: 031-2463 Cable: BLUESTAR A,CH,CM,CS,E,M Blue Star LId. 15/16:C Wellesley Rd. PUNE 411011 Tel· 22775 Cable: BLUE STAR A Blue Slar Ltd. 2-2-47/1108 Bolarum Rd. SECUNDERABAD 500 003 Tel: 72057 Telex: 0155-459 Cable: BLUEFRDST A,E Blue Slar LId. T.C. 7/603 Poomims Marulhankuzhi TRlVANDRUM 695 013 Tel· 65799 Telex: 0884-259 Cable: BLUESTAR E INDONESIA BERCA Indonesia P. T. P.D.Box 4961JKT. JI. Abdul Muis 62 JAKARTA Tel: 373009 Telex: 46748 BERSAL IA Cable: BERSAL JAKARTA P BERCA Indonesia P. T. Wisma Anlara Bldg., 17th Roor JAKARTA A,CS,E,M BERCA Indonesia P. T. P.D. Box 174/SBY. JI. Kutei No. 11 SURABAYA Tel: 68172 Telex: 31146 BERSAL 58 Cable: BERSAL-SURABAYA A·,E,M,P ~ IRAQ Hewlett-Packard Trading S.A. Service Operation AI Mansoor City 9B/3n BAGHDAD Tel: 551-49-73 Telex: 212-455 HEPAIRAQ IK CH,CS IRELAND Hewlett-Packard Ireland ltd. 82/83 Lower Leeson SI. DUBLIN 2 Tel: (1) 60 88 00 Telex: 30439 A.CH.CM.CS,E,M,P Cardiac Services Ltd. Kilmore Road Mane DUBLIN 5 Tel: (01) 351820 Telex: 30439 M ISRAEL Eldan Electronic Instrument Ltd. P.O. Box 1270 JERUSALEM 91000 16, Ohaliav St. JERUSALEM 94467 Tel: 533221, 553242 Telex: 25231 ABIPAKRD IL A Electronics Engineering Division Motorola Israel Lid. 16 Kremenetski Street P.O. Box 25016 TEL·AVIV 61899 Tel: 3-338973 Telex: 33569 MotillL Cable: BASTEL Tel-Aviv CH,CM,CS,E,M,P ITALY Hewlett-Packard Italiana S.p.A. Traversa 99C Via Giulio Petroni, 19 1-70124 BARI Tel: (080) 41-07-44 M Hewlett-Packard Italiana S.p.A. Via Martin Luther King. 38/111 1-40132 BOLOGNA Tel: (051) 402394 Telex: 511630 CH,E,MS Hewlett-Packard Italiana S.p.A. Via Principe Nicola 43G1C 1-95126 CATANIA Tel: (095) 37-10-87 Telex: 970291 C.P Hewlett-Packard Italiana S.p.A. Via G. Oi Vittorio 9 1-20063 CERNUSCO SUL NAVIGLIO Tel: (2) 903691 Telex: 334632 A.CH,CM,CS,E,MP,P Hewlett-Packard Italiana S.p.A. Via Nuova San Rocco a Capodimonte. 62/A 1-80131 NAPLES Tel: (081) 7413544 Telex: 710698 A,CH.E Hewlett-Packard Italiana S.p.A. Viale G. Modugno 33 1-16156 GENOVA PEGLI Tel: (010) 68-37-07 Telex: 215238 E,C Hewlett-Packard Italiana S.p.A. Via Turazza 14 1-35100 PADOVA Tel: (049) 664888 Telex: 430315 A,CH,E,MS Hewlett-Packard Italiana S.p.A. Viale C. Pavese 340 1-00144 ROUA Tel: (06) 54831 Telex: 610514 A,CH,CM,CS,E,MS,P * Hewlett-Packard Itallana S.p.A. Corso Svlzzera, 184 1-10149 TORINO Tel: (011) 74 4044 Telex: 221079 CH.E JAPAN Yokogawa-Hewlett-Packard ltd. Inoue Building 1-21-8, Asahi-cho ATSUGI, Kanagawa 243 Tel: (0462) 28-0451 CM,C·,E Yokogawa-Hewlett-Packard Ltd. Towa Building 2-2-3, Kaigandori, Chuo-ku KOBE, 650. Hyogo Tel: (078) 392-4791 C,E Yokogawa-Hewlett-Packard Ltd. Kumagaya Asahi Yasoji Bldg 4F 3-4 Chome Tsukuba KUMAGAYA, Saitama 360 Tel: (0485) 24-6563 CH,CM.E Yokogawa-Hewlett-Packard Ltd. Asahi Shinbun Dai-ichi Seimei Bldg., 2F 4-7 Hanabata-cho KUMAMOTo-SHI,860 Tel: (0963) 54-7311 CH.E Yokogawa-Hewlett-Packard Ltd. Shin Kyoto Center Bldg. 5F 614 Siokoji-cho Nishiiruhigashi, Karasuma Siokoji-dori, Shimogyo-ku KYOTO 600 Tel: 075-343-0921 CH,E Yokogawa-Hewlett-Packard Ltd. Mito Mitsui Building 1-4-73. San-no-maru MITO, Ibaragi 310 Tel: (0292) 25-7470 CH,CM,E Yokogawa-Hewlett-Packard Ltd. Sumitomo Seimei Nagoya Bldg. 2-14-19, Meieki-Minami, Nakamura-ku NAGOYA, 450 Aichi Tel: (052) 571-5171 CH.CM,CS,E.MS Yokogawa-Hewlett-Packard Ltd. Chuo Bldg., 4th Floor 5-4-20 Nishinakajlma, Yodogawa-ku OSAKA,532 Tel: (06) 304-6021 Telex: YHPOSA 523-3624 A,CH.CM,CS,E,MP,p* Yokogawa-Hewlett-Packard Ltd. 1-27-15. Yabe, SAGAMIHARA Kanagawa, 229 Tel: 0427 59-1311 Yokogawa-Hewlett-Packard Ltd. Shinjuku Dai-ichi Seimei 6F 2-7-1, Nishi Shinjuku Shinjuku-ku. TOKYO 160 Tel: 03-348-4611-5 CH,E Yokogawa-Hewlett-Packard ltd. 3-29-21 Takaido-Hlgashi Suglnami-ku TOKYO 168 Tel: (03) 331-6111 Telex: 232-2024 YHPTOK A,CH,CM,CS,E,MP,P * Yokogawa-Hewlett-Packard ltd. OaUchi Asano Building 4F 5-2-8, Oodori, UTSUNOMIYA, 320 Tochigi Tel: (0286) 25-7155 CH,CS,E Yokogawa-Hewlett-Packard ltd. Yasudaseimei Yokohama Nishiguchi Bldg. 3-30-4 Tsuruya-cho Kanagawa-ku YOKOHAMA, Kanagawa, 221 Tel: (045) 312-1252 CH,CM.E JORDAN Mouasher Cousins Company P.O. Box 1387 AMMAN Tel: 24907,39907 Telex: 21456 SABCO JO CH,E,M,P KENYA ADCOM Lid., Inc., Kenya P.D.Box 30070 NAIROBI Tel: 331955 Telex: 22639 E,M KOREA Samsung Electronics Computer Division 76-561 Yeoksam-Dong Kangnam-Ku C.P.O. Box 2775 SEOUL Tel: 555-7555, 555-5447 Telex: K27364 SAMSAN A,CH,CM,CS,E,M,P KUWAIT AI-Khaldiya Trading & Contracting P.O. Box 830 Satat KUWAIT Tel: 42-4910, 41-1726 Telex: 22481 Areeg kt CH,E,M Photo & Cine Equipment P.O. Box 270 Satat KUWAIT Tel: 42-2846, 42-3801 Te/~x: 22247 Matin-KT P LEBANON G.M. Dolmadjian Achratieh P.O. Box 165.167 BEIRUT Tel: 290293 Mp·· LUXEMBOURG Hewlett-Packard Belgium S.A./N.V. Blvd de la Woluwe. 100 Woluwedal B-1200 BRUSSELS Tel: (02) 762-32-00 Telex: 23-494 paloben bru A,CH,CM,CS,E.MP.P MALAYSIA Hewlett-Packard Sales (Malaysia) Sdn. Bhd. 1st Floor, Bangunan British American Jalan Semantan, Damansara Heights KUALA LUMPUR 23-03 Tel: 943022 Telex: MA31011 A,CH,E.M.P * Protei Engineering Lot 319, Satok Road P.O.Box 1917 Kuching, SARAWAK Tel: 53544 Telex: MA 70904 PROMAL Cable: PROTELENG A,E,M MALTA Philip Toledo Lid. Notabile Rd. MRIEHEL Tel: 447 47, 455 66 Telex: 649 Media MW P MEXICO Hewlett-Packard Mexicana, S.A. de C.V. Av. Periferico Sw No. 6501 Tepepan, Xochimilco MEXICO D.F. 16020 Tel: 676-4600 Telex: 17-74-507 HEWPACK MEX A,CH,CS,E,MS,P Effective November 1, 1982: Hewlett-Packard Mexicana, S.A. de C.V. Ejercito Nacional #570 Colonia Granada 11560 MEXICO, O.F. CH" Hewlett-Packard Mexicana, S.A. de C.V. Rio Volga 600 Pte. Colonia del Valle MONTERREY, N.L. Tel: 78-42-93, 78-42-40, 78-42-41 Telex: 038-2410 HPMTY ME CH Effective Nov. 1, 1982 Ave. Colonia del Valle #409 Col. del Valle Municinio de garza garcia MONTERREY, N. V. ECISA Taihe 229, Piso 10 Polanco MEXICO D.F. 11570 Tel: 250-5391 Telex: 17-72755 ECE ME M MOROCCO Dolbeau 81 rue Karatchi CASABLANCA Tel: 3041-82, 3068-38 Telex: 23051,22822 E Gerep 2 rue d'Agadir Boite Postale 156 CASABLANCA Tel: 272093, 272095 Telex: 23739 P NETHERLANDS Hewlett-Packard Nederland B.V. Van Heuven GoedhartJaan 121 NL 1181KK AMSTELVEEN P.O. Box 667 NL 1180 AR AMSTELVEEN Tel: (20) 47-20-21 Telex: 13 216 A,CH,CM,CS,E,MP.P Hewlett-Packard Nederland B.V. Bongerd 2 NL 2906VK CAPPELLE, AID Ijessel P.O. Box 41 NL2900 AA CAPELLE, Ijssel Tel: (10) 51-64-44 Telex: 21261 HEPAC NL A,CH,CS NEW ZEALAND Hewlett-Packard (N.Z.) ltd. 169 Manukau Road P.O. Box 26-189 Epsom, AUCKLAND Tel: 687-159 Cable: HEWPACK Auckland CH,CM.E,P* Hewlett-Packard (N.Z.) ltd. 4-12 Cruickshank Street Kilbirnie, WEWNGTON 3 P.O. Box 9443 Courtenay Place, WELLINGTON 3 Tel: 877-199 Cable: HEWPACK Wellington CH,CM,E,P Northrop Insl!Uments & Systems Lid. 369 Khyber Pass Road P.O. Box 8602 AUCKLAND Tel: 794-091 Telex: 60605 A,M Northrop Instruments & Systems Lid. 110 Mandeville St. P.O. Box 8388 CHRISTCHURCH Tel: 486-928 Telex: 4203 A,M Northrop Instruments & Systems Lid. Sturdee House 85-87 Ghuznee Street P.O. Box 2406 WEWNGTON Tel: 850-091 Telex: NZ 3380 A,M NORTHERN IRELAND Cardiac Services Company 95A Finaghy Road South BELFAST BT 10 OBY Tel' (0232) 625-566 Telex: 747626 M NORWAY Hewlett-Packard Norge AlS Folke Bernadottes vel 50 P.O. Box 3558 N-5033 FYLLINGSDALEN (Bergen) Tel: (05) 16-55-40 Telex: 16621 hpnas n CH.CS,E,MS ~ewlett-Packard Norge AlS Osterndalen 18 P.O. Box 34 N-1345 OSTER'AS Tel: (02) 17-11-80 Telex: 16621 hpnas n A,CH.CM.CS.E,M.P OMAN Khimjil Ramdas P.O. Box 19 MUSCAT Tel: 722225, 745601 Telex: 3289 BROKER MB MUSCAT P 0lAp] o (a SALES & SUPPORT OFFICES Arranged Alphabetically by Country Suhail & Saud Bahwan P.O. Box 169 MUSCAT Tel: 734201-3 Telex: 3274 BAHWAN MB PAKISTAN Mushko & Company Ltd. 1-B, Street 43 Sector F-811 ISLAMABAD Tel' 26875 Cable: FEMUS Rawalpindi A,E,M Mushko & Company Ltd. Oosman Chambers Abdullah Haroon Road KARACHI 0302 Tel: 511027,512927 Telex: 2894 MUSKO PK Cable: COOPERA TOR Karachi A,E,M,P· PANAMA Eleclr6nico Balboa, S.A. Calle Samuel Lewis, Ed. Alta Aparlado 4929 PANAMAS Tel' 64-2700 Telex: 3483 ELECTRON PG A,CM,E,U,P Folo Internacional, S.A. Colon Free Zone Aparlado 2068 COLON 3 Tel: 45-2333 Telex: 8626 IMPORT PG P PERU cra Electro M~dica S.A. Los Flamencos 145, San Isidro Cas/lla 1030 UMA 1 Tel: 41-4325,41-3703 Telex: Pub. Booth 25306 A,CM,E,M,P Soquimica Av. da Liberdade, 220-2 1298 LISBON Codex Tel: 5621811213 Telex: 13316 SABASA P Telectra-Empress Tecnica. de Equipmentos Electricos S.a.f.I. Rua Rodrigo da Fonseca 103 P.O. Box 2531 P-USBON 1 Tel: (19) 68-60-72 Telex: 12598 CH,CS,E,P PUERTO RICO Hewlett-Packard Puerto Rico P.O. Box 4407 CAROUNA, Puerto Rico 00628 Calle 272 Edificio 203 Urb. Country Club RIO PIEDRAS, Puerto Rico 00924 Tel: (809) 762-7255 A,CH,CS QATAR Nasser Trading & Contracting P.O. Box 1563 DOHA Tel: 22170,23539 Telex: 4439 NASSER OH M Computearbia P.O. Box 2750 DOHA Tel: 883555 Telex: 4806 CHPARB P Eastern Technical Services P.O. Box 4747 DOHA Tel: 329993 Telex: 4156 EASTEC OH SAUDI ARABIA Modern Electronic Establishment Hewlell-Packard Division P.O. Box 281 Thuobah AL-KHOBAR PHILIPPINES Tel: 864-46 78 The Online Advanced Systems Telex: 671 106 HPMEEK SJ Corporation Rico House, Amorsolo Cor. Herrera Cable: ELECTA AL-KHOBAR CH,CS,E,M,P Street Modern Electronic Establishment Legaspi Village, Makati Hewlett-Packard Division P.O. Box 1510 P.O. Box 1228 Metro MANILA Tel: 85-35-81,85-34-91,85-32-21 Redec Plaza, 6th Floor JEDDAH Telex: 3274 ONLINE Tel: 644 38 48 A,CH,CS,E,M Telex: 402712 FARNAS SJ Electronic Specialists and Cable: ELECTA JEDDAH Proponents Inc. CH,CS,E,M,P 690-B Epifanio de los Santos Modern Electronic Establishment Avenue Hewlett Packard Division Cubao, QUEZON CITY P.O. Box 2728 P.O. Box 2649 Manila Tel: 98-96-81, 98-96-82, 98-96-83 RIYADH Tel: 491-97 15, 491-63 87 Telex: 40018, 42000 ITT GLOBE Telex: 202049 MEERYD SJ MACKAY BOOTH CH,CS,E,M,P P PORTUGAL Mundlnter Intercambio Mundial de Comercio S.a.r.1 P.O. Box 2761 Av. Antonio Augusto de AgUiar 138 P-USBON Tel: (19) 53-21-31, 53-21-37 Telex: 16691 munter p M SCOTLAND Hewlett-Packard ltd. Royal Bank Buildings Swan Street BRECHIN, Angus, Scotland Tel: (03562) 3101-2 CH Hewlett-Packard ltd. SOUTH QUEENSFERRY West Lothian, EH30 9GT GB-Scotland Tel: (031) 3311188 Telex: 72682 A,CH,CM,CS,E,M SINGAPORE Hewlett-Packard Singapore (Ply.) ltd. P.O. Box 58 Alexandra Post Office SINGAPORE, 9115 6th Floor, Inchcape House 450-452 Alexandra Road SINGAPORE 0511 Tel: 631788 Telex: HPSGSO RS 34209 Cable: HEWPACK, Singapore A,CH,CS,E,MS,P Dynamar Internalional Ltd. Unit 05-11 Block 6 Kolam Ayer Industrial Estate SINGAPORE 1334 Tel: 747-6188 Telex: RS 26283 CM Hewlett-Packard Espanola S.A. c/o Costa Brava 13 Colonia Mirasierra E-MADRID 34 Tel: (1) 734-8061, (1) 734-1162 CH,CS,M Hewlett-Packard Espanola S.A. Av Ram6n y Cajal1-9 Edlficio Sevilla 1, E-SEVILLA 5 Tel: 64-44-54, 64-44-58 Telex: 72933 A,CS,MS,P Hewlett-Packard Espanola S.A. ClRamon Gordillo, 1 (Entlo.3) E-VALENCIA 10 Tel: 361-1354, 361-1358 CH,P SWEDEN Hewlett-Packard Sverige AS Sunnanvagen 14K S-22226 LUND Tel: (046) 13-69-79 0 Telex: (854) 17886 (via SPANGA SOUTH AFRICA Hewlett-Packard So Africa (Ply.) Ltd. office) CH P.O. Box 120 Hewlett-Packard Sverige AS Howard Place Vastra Vintergatan 9 Pine Park Center, Forest Drive, S-70344 OREBRO Pinelands Tel: (19) 10-48-80 0 CAPE PROVINCE 7405 Telex: (854) 17886 (via SPANGA Tel: 53-7954 office) Telex: 57-20006 C.H A,CH,CM,E,MS,P Hewlett-Packard So Africa (Pty.) Ltd. Hewlett-Packard Sverige AB Skalholtsgatan 9, Klsta P.O. Box 37099 Box 19 0 92 Overport Drive S-16393 SPANGA DURBAN 4067 Tel: (08) 750-2000 Tel: 28-4178, 28-4179, 28-4110 Telex: (854) 17886 Telex: 6-22954 A,CH,CM,CS,E,MS,P CH,CM Hewlett-Packard So Africa (Pty.) Ltd. Hewlett-Packard Sverlge AS Frlitallisgatan 30 6 Linton Arcade S-42132 VASTRA-FROLUNDA 511 Cape Road Tel: (031) 49-09-50 0 Linton Grange Telex: (854) 17886 (via SPANGA PORT EUZABETH 6001 office) Tel: 041-302148 CH,E,P CH Hewlett-Packard So Africa (Ply.) Ltd. SWITZERLAND P.O. Box 33345 Hewlett-Packard (SChwelz) AG Glenstantia 0010 TRANSVAAL Clarastrasse 12 1st Floor East CH-4058 BASLE Constantia Park Ridge Shopping Tel: (61) 33-59-20 Centre A Constantia Park Hewlett-Packard (Schweiz) AG PRETORIA Bahnhoheweg 44 Tel: 982043 CH-3018 BERN Telex: 32163 Tel: (031) 56-24-22 CH,E Hewlett-Packard So Africa (Ply.) ltd. CH Hewlett-Packard (Schweiz) AG Private Bag Wendywood 47 Avenue Blanc SANDTON 2144 CH-1202 GENEVA Tel: 802-5111, 802-5125 Tel: (022) 32-48-00 Telex: 4-20877 CH,CM,CS Cable: HEWPACK Johannesburg Hewlett-Packard (Schweiz) AG A,CH,CM,CS,E,MS,P 19 Chemin Chateau Bloc CH-1219 LE UGNON-Geneva SPAIN Tel: (022) 96-03-22 Hewlett-Packard Espanola S.A. Telex: 27333 hpag ch c/Entenza, 321 Cable: HEWPACKAG Geneva E-BARCELONA 29 A,E,MS,P Tel: (3) 322-24-51,321-73-54 Telex: 52603 hpbee Hewlett-Packard (Schwelz) AG A,CH,CS,E,MS,P Allmend 2 CH-8967 WIDEN Hewlett-Packard Espanola S.A. Tel: (57) 31 21 11 c/San Vicente SIN Telex: 53933 hpag ch Edlficlo Albia 11,7 B Cable: HPAG CH E-BILBAO 1 A,CH,CM,CS,E,MS,P Tel: (4) 23-8306, (4) 23-8206 A,CH,E,MS SYRIA HewleU-Packard Espanola S.A. General Electronic Inc. Calle Jerez 3 NuriBasha E-MADRID 16 P.O. Box 5781 Tel: (1) 458-2600 DAMASCUS Telex: 23515 hpe Tel: 33-24-87 A,CM,E Telex: 112161TIKAL SY Cable: ELECTROBOR DAMASCUS E Middle East Electronics PlaceAzmd Boite Postale 2308 DAMASCUS Tel: 334592 Telex: 11304 SA TACO SY M,P TAIWAN Hewlett-Packard Far East Ltd. Kaohsiung Office 2/F 68-2, Chung Cheng 3rd Road KAOHSIUNG Tel: 241-2318, 261-3253 CH,CS,E Hewlett-Packard Far East Ltd. Taiwan Branch 5th Floor 205 Tun Hwa North Road TAIPEI Tel:(02) 751-0404 Cable:HEWPACK Taipei A,CH,CM,CS,E,M,P Ing Uh Trading Co. 3rd Floor, 7 Jen-Ai Road, Sec. 2 TAIPEI tOO Tel: (02) 3948191 Cable: INGLIH TAIPEI A THAILAND Unimesa 30 Patpong Ave., Suriwong BANGKOK 5 Tel: 234 091, 234 092 Telex: 84439 Simonco TH Cable: UNIMESA Bangkok A,CH,CS,E,M Bangkok Business Equipment Lid. 515-6 Deja Road BANGKOK Tel: 234-8670, 234-8671 Telex: 87669-BEOUIPT TH Cable: BUSIOUIPT Bangkok P TRINIDAD & TOBAGO Caribbean Telecoms Ltd. 50lA Jernlngham Avenue P.O. Box 732 PORT-OF·SPAIN Tel' 62-44213,62-44214 Telex: 235,272 HUGCO WG A,CM,E,M,P TUNISIA Tunlsie Electronique 31 Avenue de Is Liberle TUNIS Tel: 280-144 E,P Corema 1ter. Av. de Carlhage TUNIS Tel: 253-821 Telex: 12319 CABAM TN M TURKEY Teknim Company Ltd. Iran Caddesi No. 7 Kavaklidere, ANKARA Tel: 275800 Telex: 42155 TKNM TR E E.M.A. Medina Eidem Sokak No.4116 Yuksel Caddesi ANKARA Tel: 175622 M UNITED ARAB EMIRATES Emitac Lid. P.O. Box 1641 SHARJAH Tel: 354121, 354123 Telex: 68136 Emitac Sh CH,CS,E,M,P UNITED KINGDOM .ee: GREAT BRITAIN NOATHERNIRELAND SCOTLAND UNITED STATES ADabama Hewlett-Packard Co. 700 Century Park South Suite 128 BIRMINGHAM, AL 35226 Tel: (205) 822-6802 CH,MP Hewlett-Packard Co. P.O. Box 4207 8290 Whitesburg Drive, S.E. HUNTSVILLE, AL 35802 Tel: (205) 881-4591 CH,CM,CS,E,M* Alaska Hewlett-Packard Co. 1577 "cn Street, SUite 252 ANCHORAGE, AK 99501 Tel: (907) 276-5709 CH* Arizona Hewlett-Packard Co. 2336 East Magnolia Street PHOENIX, AZ 85034 Tel: (602) 273-8000 A,CH,CM,CS,E,MS Hewlett-Packard Co. 2424 East Aragon Road TUCSON, AZ 85706 Tel: (602) 889-4631 CH,E,MS** Arkansas Hewlett-Packard Co. P.O. Box 5646 Brady Station UnLE ROCK, AR 72215 111 N. Filmore UnLE ROCK, AR 72205 Tel: (501) 664-8773,376-1844 MS California Hewlett-Packard Co. 99 South Hili Or. BRISBANE, CA 94005 Tel: (415) 330·2500 CH,CS Hewlett-Packard Co. 7621 canoga Avenue CANOGA PARK, CA 91304 Tel: (213) 702-8300 A,CH,CS,E,P Hewlett-Packard Co. 5060 Clinton Avenue FRESNO, CA 93727 Tel: (209) 252-9652 MS Hewlett-Packard Co. P.O. Box 4230 1430 East Orangethorpe FULLERTON, CA 92631 Tel: (714) 870·1000 CH,CM,CS,E,MP Hewlett-Packard Co. 320 S. Kellogg, SUIte B GOLETA, CA 93117 Tel: (805) 967-3405 CH Hewlett-Packard Co. 5400 W. Rosecrans Boulevard LAWNDALE, CA 90260 P.O. Box 92105 LOS ANGELES, CA 90009 Tel: (213) 970·7500 Telex: 910-325-6608 CH,CM,CS,MP Hewlett-Packard Co. 3200 Hillview Avenue PALO ALTO, CA 94304 Tel: (415) 857-8000 CH,CS,E Hewlett-Packard Co. P.O. Box 15976 (95813) 4244 So. Market Court, SUite A SACRAMENTO, CA 95834 Tel: (916) 929-7222 A*,CH,CS,E,MS Hewlett-Packard Co. 9606 Aero Drive P.O. Box 23333 SAN DIEGO, CA 92123 Tel: (714) 279-3200 CH,CM,CS,E,MP Hewlett-Packard Co. 2305 Camino Ramon "C" SAN RAMON, CA 94583 Tel: (415) 838-5900 CH,CS Hewlett-Packard Co. P.O. Box 4230 Fullerton, CA 92631 363 Brookhollow Drive SANTA ANA, CA 92705 Tel: (714) 641-0977 A,CH,CM,CS,MP Hewlett-Packard Co. SUite A 5553 Hollister SANTA BARBARA, CA 93111 Tel: (805) 964-3390 Hewlett-Packard Co. 3003 Scott Boulevard SANTA CLARA, CA 95050 Tel: (408) 988-7000 A,CH,CM,CS,E,MP Hewlett-Packard Co. 5703 Corsa Avenue WESTLAKE VILLAGE, CA 91362 Tel: (213) 706-6800 E*,CH*,CS* Colorado Hewlett-Packard Co. 24 Inverness Place, East ENGLEWOOD, CO 80112 Tel: (303) 771-3455 Telex: 910-935-0785 A,CH,CM,CS,E,MS Connecticut Hewlett-Packard Co. 47 Barnes Industrial Road South P.O. Box 5007 WALUNGFORD, CT 06492 Tel: (203) 265-7801 A,CH,CM,CS,E,MS Florida Hewlett-Packard Co. P.O. Box 24210 (33307) 2901 N.W. 62nd Street FORT LAUDERDALE, FL 33307 Tel: (305) 973-2600 CH,CS,E,MP Hewlett-Packard Co. 4080 Woodcock Drive, #132 Brownett Building JACKSONVILLE, FL 32207 Tel: (904) 3P8-0663 C* ,E*,MS** Hewlett-Packard Co. 1101 W. Hibiscus Ave., Suite E210 MELBOURNE, FL 32901 Tel: (305) 729-0704 E* Hewlett-Packard Co. P.O. Box 13910 (32859) 6177 Lake Ellenor Drive ORLANDO, FL 32809 Tel: (305) 859-2900 A,CH,CM,CS,E,MS Hewlett-Packard Co. 6425 N. Pensacola Blvd. Suite 4, Building 1 P.O. Box 12826 PENSACOLA, FL 32575 Tel: (904) 476-8422 A,MS Hewlett-Packard Co. 5750B N. Hoover Blvd., Suite 123 TAMPA, FL 33614 Tel: (813) 884-3282 A*,CH,CM,CS,E* ,M* Georgia Hewlett-Packard Co. P.O. Box 105005 ATLANTA, GA 30348 2000 South Park Place ATLANTA, GA 30339 Tel: (404) 955-1500 Telex: 810-766-4890 A,CH,CM,CS,E,MP Hewlett-Packard Co. P.O. Box 816 (80903) 2531 Center West Parkway Suite 110 AUGUSTA, GA 30904 Tel: (404) 736-0592 MS Hewlett-Packard Co. 200-E Montgomery Cross Rds. SAVANNAH, GA 31401 Tel:(912) 925-5358 CH** Hewlett-Packard Co. P.O. Box 2103 WARNER ROBINS, GA 31099 1172 N. Davis Drive WARNER ROBINS, GA 31093 Tel: (912) 923-8831 E HawaII Hewlett-Packard Co. Kawalahao Plaza, Suite 190 567 South King Street HONOLULU, HI 96813 Tel: (808) 526-1555 A,CH,E,MS illinois Hewlett-Packard Co. 211 Prospect Road, Suite C BLOOMINGTON, IL 61701 Tel: (309) 662-9411 CH,MS** Hewlett-Packard Co. 1100 31st Street, Suite 100 DOWNERS GROVE, IL 60515 Tel: (312) 960-5760 CH,CS Hewlett-Packard Co. 5201 Tollview Drive ROWNG MEADOWS, Il 60008 Tel: (312) 255-9800 A,CH,CM,CS,E,MP Indiana Hewlett-Packard Co. P.O. Box 50807 7301 No. Shadeland Avenue INDIANAPOUS, IN 46250 Tel: (317) 842-1000 A,CH,CM,CS,E,MS Iowa Hewlett-Packard Co. 1776 22nd Street, Suite 1 WEST DES MOINES, IA 50265 Tel: (515) 224-1435 CH,MS** Hewlett-Packard Co. 2415 Heinz Road IOWA CITY,IA 52240 Tel: (319) 351-1020 CH,E*,MS Kansas Hewlett-Packard Co. 1644 S. Rock Road WICHITA, KA 67207 Tel: (316) 684-8491 CH Kentucky Hewlett-Packard Co. 10300 Linn Station Road Suite 100 LOUISVILLE, KY 40223 Tel: (502) 426-0100 A,CH,CS,MS Louisiana Hewlett-Packard Co. 8126 Calais Bldg. BATON ROUGE, LA 70806 Tel: (504) 467-4100 A**.CH** Hewlett-Packard Co. P.O. Box 1449 KENNER, LA 70062 160 James Drive East DESTAHAN, LA 70047 Tel: (504) 467-4100 A,CH,CS,E,MS Maryland Hewlett-Packard Co. 7121 Standard Drive HANOVER, MD 21076 Tel: (301) 796-7700 Telex: 710-862-1943 Eff. Dec. 1, 1982 3701 Koppers SI. BALTIMORE, MD 21227 Tel: (301) 644-5800 A,CH,CM,CS,E,MS Hewlett-Packard Co. 2 Choke Cherry Road ROCKVILLE, MD 20850 Tel: (301) 948-6370 A,CH,CM,CS,E,MP Massachusetts Hewlett-Packard Co. 32 Hartwell Avenue LEXINGTON, MA 02173 Tel: (617) 861-8960 A,CH,CM,CS,E,MP Michigan Hewlett-Packard Co. 23855 Research Drive FARMINGTON HILLS, MI48024 Tel: (313) 476-6400 A,CH,CM,CS,E,MP Hewlett-Packard Co. 4326 Cascade Road S.E. GRAND RAPIDS, MI 49506 Tel: (616) 957-1970 CH,CS,MS Hewlett-Packard Co. 1771 W. Big Beaver Road TROY, MI 48084 Tel: (313) 643-6474 CH,CS Minnesota Hewlett-Packard Co. 2025 W. Larpenteur Ave. ST. PAUL, MN 55113 Tel: (612) 644-1100 A,CH,CM,CS,E,MP Mississippi Hewlett-Packard Co. P.O. Box 5028 1675 Lakeland Drive JACKSON, MS 39216 Tel: (601) 982-9363 MS Missouri Hewlett-Packard Co. 11131 Colorado Avenue KANSAS CITY, MO 64137 Tel: (816) 763-8000 A,CH,CM,CS,E,MS Hewlett-Packard Co. P.O. Box 27307 1024 EXecutive Parkway ST. LOUIS, MO 63141 Tel: (314) 878-0200 A,CH,CS,E,MP Effective September 1982: 13001 Hollenberg Drive BRIDGETON, MO 63044 Nebraska Hewlett-Packard 7101 Mercy Road Suite 101, IBX Building OMAHA, NE 68106 Tel: (402) 392-0948 CM,MS Nevada Hewlett-Packard Co. Suite 0-130 5030 Paradise Blvd. LAS VEGAS, NV 89119 Tel: (702) 736-6610 MS** New Jersey Hewlett-Packard Co. W120 Century Road PARAMUS, NJ 07652 Tel: (201) 265-5000 A,CH,CM,CS,E,MP Hewlett-Packard Co. 60 New England Av. West PISCATAWAY, NJ 08854 Tel: (201) 981-1199 A,CH,CM,CS,E New Mexico Hewlett-Packard Co. P.O. Box 11634 ALBUQUERQUE, NM 87112 11300 Lomas Blvd.,N.E. ALBUQUERQUE, NM 87123 Tel: (505) 292-1330 Telex: 910-989-1185 CH,CS,E,MS New York Hewlett-Packard Co. 5 Computer Drive South ALBANY, NY 12205 Tel: (518) 458-1550 Telex: 710-444-4691 A,CH,E,MS Hewlett-Packard Co. P.O. Box 297 9600 Main Street CLARENCE, NY 14031 Tel: (716) 759-8621 Telex: 710-523-1893 CH Hewlett-Packard Co. ~OO Cross Keys Office FAIRPORT, NY 14450 Tel: (716) 223-9950 Telex: 510-253-0092 CH,CM,CS,E,MS Hewlett-Packard Co. 7641 Henry Clay Blvd. UVERPOOL, NY 13088 Tel: (315) 451-1820 A,CH,CM,E,MS Hewlett-Packard Co. NO.1 Pennsylvania Plaza 55th Floor 34th Street & 8th Avenue NEW YORK, NY 10119 Tel: (212) 971-0800 CH,CS,E· ,M * G (;,l 0(,;l, SALES & SUPPORT OFFICES Arranged Alphabetically by Country Hewlett-Packard Co. 250 Westchester Avenue WHITE PLAINS, NY 10604 CM,CH,CS,E Hewlett-Packard Co. 3 Crossways Park West WOODBURY, NY 11797 Tel: (516) 921-0300 Telex: 510-221-2183 A,CH,CM,CS,E,MS North Carolina Hewlett-Packard Co. 4915 Water's Edge Drive Suite 160 RALEIGH, NC 27606 Tel: (919) 851-3021 C,M Hewlett-Packard Co. P.O. Box 26500 5605 Roanne Way GREENSBORO, NC 27450 Tel: (919) 852-1800 A,CH,CM,CS,E,MS Ohio Hewlett-Packard Co. 9920 Carver Road CINCINNATI, OH 45242 Tel: (513) 891-9870 CH,CS.MS Hewlett-Packard Co. 16500 Sprague Road CLEVELAND, OH 44130 Tel: (216) 243-7300 Telex: 810-423-9430 A.CH,CM,CS,E,MS Hewlett-Packard Co. 962 Crupper Ave. COLUMBUS, OH 43229 Tel: (614) 436-1041 CH,CM,CS,E • Hewlett-Packard Co. P.O. Box 280 330 Progress Rd. DAYTON, OH 45449 Tel: (513) 859-8202 A,CH,CM.E· ,MS Oklahoma Hewlett-Packard Co. P.O. Box 32008 Oklahoma City. OK 73123 1503 W. Gore Blvd., SUite #2 LAWTON, OK 73505 Tel: (405) 248-4248 C Hewlett-Packard Co. P.O. Box 32008 OKLAHOMA CITY, OK 73123 304 N. Meridian Avenue, Suite A OKLAHOMA CITY, OK 73107 Tel: (405) 946-9499 A•,CH,E· .MS Hewlett-Packard Co. Suite 121 9920 E. 42nd Street TULSA, OK 74145 Tel: (918) 665-3300 A·· ,CH,CS,M· Or~gon Hewlett-Packard Co. 1500 Valley River Drive Suite 330 EUGENE, OR 97401 Tel: (503) 683-8075 C Hewlett-Packard Co. 9255 S. W. Pioneer Court WILSONVILLE, OR 97070 Tel: (503) 682-8000 A,CH,CS,E *,MS Pennsylvania Hewlett-Packard Co. 1021 8th Avenue King of Prussia Industrial Park KING OF PRUSSIA, PA 19406 Tel: (215) 265-7000 Telex: 510-660-2670 A,CH,CM,CS,E,MP Hewlett-Packard Co. 111 Zeta Drive PlnSBURGH, PA 15238 Tel: (412) 782-0400 A,CH,CS,E,MP South Carolina Hewlett-Packard Co. P.O. Box 21708 Brookside Park, Suite 122 1 Harbison Way COLUMBIA, SC 29210 Tel: (803) 732-0400 CH,E,MS Hewlett-Packard Co. Koger Executive Center Chesterfield Bldg., Suite 124 GREENVILLE, SC 29615 Tel: (803) 748-5601 C Tennessee Hewlett-Packard Co. P.O. Box 22490 224 Peters Road Suite 102 KNOXVILLE, TN 37922 Tel: (615) 691-2371 A·,CH,MS Hewlett-Packard Co. 3070 Directors Row MEMPHIS, TN 38131 Tel: (901) 346-8370 A,CH,MS Hewlett-Packard Co. 230 Great Circle Road SUite 216 NASHVILLE, TN 32228 Tel: (615) 255-1271 MS·· Texas Hewlett-Packard Co. Suite 310W 7800 Shoalcreek Blvd. AUmN, TX 78757 Tel: (512) 459-3143 E Hewlett-Packard Co. Suite C-ll0 4171 North Mesa EL PASO, TX 79902 Tel: (915) 533-3555,533-4489 CH.E·,MS*· Hewlett-Packard Co. 5020 Mark IV Parkway FORT WORTH, TX 76106 Tel: (817) 625-6361 CH,CS· Hewlett-Packard Co. P.O. Box 42816 HOUSTON, TX 77042 10535 Harwin Street HOUSTON, TX 77036 Tel: (713) 776-6400 A,CH,CM,CS,E,MP Hewlett-Packard Co. 3309 67th Street Suite 24 LUBBOCK, TX 79413 Tel: (806) 799-4472 M Hewlett-Packard Co. 417 Nolana Gardens, Suite C P.O. Box 2256 McALLEN, TX 78501 Tel: (512) 781-3226 CH,CS Hewlett-Packard Co. P.O. Box 1270 RICHARDSON, TX 75080 930 E. CampbeU Rd. RICHARDSON, TX75081 Tel: (214) 231-6101 A,CH,CM,CS,E,MP Hewlett-Packard Co. P.O. Box 32993 SAN ANTONIO, TX 78216 1020 central Parkway South SAN ANTONIO, TX 78232 Tel: (512) 494-9336 CH,CS,E,MS Utah Hewlett-Packard Co. P.O. Box 26626 3530 W. 2100 South SALT LAKE CITY, UT 84119 Tel: (801) 974-1700 A.CH,CS.E.MS Guillermo Kraft del Uruguay S.A. Av. Lib. Brig. Gral. Lavslleja 2083 MONTEVIDEO Tel: 234588, 234808, 208830 Telex: 22030 ACTOUR UY P VENEZUELA Hewlett-Packard de Venezuela C.A. 3A Transversal Los Ruices Norte Edificio Sagre Apartado 50933 CARACAS 1071 Tel: 239-4133 Telex: 25146 HEWPACK A,CH,CS,E,MS,P Colimodio S.A. Esle 2 - Sur 21 No. 148 Apartado 1053 CARACAS 1010 Tel: 571-3511 Telex: 21529 COLMOD'O M Headquarters offices NORTH/CENTRAL AFRICA Hewlett-Packard S.A. 7 Rue du Bois-du-Lan CH-1217 MEYRIN 2, Switzerland Tel: (022) 98-96-51 Telex: 27835 hpse Cable: HEWPACKSA Geneve Washington Hewlett-Packard Co. 15815 S.E. 37th Street BELLEVUE, WA 98006 Tel: (206) 643-4.000 A,CH,CM.CS,E.MP Hewlett-Packatd Co. Suite A 708 North Argonne Road SPOKANE, WA 99206 Tel: (509) 922-7000 CH.CS CANADA Hewlett-Packard (Canada) Ltd. 6877 Goreway Drive MISSISSAUGA, Ontario L4V 1M8 Tel: (416) 678-9430 Telex: 610-492-4246 Wisconsin Hewlett-Packard Co. 150 S. Sunny Slope Road BROOKFIELD, WI 53006 Tel: (414) 784-8800 A,CH,CS,E· .MP URUGUAY Pablo Ferrando S.A.C. e L. Avenida Ilalis 2877 CBsilla de Correo 370 MONTEVIDEO Tel· 80-2586 Telex: Public Boolh 901 A,CM,E,M .~- If there Ie no ealee office Ileted for your area, contact one of theee headquarters offices. Virginia Hewlett-Packard Co. P.O. Box 9669 2914 Hungary Spring Road RICHMOND, VA 23228 Tel: (804) 285-3431 A.CH,CS,E.MS Hewlett-Packard Co. 3106 Peters Creek Road, N.W. ROANOKE, VA 24019 Tel: (703) 563-2205 CH,E·· Hewlett-Packard Co. 5700 Thurston Avenue Suite 111 VIRGINIA BEACH, VA 23455 Tel: (804) 460-2471 CHtMS West Virginia Hewlett-Packard Co. 4604 MacCorkle Ave., S.E. CHARLESTON, WV 25304-4297 Tel: (304) 925-0492 A,MS ZIMBABWE Field Technical Sales 45 Kelvin Road, North P.B.3458 SAUSBURY Tel: 705231 Telex: 4-122 RH C,E,M,P ASIA Hewlett-Packard Asia Ltd. 6th Floor, Sun Hung Kai Center 30 Harbor Rd. G.P.O. Box 795 HONG KONG Tel: 5-8323211 Telex: 66678 HEWPA HX Cable: HEWPACK HONG KONG EASTERN EUROPE Hewlett-Packard Ges.m.b.h. Lieblgasse 1 P.O.Box 72 A-1222 VIENNA, Austria Tel: (222) 2365110 Telex: 1 34425 HEPA A NORTHERN EUROPE Hewlett-Packard S.A. Uilenstede 475 NL-1183 AG AIISTELVEEN The Netherlands P.O.Box 999 NL-1180 AZ AMSTELVEEN The Netherlands Tel: 20 437771 OTHER EUROPE Hewlett-Packard S.A. 7 Rue du Bois-du-Lan CH-1217 MEYRIN 2, Switzerland Tel: (022) 98-96-51 Telex: 27835 hpse Cable: HEWPACKSA Geneve (Offices in the World Trade Center) MEDITERRANEAN AND MIDDLE EAST Hewlett-Packard S.A. Mediterranean and Middle East Operations Atrina Centre 32 Kifissias Ave. Maroussi, ATHENS, Greece Tel: 68288 11 Telex: 21-6588 HPAT GR Cable: HEWPACKSA Athens EASTERN USA Hewlett-Packard Co. 4 Choke Cherry Road Rockville, MD 20850 Tel: (301) 258-2000 MIDWESTERN USA Hewlett-Packard Co. 5201 Tollview Drive HOLUNG MEADOWS, IL 60008 Tel: (312) 255-9800 SOUTHERN USA Hewlett-Packard Co. P.O. Box 105005 450 Interstate N. Parkway ATLANTA, GA 30339 Tel: (404) 955-1500 WESTERN USA Hewlett-Packard Co. 3939 Lankersim Blvd. LOS ANGELES, CA 91604 Tel: (213) 877-1282 OTHER INTERNATIONAL AREAS Hewlett-Packard Co. Intercontinental Headquarters 3495 Deer Creek Road PALO ALTO, CA 94304 Tel: (415) 857-1501 Telex: 034-8300 Cable: HEWPACK 15 Aug 1982 5952-6900 ~ --- Part No.321l90~90eOl Pflntedin U.S.A. 9/82 E0982 IE.' rA.'~:,', H,;E" W,".,'/,·,~,_-,E., T,'T,' PAC:KARiD
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.4 Linearized : No XMP Toolkit : Adobe XMP Core 4.0-c321 44.398116, Tue Aug 04 2009 14:24:30 Modify Date : 2013:06:26 04:08:22-07:00 Create Date : 2013:06:24 12:03:09-07:00 Metadata Date : 2013:06:26 04:08:22-07:00 Creator Tool : ScanSnap Manager #S1500M Format : application/pdf Document ID : uuid:381e2b84-bb32-6949-ab95-90ab93c07948 Instance ID : uuid:4685a8ae-3d0c-4d4f-80df-9f8361b81a36 Producer : Adobe Acrobat 8.31 Paper Capture Plug-in Page Count : 324 Creator : ScanSnap Manager #S1500MEXIF Metadata provided by EXIF.tools