TCP/IP App. Services (TAS) FORTRAN Programming Guide
TCP/IP App. Services (TAS) FORTRAN Programming Guide
TCP/IP App. Services (TAS) FORTRAN Programming Guide
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
!+ OS 2200<br />
<strong>TCP</strong>/<strong>IP</strong> <strong>App</strong>lication<br />
<strong>Services</strong> (<strong>TAS</strong>) <strong>FORTRAN</strong><br />
<strong>Programming</strong><br />
<strong>Guide</strong><br />
Copyright 1997 Unisys Corporation.<br />
All rights reserved.<br />
Unisys is a registered trademark of Unisys Corporation.<br />
Level 6R1 September 1997<br />
Printed in U S America<br />
Priced Item 3787 3247-111
The names, places, and/or events used in this publication are not intended to correspond to any<br />
individual, group, or association existing, living, or otherwise. Any similarity or likeness of the names,<br />
places, and/or events with the names of any individual, living or otherwise, or that of any group or<br />
association is purely coincidental and unintentional.<br />
NO WARRANTIES OF ANY NATURE ARE EXTENDED BY THE DOCUMENT. Any product and related<br />
material disclosed herein are only furnished pursuant and subject to the terms and conditions of a duly<br />
executed Program Product License or Agreement to purchase or lease equipment. The only warranties<br />
made by Unisys, if any, with respect to the products described in this document are set forth in such<br />
License or Agreement. Unisys cannot accept any financial or other responsibility that may be the result<br />
of your use of the information in this document or software material, including direct, indirect, special,<br />
or consequential damages.<br />
You should be very careful to ensure that the use of this information and/or software material complies<br />
with the laws, rules, and regulations of the jurisdictions with respect to which it is used.<br />
The information contained herein is subject to change without notice. Revisions may be issued to advise<br />
of such changes and/or additions.<br />
RESTRICTED - Use, reproduction, or disclosure is subject to the restrictions set forth in DFARS<br />
252.227-7013 and 252.11 15/FAR 52.227-14 & 52.227-19 for commercial computer software.<br />
Correspondence regarding this publication should be forwarded to Unisys Corporation either by using<br />
the Business Reply Mail form included with this document, or by addressing remarks to Unisys<br />
Corporation,Tredyffrin/Malvern Product Information, Malvern Development Center, P.O. Box 203, Paoli,<br />
PA, 19301, U.S.A.Comments about documentation can also be sent through e-mail to:<br />
aspgpi@unisys.com<br />
All other terms mentioned in this document that are known to be trademarks or service marks have been<br />
appropriately capitalized. Unisys Corporation cannot attest to the accuracy of this information. Use of a<br />
term in this document should not be regarded as affecting the validity of any trademark or service mark.
Contents<br />
About This <strong>Guide</strong> :::::::::::::::::::::::::::::::::::::::::::::: xiii<br />
Section 1. Introduction<br />
1.1. What is <strong>TAS</strong>? ::::::::::::::::::::::::::::::::: 1-1<br />
1.2. What is the <strong>FORTRAN</strong> Interface? :::::::::::::::: 1-3<br />
1.3. Overview of the File Transfer Facility :::::::::::: 1-4<br />
1.4. Overview of the Mail Transfer Facility ::::::::::: 1-5<br />
Section 2. Procedures for Writing <strong>TAS</strong> <strong>FORTRAN</strong> Programs<br />
2.1. <strong>TAS</strong> <strong>FORTRAN</strong> Program Structure :::::::::::::: 2-1<br />
2.2. Including Information Packets and Storage Areas in<br />
a <strong>TAS</strong> <strong>FORTRAN</strong> Program :::::::::::::::::: 2-2<br />
2.2.1. Including Information Packets :::::::::::::::: 2-2<br />
2.2.2. Defining Storage Areas ::::::::::::::::::::: 2-7<br />
2.3. Using Subroutine Calls and INCLUDE Statements in a<br />
<strong>TAS</strong> <strong>FORTRAN</strong> Program :::::::::::::::::::: 2-9<br />
2.3.1. Subroutine Calls ::::::::::::::::::::::::::: 2-9<br />
2.3.2. INCLUDE Statements ::::::::::::::::::::::: 2-12<br />
2.3.3. Initialization Packets :::::::::::::::::::::::: 2-13<br />
Section 3. File Transfer <strong>App</strong>lications<br />
3.1. Using <strong>TAS</strong> Functions, Parameter Packets, and<br />
Sessions ::::::::::::::::::::::::::::::::: 3-1<br />
3.1.1. Using Parameter Packets for <strong>TAS</strong> Functions ::::: 3-1<br />
3.1.2. Opening a Session with a Remote Host ::::::::: 3-3<br />
3.1.3. Closing a Session with a Remote Host ::::::::: 3-4<br />
3.2. Allocating File Space on Remote Hosts<br />
(DDN$ALLO) :::::::::::::::::::::::::::::: 3-5<br />
3.3. Changing to Parent Directory on Remote Hosts<br />
(DDN$CDUP) :::::::::::::::::::::::::::::: 3-8<br />
3787 3247-111 iii
Contents<br />
3.4. Changing Work Directory on Remote Hosts<br />
(DDN$CWD) :::::::::::::::::::::::::::::: 3-10<br />
3.5. Deleting Files on Hosts (DDN$DEALLOC) ::::::::: 3-12<br />
3.6. Deregistering a File for Event Notification<br />
(DDN$DEREG) ::::::::::::::::::::::::::::: 3-14<br />
3.7. Remote to Local Transfer in a Session<br />
(DDN$FGET) :::::::::::::::::::::::::::::: 3-16<br />
3.8. Local to Remote Transfer in a Session<br />
(DDN$FPUT) :::::::::::::::::::::::::::::: 3-20<br />
3.9. Establishing a Session with a Remote Host<br />
(DDN$LOGIN) ::::::::::::::::::::::::::::: 3-24<br />
3.10. Making a Directory on Remote Hosts (DDN$MKD) 3-26<br />
3.11. Returning a Directory Name on Remote Hosts<br />
(DDN$PWD) ::::::::::::::::::::::::::::::: 3-28<br />
3.12. Ending a Session (DDN$QUIT) :::::::::::::::::: 3-30<br />
3.13. Registering Files for Event Notification<br />
(DDN$REGISTER) :::::::::::::::::::::::::: 3-31<br />
3.14. Renaming a File (DDN$RENAME) ::::::::::::::: 3-34<br />
3.15. Resuming a Checkpoint File Transfer<br />
(DDN$RESUME) ::::::::::::::::::::::::::: 3-36<br />
3.16. Removing a Directory on Remote Hosts<br />
(DDN$RMD) :::::::::::::::::::::::::::::: 3-38<br />
3.17. Sending Site-Specific Information about a File<br />
Transfer (DDN$SITE) ::::::::::::::::::::::: 3-40<br />
3.18. Getting Event Notification Status Information<br />
(DDN$STATUS) :::::::::::::::::::::::::::: 3-42<br />
3.19. Transferring Files or Elements between Hosts<br />
(DDN$TRANSFER) ::::::::::::::::::::::::: 3-44<br />
3.20. Designing a File Transfer <strong>App</strong>lication :::::::::::: 3-48<br />
Section 4. Mail <strong>App</strong>lications<br />
4.1. Mail Commands :::::::::::::::::::::::::::::: 4-1<br />
4.1.1. Basic Format ::::::::::::::::::::::::::::: 4-2<br />
4.1.2. Coding Your Own Subroutines :::::::::::::::: 4-2<br />
4.1.3. Statements Summarized :::::::::::::::::::: 4-2<br />
4.1.4. Start with DDN$MAILBOX ::::::::::::::::::: 4-2<br />
4.2. Listing Incoming/Outgoing Mail Items<br />
(DDN$CHECK) :::::::::::::::::::::::::::: 4-4<br />
4.3. Continuing Mail Operation with Another Buffer<br />
(DDN$CONTINUE) ::::::::::::::::::::::::: 4-8<br />
4.4. Ending a Mailbox Assignment (DDN$DISCONN) ::: 4-11<br />
iv 3787 3247-111
Contents<br />
4.5. Terminating a Mail Operation (DDN$DISCONT) ::: 4-12<br />
4.6. Creating, Changing, or Deleting Distribution Lists<br />
(DDN$DIST) ::::::::::::::::::::::::::::::: 4-13<br />
4.7. Getting Mail from the Mailbox (DDN$GET) ::::::: 4-19<br />
4.8. Creating, Changing, Assigning, or Deleting<br />
Mailboxes (DDN$MAILBOX) ::::::::::::::::: 4-22<br />
4.9. Creating an Item of Mail (DDN$PREPARE) ::::::: 4-25<br />
4.10. Deleting Mail from a Mailbox (DDN$REMOVE) :::: 4-28<br />
4.11. Sending Mail to Mailboxes (DDN$SENDMAIL) ::::: 4-30<br />
4.12. Obtaining a Mailbox Name (DDN$VERIFY) ::::::: 4-37<br />
4.13. Designing a Mail Transfer <strong>App</strong>lication ::::::::::: 4-39<br />
4.14. Using the Mail Buffer Area ::::::::::::::::::::: 4-45<br />
Section 5. Compiling, Linking, and Executing <strong>TAS</strong> <strong>FORTRAN</strong><br />
Programs<br />
5.1. Preparing Programs for Execution :::::::::::::: 5-1<br />
5.2. Run Streams for <strong>TAS</strong> <strong>FORTRAN</strong> Programs ::::::: 5-2<br />
<strong>App</strong>endix A. <strong>TAS</strong> Status Codes<br />
<strong>App</strong>endix B. Conventions for Naming Hosts, Files, and Mail<br />
B.1. Host Identifiers ::::::::::::::::::::::::::::::: B-1<br />
B.2. File Conventions :::::::::::::::::::::::::::::: B-3<br />
B.2.1. Naming Files ::::::::::::::::::::::::::::: B-3<br />
B.2.2. Naming Elements :::::::::::::::::::::::::: B-4<br />
B.2.3. Referencing Files and Elements ::::::::::::::: B-5<br />
B.2.4. Examples :::::::::::::::::::::::::::::::: B-5<br />
B.3. Mail Processor Conventions :::::::::::::::::::: B-6<br />
B.3.1. Mailbox Names/Mailbox Key ::::::::::::::::: B-6<br />
B.3.2. Mail Identifiers :::::::::::::::::::::::::::: B-6<br />
B.3.3. User Names :::::::::::::::::::::::::::::: B-7<br />
<strong>App</strong>endix C. File Transfer Example<br />
C.1. Sample File Transfer Program Run Stream :::::: C-1<br />
C.2. Sample File Transfer <strong>App</strong>lication Program ::::::: C-2<br />
3787 3247-111 v
Contents<br />
<strong>App</strong>endix D. Mail Transfer Example<br />
D.1. Sample Mail Transfer Program Run Stream ::::: D-1<br />
D.2. Sample Mail Transfer <strong>App</strong>lication Program :::::: D-2<br />
<strong>App</strong>endix E. Initialization Subroutines<br />
<strong>App</strong>endix F. Register<br />
<strong>App</strong>endix G. Deregister<br />
Glossary<br />
Bibliography<br />
F.1. Converting a File Name to a File-ID ::::::::::::: F-1<br />
F.2. Incoming File Transfer :::::::::::::::::::::::: F-3<br />
F.2.1. Overview :::::::::::::::::::::::::::::::: F-3<br />
F.2.2. Run Stream Selection :::::::::::::::::::::: F-3<br />
G.1. Deregistering File Names Associated with an<br />
<strong>App</strong>lication-id ::::::::::::::::::::::::::::: G-1<br />
G.2. Deregistering File Names That Have No Associated<br />
Wildcard ::::::::::::::::::::::::::::::::: G-3<br />
G.3. Deregistering File Names That Match a Specified<br />
File Name :::::::::::::::::::::::::::::::: G-5<br />
G.4. Deregistering File Names That Were Registered With<br />
a Wildcard :::::::::::::::::::::::::::::::: G-7<br />
vi 3787 3247-111
Figures<br />
2-1. <strong>FORTRAN</strong> Subroutine Calls and Assignment Statements :::::::::::::: 2-9<br />
2-2. Referencing Information Packets through Subroutine Calls :::::::::::: 2-10<br />
3-1. Typical <strong>TAS</strong> <strong>FORTRAN</strong> File Transfer Block Diagram :::::::::::::::::: 3-48<br />
3-2. Typical <strong>TAS</strong> <strong>FORTRAN</strong> File Transfer Flow Diagram ::::::::::::::::::: 3-49<br />
4-1. Typical <strong>TAS</strong> <strong>FORTRAN</strong> Mail Transfer Block Diagram ::::::::::::::::: 4-39<br />
4-2. Mail Transfer Flow Diagram (Create Mailbox and Prepare Mail from Buffer) 4-40<br />
4-3. Mail Transfer Flow Diagram (Assign Mailbox and Prepare Mail from File) : 4-41<br />
4-4. Mail Transfer Flow Diagram (Assign Mailbox and Send Prepared Mail) ::: 4-42<br />
4-5. Mail Transfer Flow Diagram (Create Mail from Buffer and Send<br />
Immediately) ::::::::::::::::::::::::::::::::::::::::::::: 4-43<br />
4-6. Mail Transfer Flow Diagram (Check Incoming Mail and Get First Mail Item) 4-44<br />
5-1. Compile, Link, and Execute Stream for a <strong>TAS</strong> <strong>FORTRAN</strong> Program :::::: 5-3<br />
5-2. A Compile, Link, and Execute Stream :::::::::::::::::::::::::::: 5-4<br />
3787 3247-111 vii
Tables<br />
3-1. File Transfer Information Packets Referenced by INCLUDE Statements and<br />
Subroutine Calls :::::::::::::::::::::::::::::::::::::::::: 3-2<br />
4-1. Transfer Packets Referenced by INCLUDE Statements and Subroutine<br />
Calls ::::::::::::::::::::::::::::::::::::::::::::::::::: 4-3<br />
A-1. Class Code 192 Detail Status Values ::::::::::::::::::::::::::::: A-2<br />
A-2. Class Code 193 Detail Status Values ::::::::::::::::::::::::::::: A-2<br />
A-3. Class Code 194 Detail Status Values ::::::::::::::::::::::::::::: A-10<br />
A-4. D$PCEF Error Indicators :::::::::::::::::::::::::::::::::::::: A-19<br />
A-5. D$ELST Errors :::::::::::::::::::::::::::::::::::::::::::::: A-20<br />
3787 3247-111 ix
Examples<br />
C-1. UCS <strong>FORTRAN</strong> Compile and Link Stream for Sample File Transfer<br />
Program :::::::::::::::::::::::::::::::::::::::::::::::: C-1<br />
D-1. UCS <strong>FORTRAN</strong> Compile and Link Stream for Sample Mail Transfer<br />
Program :::::::::::::::::::::::::::::::::::::::::::::::: D-1<br />
3787 3247-111 xi
About This <strong>Guide</strong><br />
Purpose<br />
Scope<br />
Audience<br />
This guide is one of a series designed to instruct and guide you in using the Unisys <strong>TCP</strong>/<strong>IP</strong><br />
<strong>App</strong>lication <strong>Services</strong> (<strong>TAS</strong>) software. It describes how to write <strong>TAS</strong> <strong>FORTRAN</strong> mail and<br />
file transfer application programs for a <strong>TCP</strong>/<strong>IP</strong> network.<br />
The product name <strong>TAS</strong> replaces DDN 1100 (Defense Data Network). The term <strong>TAS</strong> gives a<br />
clearer picture of the services available, as the use of <strong>TCP</strong>/<strong>IP</strong> has expanded far beyond the<br />
Defense Data Network where it originated.<br />
Program-to-program communication is not discussed in this document.<br />
Program-to-program software is now packaged as part of the operating system group and<br />
is discussed in the DDP-PPC <strong>TCP</strong>/<strong>IP</strong> Interface <strong>FORTRAN</strong> <strong>Programming</strong> <strong>Guide</strong>.<br />
The purpose of this guide is to instruct an applications programmer who wishes to:<br />
$ Use a Unisys-supplied <strong>FORTRAN</strong> copy library to insert <strong>TAS</strong> pre-written information<br />
packets and subroutine calls into a Universal Compiling System (UCS) <strong>FORTRAN</strong><br />
program<br />
$ Write a <strong>FORTRAN</strong> application program using the <strong>TAS</strong> <strong>FORTRAN</strong> information packets<br />
and subroutine calls<br />
$ Compile the program<br />
$ Link the application element and <strong>TAS</strong> relocatable or object module element as one<br />
object module element<br />
$ Execute the program<br />
This guide provides detailed information on <strong>TAS</strong> <strong>FORTRAN</strong> subroutine calls and<br />
information packets. It describes how to organize the calls and packets to enable users to<br />
write customized <strong>FORTRAN</strong> applications that can exchange data between programs,<br />
transfer files or process mail in a multihost <strong>TAS</strong> network.<br />
The primary audience for this guide is the applications programmer.<br />
3787 3247-111 xiii
About This <strong>Guide</strong><br />
This person is typically a <strong>FORTRAN</strong> programmer with several years of experience. He or<br />
she might have a limited knowledge of communications and is dependent on reading this<br />
documentation to be able to write a <strong>TAS</strong> application program.<br />
The secondary audience for this guide is the site administrator.<br />
This person typically has network and data base management experience. The site<br />
administrator is responsible for installing and implementing new hardware and software,<br />
network management, data bases, and security.<br />
Prerequisites<br />
To use this manual, you must understand <strong>TCP</strong>/<strong>IP</strong> concepts and know how to write<br />
standard <strong>FORTRAN</strong> programs.<br />
How to Use This <strong>Guide</strong><br />
This guide explains how to:<br />
$ Use INCLUDE statements to copy information packets into the program<br />
$ Use standard <strong>FORTRAN</strong> verbs to set the information packets to desired values<br />
$ Use INCLUDE statements in the program to issue <strong>TAS</strong> <strong>FORTRAN</strong> subroutine calls for<br />
program-to-program, file transfer, and mail transfer applications<br />
$ Design and construct a <strong>TAS</strong> application program<br />
$ Compile, link, and execute the program<br />
Use Section 2 to see how the <strong>FORTRAN</strong> subroutine calls and packets are organized in a<br />
<strong>FORTRAN</strong> program structure. Use Sections 3 and 4 for detailed information on packet<br />
settings, how to issue subroutine calls, and how to construct a typical file transfer or mail<br />
transfer application. Use Section 5 to learn how to compile, link, and execute the<br />
application program. See <strong>App</strong>endixes C and D for typical examples of <strong>TAS</strong> applications.<br />
See <strong>App</strong>endix E for listings of the initialization subroutines that clear unused fields in<br />
command packets.<br />
Organization<br />
Section 1. Introduction<br />
Describes what <strong>TAS</strong> <strong>FORTRAN</strong> allows you to do. Discusses <strong>TAS</strong> interaction with operating<br />
system communications elements. This section also explains basic terms and gives an<br />
overview of how to write a program.<br />
Section 2. Procedures for Writing <strong>TAS</strong> <strong>FORTRAN</strong> Programs<br />
Discusses conventional <strong>FORTRAN</strong> versus <strong>TAS</strong> <strong>FORTRAN</strong> program structure.<br />
xiv 3787 3247-111
Section 3. File Transfer <strong>App</strong>lications<br />
About This <strong>Guide</strong><br />
Describes how to issue file transfer commands from your program, how to delete files in<br />
remote or local hosts, and how to construct a basic <strong>TAS</strong> <strong>FORTRAN</strong> file transfer program.<br />
Section 4. Mail <strong>App</strong>lications<br />
Describes how to create, change, assign, and delete mailboxes or mailbox lists. Also<br />
describes how to create outgoing mail, list incoming/outgoing mail, deliver mail, obtain<br />
mail, and verify a user’s mailbox. The section also discusses how to construct a basic <strong>TAS</strong><br />
<strong>FORTRAN</strong> mail transfer program.<br />
Section 5. Compiling, Linking, and Executing <strong>TAS</strong> <strong>FORTRAN</strong> Programs<br />
Describes the executive control language run stream used to compile, collect, and execute<br />
the <strong>TAS</strong> <strong>FORTRAN</strong> programs.<br />
<strong>App</strong>endix A. <strong>TAS</strong> Status Codes<br />
Describes the status code values returned to the <strong>TAS</strong> application program by the <strong>TAS</strong><br />
<strong>FORTRAN</strong> interface on completion of subroutine calls.<br />
<strong>App</strong>endix B. Conventions for Naming Hosts, Files, and Mail<br />
Discusses naming <strong>TAS</strong> hosts, OS 1100 elements and files, and mail processor items.<br />
<strong>App</strong>endix C. File Transfer Example<br />
Contains a working example of a <strong>TAS</strong> file transfer application.<br />
<strong>App</strong>endix D. Mail Transfer Example<br />
Contains a working example of a <strong>TAS</strong> mail transfer application.<br />
<strong>App</strong>endix E. Initialization Subroutines<br />
Contains listings of subroutines that clear unused fields in command packets.<br />
3787 3247-111 xv
About This <strong>Guide</strong><br />
Related Product Information<br />
Note: For all manuals, use the version that corresponds to the release level of the product<br />
software in use on the system.<br />
The following manuals provide related information you may find helpful:<br />
OS 2200 Distributed Data Processing (DDP-PPC) <strong>TCP</strong>/<strong>IP</strong> Interface C Language<br />
<strong>Programming</strong> <strong>Guide</strong> 3787 3254<br />
Describes how to write C Language interface programs in a <strong>TCP</strong>/<strong>IP</strong> network.<br />
OS 2200 Distributed Data Processing (DDP-PPC) <strong>TCP</strong>/<strong>IP</strong> Interface COBOL<br />
<strong>Programming</strong> <strong>Guide</strong> 3789 6651<br />
Describes how to write COBOL interface programs in a <strong>TCP</strong>/<strong>IP</strong> network.<br />
OS 2200 Distributed Data Processing (DDP-PPC) <strong>TCP</strong>/<strong>IP</strong> Interface <strong>FORTRAN</strong><br />
<strong>Programming</strong> <strong>Guide</strong> 3789 6669<br />
Describes how to write <strong>FORTRAN</strong> interface programs in a <strong>TCP</strong>/<strong>IP</strong> network.<br />
OS 2200 <strong>TCP</strong>/<strong>IP</strong> <strong>App</strong>lication <strong>Services</strong> (<strong>TAS</strong>) C Language <strong>Programming</strong> <strong>Guide</strong><br />
4173 5135<br />
Describes how to use the C language to create <strong>TAS</strong> programs.<br />
OS 2200 <strong>TCP</strong>/<strong>IP</strong> <strong>App</strong>lication <strong>Services</strong> (<strong>TAS</strong>) COBOL <strong>Programming</strong> <strong>Guide</strong><br />
3787 3205<br />
Describes how to write <strong>TAS</strong> COBOL application programs that can exchange data with<br />
other programs in the same or remote computers in a <strong>TCP</strong>/<strong>IP</strong> network.<br />
OS 2200 <strong>TCP</strong>/<strong>IP</strong> <strong>App</strong>lication <strong>Services</strong> (<strong>TAS</strong>) File Transfer User <strong>Guide</strong> 3787 3213<br />
Describes how to transfer files and deallocate files on remote hosts through terminal<br />
operator commands.<br />
OS 2200 <strong>TCP</strong>/<strong>IP</strong> <strong>App</strong>lication <strong>Services</strong> (<strong>TAS</strong>) Implementation and Administration<br />
<strong>Guide</strong> 3787 3221<br />
Provides instructions for installing and verifying file transfer and mail processing on your<br />
host.<br />
OS 2200 <strong>TCP</strong>/<strong>IP</strong> <strong>App</strong>lication <strong>Services</strong> (<strong>TAS</strong>) Mail Processor User <strong>Guide</strong><br />
3787 3239<br />
Describes how to create, send, and receive messages on a local host or in an interactive<br />
multihost environment.<br />
xvi 3787 3247-111
Section 1<br />
Introduction<br />
1.1. What is <strong>TAS</strong>?<br />
<strong>TCP</strong>/<strong>IP</strong> <strong>App</strong>lication <strong>Services</strong> (<strong>TAS</strong>) is a software product that communicates with other<br />
hosts in an X.25 Public Data Network (PDN) or in a Local Area Network (LAN) using the<br />
Transmission Control Protocol/Internet Protocol (<strong>TCP</strong>/<strong>IP</strong>), originally defined for the<br />
United States Department of Defense Data Network (DDN). The product name <strong>TAS</strong><br />
replaces DDN 1100 (Defense Data Network).<br />
Included in this product are:<br />
$ The <strong>TAS</strong> File Transfer Facility<br />
Provides file transfer capabilities, based on the File Transfer Protocol (DDN,<br />
MIL-STD-1780). For complete information on the <strong>TAS</strong> File Transfer Facility, see the<br />
<strong>TAS</strong> File Transfer User <strong>Guide</strong>.<br />
$ The <strong>TAS</strong> Mail Processor<br />
Provides electronic mail processing capabilities, based on the Simple Mail Transfer<br />
Protocol (DDN, MIL-STD-1781). For complete information on the <strong>TAS</strong> Mail Processor,<br />
see the <strong>TAS</strong> Mail Processor User <strong>Guide</strong>.<br />
Language packages available with <strong>TAS</strong> are:<br />
$ The <strong>TAS</strong> COBOL <strong>Programming</strong> Interface<br />
Provides facilitiesfor writing COBOL applications programs. For complete information<br />
on the <strong>TAS</strong> COBOL <strong>Programming</strong> Interface, see the <strong>TAS</strong> COBOL <strong>Programming</strong> <strong>Guide</strong>.<br />
$ The <strong>TAS</strong> C Language <strong>Programming</strong> Interface<br />
Provides facilities for writing C language applications programs. For complete<br />
information on the <strong>TAS</strong> C Language <strong>Programming</strong> Interface, see the <strong>TAS</strong> C Language<br />
<strong>Programming</strong> <strong>Guide</strong>.<br />
$ The <strong>TAS</strong> <strong>FORTRAN</strong> <strong>Programming</strong> Interface (the subject of this manual)<br />
Provides facilities for writing <strong>FORTRAN</strong> applications programs that:<br />
v Invoke the <strong>TAS</strong> File Transfer Facility<br />
v Send or receive mail between hosts in a <strong>TCP</strong>/<strong>IP</strong> network<br />
3787 3247-111 1-1
What is <strong>TAS</strong>?<br />
All <strong>TAS</strong> components provide interhost processing that can be:<br />
$ Homogeneous (OS 2200 host-to-OS 2200 host)<br />
$ Heterogeneous (OS 2200 host-to-non-OS 2200 host)<br />
Note: Throughout this manual, when we refer to the local host, we are referring to the<br />
OS 2200 host.<br />
1-2 3787 3247-111
1.2. What is the <strong>FORTRAN</strong> Interface?<br />
What is the <strong>FORTRAN</strong> Interface?<br />
The <strong>TAS</strong> <strong>FORTRAN</strong> interface includes <strong>FORTRAN</strong> copy elements and <strong>TAS</strong> object modules.<br />
This interface provides two facilities for writing <strong>FORTRAN</strong> application programs. When<br />
the application programs are executed, they call upon the specified <strong>FORTRAN</strong> interface<br />
facility to send or receive information between hosts in a <strong>TAS</strong> network. The facilities are:<br />
$ File transfer<br />
$ Mail transfer<br />
The <strong>FORTRAN</strong> interface provides INCLUDE statements for both facilities. These<br />
INCLUDE statements are used in your source application program to provide information<br />
packets and issue requests (subroutine calls) to the <strong>TAS</strong> interface.<br />
You include the <strong>TAS</strong> <strong>FORTRAN</strong> interface when you compile and link your UCS <strong>FORTRAN</strong><br />
application program. (See Section 5.) The output object module can be executed in the<br />
same way as any standard <strong>FORTRAN</strong> program.<br />
Multitasking of <strong>FORTRAN</strong> programs is not allowed by <strong>TAS</strong>.<br />
3787 3247-111 1-3
Overview of the File Transfer Facility<br />
1.3. Overview of the File Transfer Facility<br />
The file transfer facility:<br />
$ Transfers files within the local host<br />
$ Transfers files between a local host and a remote host<br />
$ Transfers files between two remote hosts<br />
$ Deletes (deallocates) a file on the local or remote host<br />
$ Resumes an interrupted file transfer at a desired checkpoint<br />
$ Renames a file on a remote host<br />
$ Sends protocol information about a file transfer to a remote host<br />
$ Registers and deregisters files for event notification<br />
$ Provides status information about event notification<br />
$ Opens and closes a communication path between hosts and allows file transfer along<br />
this path<br />
$ Allocates file space on a remote non-OS 2200 host where necessary to reserve space<br />
before transferring a file<br />
$ Creates, changes, and removes a directory on a remote non-OS 2200 host<br />
1-4 3787 3247-111
Overview of the Mail Transfer Facility<br />
1.4. Overview of the Mail Transfer Facility<br />
The mail transfer facility lets you:<br />
$ Create, change, assign, or delete mailboxes<br />
$ Create, change, list, or delete distribution lists<br />
$ Create outgoing mail<br />
$ List mail items in a mailbox<br />
$ Retrieve or delete mail items<br />
$ Validate other mailboxes<br />
$ Transfer prepared mail to addressees<br />
$ End mailbox assignments<br />
$ Continue a mail transfer operation by providing an additional buffer<br />
$ Discontinue a mail transfer operation<br />
3787 3247-111 1-5
Section 2<br />
Procedures for Writing <strong>TAS</strong> <strong>FORTRAN</strong><br />
Programs<br />
2.1. <strong>TAS</strong> <strong>FORTRAN</strong> Program Structure<br />
Although <strong>TAS</strong> <strong>FORTRAN</strong> programs are similar to conventional programs, certain<br />
additional items are required. For instance, you must:<br />
$ Include information packets and any other necessary storage areas in the <strong>FORTRAN</strong><br />
program<br />
$ Use INCLUDE statements or subroutine calls in the <strong>FORTRAN</strong> program<br />
3787 3247-111 2-1
Including Information Packets and Storage Areas in a <strong>TAS</strong> <strong>FORTRAN</strong> Program<br />
2.2. Including Information Packets and Storage<br />
Areas in a <strong>TAS</strong> <strong>FORTRAN</strong> Program<br />
The program supplies <strong>TAS</strong> with the information needed to control data transfer. It contains<br />
declaration statements in information packets. These packets correspond to the arguments<br />
in the <strong>TAS</strong> subroutine calls discussed in Section 3and Section 4.<br />
2.2.1. Including Information Packets<br />
Information packets supply the data transfer control information. These packets are<br />
constructed for you using standard subroutine calls. Just add these packets into your<br />
program from the <strong>FORTRAN</strong> procedure by using the INCLUDE statements for the<br />
appropriate applications in the program. (See 2.3.)<br />
The INCLUDE statements place all the necessary data declarations into your program<br />
when the program is compiled.<br />
Each command packet has an associated initialization subroutine that may be used to clear<br />
unused fields before specifying any parameters and issuing a function call. These<br />
initialization subroutines are described in <strong>App</strong>endix E.<br />
The following example shows the information packets produced by including individual<br />
calls for specific packets in a file transfer application program. Alternatively, use the<br />
DDN$FTPPKTS and DDN$PCSTPKT calls to include the group of packets.<br />
All the fields and parameters forming the information packets for a file transfer application<br />
are described in detail with the related INCLUDE statement or subroutine call in Section 3.<br />
Each command packet has an associated initialization subroutine that may be used to clear<br />
unused fields before specifying any parameters and issuing a function call. These<br />
initialization subroutines are described in <strong>App</strong>endix E.<br />
Portion of <strong>App</strong>lication Program Containing the File Transfer Information Packets<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
2-2 3787 3247-111
Including Information Packets and Storage Areas in a <strong>TAS</strong> <strong>FORTRAN</strong> Program<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
3787 3247-111 2-3
Including Information Packets and Storage Areas in a <strong>TAS</strong> <strong>FORTRAN</strong> Program<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
2-4 3787 3247-111
Including Information Packets and Storage Areas in a <strong>TAS</strong> <strong>FORTRAN</strong> Program<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
3787 3247-111 2-5
Including Information Packets and Storage Areas in a <strong>TAS</strong> <strong>FORTRAN</strong> Program<br />
The following example shows the information packets produced by including individual<br />
calls for specific packets in a mail transfer application program. Alternatively, use the<br />
DDN$SMTPPKTS and DDN$PCSTPKT calls to include the group of packets.<br />
All the fields and parameters forming the information packets for mail transfer applications<br />
are described in detail with the related INCLUDE statement or subroutine call in Section 4.<br />
Each command packet has an associated initialization subroutine that may be used to clear<br />
unused fields before specifying any parameters and issuing a function call. These<br />
initialization subroutines are described in <strong>App</strong>endix E.<br />
Portion of <strong>App</strong>lication Program Containing the Mail Transfer Information Packets<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
2-6 3787 3247-111
Including Information Packets and Storage Areas in a <strong>TAS</strong> <strong>FORTRAN</strong> Program<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
2.2.2. Defining Storage Areas<br />
In your program, you also define message areas, mailbox lists, and distribution lists, and<br />
you store error messages. These areas and values are specific to your program and are not<br />
supplied through INCLUDE statements.<br />
For file transfer application programs, no additional storage areas are needed.<br />
For mail transfer application programs, code the following areas in your program. Because<br />
they are referenced by the INCLUDE statements, you must code them even if your<br />
application does not use them. Include:<br />
$ Storage area to hold the mail (mail buffer)<br />
Most mail transfer commands reference this area to transfer the data. Use a maximum<br />
size of 3300 characters. See 4.14 for a discussion on alternative ways to define this area.<br />
Example:<br />
3787 3247-111 2-7
Including Information Packets and Storage Areas in a <strong>TAS</strong> <strong>FORTRAN</strong> Program<br />
<br />
$ Storage area to hold the mailbox list<br />
Use a maximum of 1760 characters (20 entries of 88 characters each).<br />
Example:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
See 4.11 for a discussion on alternative ways to define this area. See B.3 for host- and<br />
mailbox-naming conventions.<br />
$ Storage area to hold the distribution list<br />
Use a maximum of 20 entries of 88 characters each.<br />
Example:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
See 4.11 for a discussion on alternative ways to define this area. See B.3 for mail- and<br />
host-naming conventions.<br />
2-8 3787 3247-111
Using Subroutine Calls and INCLUDE Statements in a <strong>TAS</strong> <strong>FORTRAN</strong> Program<br />
2.3. Using Subroutine Calls and INCLUDE<br />
Statements in a <strong>TAS</strong> <strong>FORTRAN</strong> Program<br />
<strong>App</strong>lication programs use conventional <strong>FORTRAN</strong> assignment and INCLUDE statements<br />
and subroutine calls for input/output data transfers and <strong>FORTRAN</strong> manipulations. They<br />
also use assignment statements to set information fields in the information packets. See<br />
Figure 2-1.<br />
Data Files<br />
<strong>TAS</strong><br />
<strong>FORTRAN</strong><br />
Assignment<br />
Statement<br />
<strong>FORTRAN</strong><br />
<strong>App</strong>lication<br />
Program<br />
DDP-PPC CMS<br />
<strong>TAS</strong> <strong>FORTRAN</strong><br />
Subroutine Call<br />
Status<br />
Data<br />
<strong>TAS</strong><br />
Interface<br />
<strong>TCP</strong>/<strong>IP</strong><br />
Network<br />
Figure 2-1. <strong>FORTRAN</strong> Subroutine Calls and Assignment Statements<br />
In addition, each packet contains an EQUIVALENCE statement that allows you to snap out<br />
the packet in octal format, for debugging ease.<br />
2.3.1. Subroutine Calls<br />
Special subroutine calls are used for program-callable file and mail transfer applications.<br />
Use these subroutine calls to:<br />
$ Enter the <strong>FORTRAN</strong> applications interface element<br />
$ Pass control information that is in your program<br />
$ Issue requests to <strong>TAS</strong><br />
Figure 2-2 shows you how a subroutine call references information packets. In this case, it<br />
shows how to use a standard <strong>FORTRAN</strong> assignment statement to set an information<br />
packet field before issuing the call.<br />
3787 3247-111 2-9
Using Subroutine Calls and INCLUDE Statements in a <strong>TAS</strong> <strong>FORTRAN</strong> Program<br />
COMMON /CPCST/D$PCID/D$PCCL,D$PCDT,D$PCML(3),D$TIME,D$BYTE,D$AVG<br />
DIMENSION D$PCRF(2),D$OCPC(69)<br />
CHARACTER*4 D$PCST,D$PCID<br />
INTEGER D$PCCL,D$PCDT,D$PCRF,D$PCEF,D$PCPC<br />
CHARACTER*8 D$TIME,D$BYTE,D$AVG<br />
CHARACTER*80 D$PCML<br />
EQUIVALENCE (D$PCCL,D$PCRF(91))<br />
EQUIVALENCE (D$PCID,D$PCEF)<br />
EQUIVALENCE (D$PCID,D$PCST)<br />
EQUIVALENCE (D$PCID,D$PCPC(1))<br />
*<br />
*<br />
*<br />
COMMON /C$LOG/D$LOHD,D$LOF1,D$LOUD,D$LOPW,D$LOPF,D$LOCL,D$LOF2,<br />
1 D$LOAC,D$LOPD<br />
DIMENSION D$OCLG(79)<br />
CHARACTER*4 D$LOG<br />
CHARACTER*18 D$LOPW<br />
CHARACTER*12 D$LOUD,D$LOAC,D$LOPD<br />
CHARACTER*2 D$LOCL,D$LOF2,D$LOPF<br />
CHARACTER*1 D$LOF1<br />
CHARACTER*255 D$LOHD<br />
INTEGER D$OCLG<br />
EQUIVALENCE (D$LOHD,D$LOG)<br />
EQUIVALENCE (D$OCLG(1),D$LOHD)<br />
*<br />
*<br />
*<br />
COMMON /DEAL/D$DHOS/D$DHFL,D$FILE,D$PASS,D$DPFL,D$CLEV,D$CLFL,<br />
1 D$USER,D$ACCT,D$PID<br />
DIMENSION D$OCDL(99)<br />
CHARACTER*255 D$HOS<br />
CHARACTER*18 D$PASS<br />
CHARACTER*12 D$USER,D$ACCT,D$PID<br />
CHARACTER*80 D$FILE<br />
CHARACTER*4 D$DEAL<br />
CHARACTER*2 D$DLEV,D$FIL,D$DPFL<br />
CHARACTER*1 D$DHFL<br />
INTEGER D$OCDL<br />
EQUIVALENCE (D$DHOS,D$DEAL)<br />
EQUIVALENCE (D$OCLD(1),D$DHOS)<br />
*<br />
*<br />
*<br />
D$LOHD='HOST1'<br />
D$LOUD='USER1'<br />
D$LOPW='PASS1'<br />
*<br />
*<br />
*<br />
CALL LOG$D (D$PCST,D$LOG)<br />
Figure 2-2. Referencing Information Packets through Subroutine Calls<br />
Subroutine calls are your program’s means of making requests to <strong>TAS</strong>. The format is:<br />
<br />
where:<br />
subroutine<br />
Is the 1- to 6-character name of the <strong>TAS</strong> subroutine requested by your application<br />
program. Specify according to <strong>FORTRAN</strong> programming syntax.<br />
2-10 3787 3247-111
Using Subroutine Calls and INCLUDE Statements in a <strong>TAS</strong> <strong>FORTRAN</strong> Program<br />
argument<br />
Is the data item of the common block or declaration statement.<br />
The information packets are constructed so that the argument name that you use is the<br />
name of the common block, with a C for the common block replacing the D for the<br />
information packet.<br />
Subroutine call statements reference information packets or buffer areas contained in your<br />
program. (See Table 3-1 and Table 4-1.) The information packets consist of control<br />
information and data needed for file transfer and mail transfer applications. The buffer<br />
areas are used to pass data between <strong>TAS</strong> and your program.<br />
After processing a subroutine call, <strong>TAS</strong> returns both a general and a detailed status code.<br />
The general status code (class code), gives a classification value. The detailed status code<br />
gives an expanded description of the error that occurred. Table A-1 explains both of these<br />
status codes returned by <strong>TAS</strong>.<br />
3787 3247-111 2-11
Using Subroutine Calls and INCLUDE Statements in a <strong>TAS</strong> <strong>FORTRAN</strong> Program<br />
2.3.2. INCLUDE Statements<br />
Use the INCLUDE statement in your program whenever you want to issue a subroutine<br />
call. The expansion in your program ensures the correct order of the operands in the call.<br />
The format for an INCLUDE statement is:<br />
<br />
where:<br />
file-name<br />
Is the name of the file to be searched for the procedure.<br />
procedure-name<br />
Is the 1- to 12-character name of the <strong>FORTRAN</strong> procedure created by the Procedure<br />
Definition Processor (PDP). Use the character set for <strong>FORTRAN</strong> symbolic names. For<br />
details on the Procedure Definition Processor, see the PDP <strong>Programming</strong> Reference<br />
Manual.<br />
LIST<br />
Lists the included statements whenever a subroutine call or information packet is<br />
coded in your application program.<br />
This is an example of a INCLUDE statement used to produce a <strong>TAS</strong> subroutine call with its<br />
information packets referenced:<br />
<br />
This produces:<br />
<br />
<br />
ZDDDDDDDDDD? ZDDDDDDDDDDDDDDDDDDDDDDDD?<br />
<br />
<br />
@DDDDDDDDDDDDDDY @DDDDDDDDDDDDDDY<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
2-12 3787 3247-111
Using Subroutine Calls and INCLUDE Statements in a <strong>TAS</strong> <strong>FORTRAN</strong> Program<br />
2.3.3. Initialization Packets<br />
The <strong>TAS</strong> packets contain several fields that are optional for a function. An example is the<br />
D$ACT1 field in the Transfer packet. <strong>TAS</strong> ignores these fields if you set them to their<br />
initialized values (usually spaces or zeros) prior to issuing the function call. You do this by<br />
either of the following:<br />
$ Setting each field to it’s initialized value on a field-by-field basis<br />
$ Using a <strong>TAS</strong> supplied subroutine to initialize the entire packet and then resetting any<br />
specific fields to the desired values. Use INCLUDE statements to incorporate these<br />
subroutines from the <strong>TAS</strong> copy library, SYS$LIB$*<strong>TAS</strong>-3. See <strong>App</strong>endix E for a list of<br />
these subroutines.<br />
For example, to initialize the TRANSFER packet, use the following statements:<br />
<br />
<br />
<br />
<br />
<br />
3787 3247-111 2-13
Section 3<br />
File Transfer <strong>App</strong>lications<br />
3.1. Using <strong>TAS</strong> Functions, Parameter Packets, and<br />
Sessions<br />
This subsection discusses the following:<br />
$ Using parameter packets for <strong>TAS</strong> functions<br />
$ Opening a session with a remote host<br />
3.1.1. Using Parameter Packets for <strong>TAS</strong> Functions<br />
You can use <strong>FORTRAN</strong> INCLUDE statements or code your own <strong>FORTRAN</strong> subroutine<br />
calls to issue <strong>TAS</strong> file transfer commands from your <strong>FORTRAN</strong> program. You can direct<br />
these commands to the same host or to any remote host defined in the <strong>TAS</strong> network.<br />
When you use a <strong>FORTRAN</strong> INCLUDE statement, the associated subroutine call referencing<br />
the required information packets replaces the INCLUDE statement when the program is<br />
compiled.<br />
You can code the subroutine call yourself, but you must supply the information packet<br />
names in the correct sequential order shown in Table 3-1. See 2.2 and 2.3 for a discussion<br />
about using subroutine calls, information packets, and INCLUDE statements.<br />
Notes:<br />
1. All the packets contain an EQUIVALENCE statement (D$OCxx) that allows you to<br />
snap out the packet in octal format for use in debugging.<br />
2. The format of the D$PCST packet is described in 3.2and then referenced throughout<br />
this section.<br />
The subsections which follow describe the usage of each INCLUDE statement with its<br />
associated information packet. Only those fields that are used for that particular statement<br />
are discussed in detail.<br />
To obtain more detailed information on file transfer commands, see the <strong>TAS</strong> File Transfer<br />
User <strong>Guide</strong>.<br />
3787 3247-111 3-1
Using <strong>TAS</strong> Functions, Parameter Packets, and Sessions<br />
Table 3-1 lists the <strong>FORTRAN</strong> INCLUDE statements, <strong>FORTRAN</strong> subroutine calls, and<br />
information packets for file transfer application programs.<br />
Table 3-1. File Transfer Information Packets Referenced by INCLUDE Statements and<br />
Subroutine Calls<br />
<strong>TAS</strong> Function INCLUDE Statement Subroutine Call Information Packets<br />
Reserve storage on remote<br />
non-OS2200 host for the file to be<br />
transferred.<br />
Change current directory to its parent<br />
directory on a remote non-OS 2200<br />
host<br />
Change work directory on a remote<br />
non-OS 2200 host<br />
Delete a file from a remote non-OS<br />
2200 host<br />
INCLUDE LIBFILE.<br />
DDN$ALLO<br />
INCLUDE LIBFILE.<br />
DDN$CDUP<br />
INCLUDE LIBFILE.<br />
DDN$CWD<br />
INCLUDE LIBFILE.<br />
DDN$DEALLOC<br />
Deregister a file for event notification INCLUDE LIBFILE.<br />
DDN$DEREG<br />
Transfer a file to a local host during a<br />
session<br />
Transfer a file to a remote host during<br />
a session<br />
INCLUDE LIBFILE.<br />
DDN$FGET<br />
INCLUDE LIBFILE.<br />
DDN$FPUT<br />
Establish a session with a remote host INCLUDE LIBFILE.<br />
DDN$LOGIN<br />
Create a directory on a remote<br />
non-OS2200 host<br />
Return name of current directory on a<br />
remote non-OS2200 host<br />
INCLUDE LIBFILE.<br />
DDN$MKD<br />
INCLUDE LIBFILE.<br />
DDN$PWD<br />
End a session with a remote host INCLUDE LIBFILE.<br />
DDN$QUIT<br />
Register a file for event notification INCLUDE LIBFILE.<br />
DDN$REGISTER<br />
Renameafileonaremote<br />
non-OS2200 host<br />
Resume a file transfer halted at a<br />
checkpoint in a checkpoint file<br />
Delete a directory on a remote<br />
non-OS2200 host<br />
INCLUDE LIBFILE.<br />
DDN$RENAME<br />
INCLUDE LIBFILE.<br />
DDN$RESUME<br />
INCLUDE LIBFILE.<br />
DDN$RMD<br />
ALLO$D D$PCST D$DIR<br />
CDUP$D D$PCST D$DIR<br />
CWD$D D$PCST D$DIR<br />
DEAL$D D$PCST D$DEAL<br />
DREG$D D$PCST D$DREG<br />
FGET$D D$PCST D$XFER<br />
FPUT$D D$PCST D$XFER<br />
LOG$D D$PCST D$LOG<br />
MKD$D D$PCST D$DIR<br />
PWD$D D$PCST D$DIR<br />
QUIT$D D$PCST<br />
REG$D D$PCST D$REG<br />
RENM$D D$PCST D$RENM<br />
RESU$D D$PCST D$RESU<br />
RMD$D D$PCST D$DIR<br />
continued<br />
3-2 3787 3247-111
Using <strong>TAS</strong> Functions, Parameter Packets, and Sessions<br />
Table 3-1. File Transfer Information Packets Referenced by INCLUDE Statements and<br />
Subroutine Calls (cont.)<br />
<strong>TAS</strong> Function INCLUDE Statement Subroutine Call Information Packets<br />
Obtain information about a file transfer INCLUDE LIBFILE.<br />
DDN$SITE<br />
Obtain file transfer status for files with<br />
event notification set<br />
Transfer a file or element between<br />
hosts in the network<br />
INCLUDE LIBFILE.<br />
DDN$STATUS<br />
INCLUDE LIBFILE.<br />
DDN$TRANSFER<br />
3.1.2. Opening a Session with a Remote Host<br />
SITE$D D$PCST D$SITE<br />
FSTA$D D$PCST D$STAT<br />
XFER$D D$PCST D$XFER<br />
You can open a session between the local host and a remote host, and the session remains<br />
open after it is established. This allows the execution of several FTP commands between<br />
the hosts during that session.<br />
The LOGIN command LOG$D establishes a session with a remote host. When the session<br />
is open, you can execute FGET$D, FPUT$D, and other commands without providing a<br />
remote host name. However, the following commands do not need the LOGIN command to<br />
establish a session if they supply a remote host-id:<br />
<br />
<br />
<br />
<br />
<br />
3787 3247-111 3-3
Using <strong>TAS</strong> Functions, Parameter Packets, and Sessions<br />
When you execute one of these commands, the action <strong>TAS</strong> takes is determined by the<br />
presence of a host-id field in a parameter packet, and its value that you set:<br />
$ If a session is already open and:<br />
v The parameter packet does not have a host-id field:<br />
The current session remains open.<br />
v The host-id field in the parameter packet is set to spaces:<br />
The current session remains open.<br />
v The host-id field in the parameter packet is set to a remote host-id value:<br />
The current open session is closed and a new session is opened. This occurs even<br />
if the current and new sessions are opened to the same host.<br />
$ If a session is not open and:<br />
v The parameter packet does not have a host-id field:<br />
A session is not opened. Use the LOGIN command first to open a session before<br />
using other commands.<br />
v The host-id field in the parameter packet is set to a remote host-id value:<br />
A new session is opened to the remote host.<br />
Note: Closing the current open session and opening a new session involves a large<br />
amount of overhead processing. You incur this overhead even if you specify in<br />
a parameter packet a host-id that is the same as the remote host in the current<br />
open session.<br />
3.1.3. Closing a Session with a Remote Host<br />
You close a session with a remote host by either:<br />
$ Opening a new session with the same or another remote host (see Opening a Session<br />
with a Remote Host)<br />
$ Using the DDN$QUIT command<br />
Use the DDN$QUIT command to close the last session before terminating your<br />
program. Otherwise, the program terminates abnormally with a dump.<br />
3-4 3787 3247-111
Allocating File Space on Remote Hosts (DDN$ALLO)<br />
3.2. Allocating File Space on Remote Hosts<br />
(DDN$ALLO)<br />
Function<br />
Use DDN$ALLO to allocate file space on a remote non-OS 2200 host before you transfer<br />
the file.<br />
The subroutine call uses as parameters the D$PCST (Status) and D$DIR (Directory)<br />
information packets.<br />
<strong>TAS</strong> returns statistical information to fields in the D$PCST packet at the succussful<br />
completion of the FGET$D ,FPUT$D, and XFER$D function calls.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions returned by <strong>TAS</strong>:<br />
Field Definition<br />
D$PCID Packet-id. <strong>TAS</strong> places ’DDN$’ in this field after a successful call and places an<br />
error code in the D$PCEF field after an unsuccessful call.<br />
Table A-5 lists the error codes.<br />
D$PCCL Class code. <strong>TAS</strong> returns a general classification of status.<br />
See the tables in <strong>App</strong>endix A.<br />
D$OK = 1<br />
3787 3247-111 3-5<br />
continued
Allocating File Space on Remote Hosts (DDN$ALLO)<br />
continued<br />
Field Definition<br />
D$PCDT Detailed status code. <strong>TAS</strong> returns a code to identify the specific status or<br />
error encountered.<br />
See the tables in <strong>App</strong>endix A.<br />
D$PCML Message insert. <strong>TAS</strong> returns text inserts corresponding to the errors<br />
detected.<br />
See the tables in <strong>App</strong>endix A.<br />
D$TIME Total transfer time. <strong>TAS</strong> returns the number of seconds between the initial<br />
data transfer and the completed data transfer.<br />
D$BYTE Bytes transferred. <strong>TAS</strong> returns the number of bytes of data transferred.<br />
D$AVG Average transfer time. <strong>TAS</strong> returns the average number of bytes transferred<br />
per second.<br />
D$DIR (Directory) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions set by user:<br />
Field Definition<br />
D$DIHD Host-id. Optional. Host name with which to open the session. Use the<br />
characters 0-9, A-Z, dash, and period. Required if you are not currently logged<br />
in to the remote host where the file will be located. Do not specify a value if you<br />
are currently logged in to this remote host.<br />
D$DIF1 Ignored.<br />
D$DINM Ignored.<br />
D$DIUD User-id. Optional. User-id on the remote system.<br />
continued<br />
3-6 3787 3247-111
continued<br />
Allocating File Space on Remote Hosts (DDN$ALLO)<br />
Field Definition<br />
D$D<strong>IP</strong>W Password. Optional. Password on the remote system.<br />
D$DIF2 Ignored.<br />
D$DIAC Account number. Optional. Account number on the remote system.<br />
D$DIBY Bytes. Required. The number of bytes of storage to reserve.<br />
D$DIRE Records. Optional. The number of records of storage to reserve.<br />
Example<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Set remote host-id. D$DIHD=’HOST-SYS1’<br />
2. Set remote file name. D$DIF1=’YOUR*PROG’<br />
3. Set remote password. D$D<strong>IP</strong>W=’JOE’<br />
4. Set remote user-id. D$DIUD=’DDNJOE’<br />
5. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$ALLO<br />
3787 3247-111 3-7
Changing to Parent Directory on Remote Hosts (DDN$CDUP)<br />
3.3. Changing to Parent Directory on Remote Hosts<br />
(DDN$CDUP)<br />
Function<br />
Use DDN$CDUP to change from the current directory to the parent of the current<br />
directory on a remote non-OS 2200 host.<br />
The subroutine call uses as parameters the D$PCST (Status) and D$DIR (Directory)<br />
information packets.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 3.2 for a description of the D$PCST fields.<br />
D$DIR (Directory) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions set by user:<br />
Field Definition<br />
D$DIHD Host-id. Optional. Host name with which to open the session. Use the<br />
characters 0-9, A-Z, dash, and period. Required if you are not currently logged<br />
in to the remote host where the directory is located. Do not specify a value if<br />
you are currently logged in to this remote host.<br />
D$DIF1 Ignored.<br />
D$DINM Ignored.<br />
continued<br />
3-8 3787 3247-111
continued<br />
Changing to Parent Directory on Remote Hosts (DDN$CDUP)<br />
Field Definition<br />
D$DIUD User-id. Optional. User-id on the remote system.<br />
D$D<strong>IP</strong>W Password. Optional. Password on the remote system.<br />
D$DIF2 Ignored.<br />
D$DIAC Account number. Optional. Account number on the remote system.<br />
D$DIBY Ignored.<br />
D$DIRE Ignored.<br />
Example<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Set remote host-id. D$DIHD=’HOST-SYS1’<br />
2. Set remote password. D$D<strong>IP</strong>W=’JOE’<br />
3. Set remote user-id. D$DIUD=’JOEDDN’<br />
4. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$CDUP<br />
3787 3247-111 3-9
Changing Work Directory on Remote Hosts (DDN$CWD)<br />
3.4. Changing Work Directory on Remote Hosts<br />
(DDN$CWD)<br />
Function<br />
Use DDN$CWD to change the user’s current directory on a remote non-OS 2200 host.The<br />
subroutine call uses as parameters the D$PCST (Status) and D$DIR (Directory)<br />
information packets.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 3.2 for a description of the D$PCST fields.<br />
D$DIR (Directory) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions set by user:<br />
Field Definition<br />
D$DIHD Host-id. Optional. Host name with which to open the session. Use the<br />
characters 0-9, A-Z, dash, and period. Required if you are not currently logged<br />
in to the remote host where the directory is located. Do not specify a value if<br />
you are currently logged in to this remote host.<br />
D$DIF1 Ignored.<br />
D$DINM Directory name. Required. Name of the target directory.<br />
D$DIUD User-id. Optional. User-id on the remote system.<br />
continued<br />
3-10 3787 3247-111
continued<br />
Changing Work Directory on Remote Hosts (DDN$CWD)<br />
Field Definition<br />
D$D<strong>IP</strong>W Password. Optional. Password on the remote system.<br />
D$DIF2 Ignored.<br />
D$DIAC Account number. Optional. Account number on the remote system.<br />
D$DIBY Ignored.<br />
D$DIRE Ignored.<br />
Example<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Set remote host-id. D$DIHD=’HOST-SYS1’<br />
2. Set directory name. D$DINM=’USR/JOE/TEST’<br />
3. Set remote password. D$D<strong>IP</strong>W=’JOE’<br />
4. Set remote user-id. D$DIUD=’DDNJOE’<br />
5. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$CDUP<br />
3787 3247-111 3-11
Deleting Files on Hosts (DDN$DEALLOC)<br />
3.5. Deleting Files on Hosts (DDN$DEALLOC)<br />
Function<br />
Use DDN$DEALLOC to delete files on remote hosts or on the local host.<br />
The subroutine call uses as parameters the D$PCST (Status) and D$DEAL (Deallocate)<br />
information packets.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 3.2 for a description of the D$PCST fields.<br />
D$DEAL (Deallocate) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions set by user:<br />
Field Definition<br />
D$DHOS Delete host-id. Required if the file is on a remote host and the user is<br />
not currently logged in to this remote host. Specify the host-id or logical<br />
host name of the file being deleted. Do not specify a value if you are currently<br />
logged in to the remote host. (See <strong>App</strong>endix B.)<br />
D$FILE Delete file name. Required. Specify the fully qualified name of the file being<br />
deleted.<br />
D$PASS Delete password. Optional. Specify the password for the user on the system<br />
where the file is being deleted. *<br />
continued<br />
3-12 3787 3247-111
continued<br />
Field Definition<br />
Deleting Files on Hosts (DDN$DEALLOC)<br />
D$CLEV Clearance level. Optional. Specify a two-numeric character clearance level.<br />
The default clearance level is determined by the user-id registration with the<br />
Exec. *<br />
D$USER Delete user-id. Optional. Specify the user-id for the user on the system<br />
where the file is being deleted. *<br />
D$ACCT Delete account number. Optional. Specify the account number for the user<br />
on the system where the file is being deleted. *<br />
D$PID Delete project-id. Optional. Specify the project-id for the user on the system<br />
where the file is being deleted. *<br />
*May be required if the file is on the local host and has read/write keys.<br />
Example<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Set remote host-id. D$DHOS=’HOST-SYS1’<br />
2. Set remote file name. D$FILE=’USER/JOE/TEST’<br />
3. Set remote password. D$PASS=’JOE’<br />
4. Set remote user-id. D$USER=’JOEDDN’<br />
5. Set remote acct. no. D$ACCT=’123456’<br />
6. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$DEALLOC<br />
3787 3247-111 3-13
Deregistering a File for Event Notification (DDN$DEREG)<br />
3.6. Deregistering a File for Event Notification<br />
(DDN$DEREG)<br />
Function<br />
Use DDN$DEREG to deregister a file for event notification. When a file is deregistered, its<br />
associated runstream is no longer started when the file arrives at its destination host.<br />
See <strong>App</strong>endix F for more information on using the Deregister command.<br />
The subroutine call uses as parameters the D$PCST (Status) and D$DREG (Deregister)<br />
information packets.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 3.2 for a description of the D$PCST fields.<br />
D$DREG (Deregister) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
If the deregister function attempts to deregister the last file registered with an<br />
application-id and there is saved status information for that application-id, then this file<br />
will not be deregistered until the status information has been retrieved through the<br />
DDN$STATUS function.<br />
If D$ALL = 1 and D$DRGF is set to spaces, then all files associated with the application-id<br />
will be deregistered regardless of any saved status information.<br />
3-14 3787 3247-111
Field definitions set by user:<br />
Deregistering a File for Event Notification (DDN$DEREG)<br />
Field Definition<br />
D$DAPP <strong>App</strong>lication id. Required. Specify the owner of the event notification record.<br />
Use 1 to 12 alphanumeric characters.<br />
D$DRGF File name. Required unless you want to deregister all the files registered to<br />
the specified application-id. Specify the name of the file you want to deregister.<br />
D$DWIL Wild-card character. Optional.<br />
Specify a wild-card character to be used to deregister a file.<br />
D$ALL Deregister all files. Optional. Specify whether or not to deregister one file or<br />
a group of files.<br />
Example<br />
0 = Deregister the file specified in D$DRGF.<br />
1 = If D$DRGF = spaces, then deregister all files associated with the specified<br />
application-id.<br />
If DDN-DREG-FILENAME = a file name, then deregister all files associated with<br />
the specified application-id that also match D$DRGF.<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Set application. D$DAPP = ’DMO’<br />
2. Set filename. D$DFIL = ’FILENAME’<br />
3. No wild character. D$DWIL = ’ ’<br />
4. Do not deregister all. D$ALL = 0<br />
5. Issue call statement. CALL DREG$D(D$PCST,D$DREG)<br />
3787 3247-111 3-15
Remote to Local Transfer in a Session (DDN$FGET)<br />
3.7. Remote to Local Transfer in a Session<br />
(DDN$FGET)<br />
Function<br />
Use DDN$FGET to transfer a file from a remote host to a local host after a session has<br />
been established between them.<br />
The subroutine call uses as parameters the D$PCST (Status) and D$XFER (Transfer)<br />
information packets.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 3.2 for a description of the D$PCST fields.<br />
D$XFER (Transfer) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
3-16 3787 3247-111
Field definitions set by user:<br />
Remote to Local Transfer in a Session (DDN$FGET)<br />
Field Definition<br />
D$FRID Ignored.<br />
D$TOID Ignored.<br />
D$TFIL To (destination) file name. Required. Specify the fully qualified name of the<br />
file (or file and element) to receive the transfer.<br />
D$FFIL From (source) file name. Required. Specify the fully qualified name of the<br />
file (or file and element) to be sent.<br />
D$PAS1 Ignored.<br />
D$CLV1 Ignored.<br />
D$PAS2 Password-2. Required for files with read/write keys on the local host.<br />
Specify a 1- to 18-alphanumeric character password for the destination host.<br />
D$CLV2 Clearance level-2. Required. Required if the file on the local host has<br />
read/write keys and your user-id is configured to ask for a clearance level.<br />
Enter a number between 0 and 63 within the range of values allowed for the<br />
specified user-id. The default clearance level is determined by your user-id’s<br />
registration with the Exec.<br />
D$UID1 Ignored.<br />
D$UID2 User-id-2. Required for files with read/write keys on the local host.<br />
Specify a 1- to 12-alphanumeric character user identifier for the destination<br />
host.<br />
D$ACT1 Ignored.<br />
D$ACT2 Account number-2. Required when D$UID2 is configured to ask for the<br />
account number and the file on the local host has read/write keys.<br />
Specify a 1- to 12-character account number for the destination host.<br />
D$PID1 Ignored.<br />
D$PID2 Project-id-2. Required when D$UID2 is configured to ask for the project<br />
identifier and the file on the local host has read/write keys. Specify a 1to<br />
18-character project identifier for the destination host.<br />
D$POSN Position. Required. Specify the placement of the file to be transferred.<br />
Replace = 0<br />
Add = 1<br />
3787 3247-111 3-17<br />
continued
Remote to Local Transfer in a Session (DDN$FGET)<br />
continued<br />
Field Definition<br />
D$TRAN Translate. Required. Specify the type of data in the sending file.<br />
ASCII = 0<br />
EBCDIC = 1<br />
Transparent = 2<br />
L36 = 3<br />
D$XMOD Transfer mode. Required. Specify the mode of transfer.<br />
Stream = 0<br />
Compressed = 1<br />
Block = 2 (Block means sent as a series of blocks.)<br />
D$STRU Structure. Required. Specify how data in the sending host is to be sent.<br />
File (no record structure)= 0<br />
Record (sequential records) = 2<br />
D$XTYP Transfer type. Required. Specify the type of file or element being sent.<br />
Symbolic = 0<br />
All (entire file) = 1<br />
Relocatable = 2<br />
Absolute = 3<br />
Omnibus = 4<br />
Source = 5<br />
SDF = 6<br />
Unknown = 7<br />
IOW = 8<br />
D$RSIZ Maximum record size. Optional. Specify the size (in characters) of the<br />
longest record in D$TFIL.<br />
The largest value (and the default) permitted is 7168.<br />
D$CHFN Optional. Specify the fully-qualified name of the checkpoint file. An element<br />
name cannot be specified.<br />
D$CMF Optional. Specify the number of tracks to be transferred before a checkpoint<br />
marker is written in the checkpoint file. If this field is not specified, but a<br />
checkpoint file name is specified in DDN-CHKPT-FILE-NAME, 250 tracks are<br />
transferred before a marker is written.<br />
D$STIF Site information. Optional. Specifies that the server needs additional data<br />
from the user side that it cannot derive from the FTP protocol commands.<br />
3-18 3787 3247-111
Example<br />
Remote to Local Transfer in a Session (DDN$FGET)<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Set the ’from’ file name. D$FFIL=’MY*FILE’<br />
2. Set the ’to’ file name. D$TFIL=’YOUR*FILE’<br />
3. Set position to replace. D$POSN=0<br />
4. Set type of data to transparent. D$TRAN=2<br />
5. Set transfer mode to stream. D$XMOD=0<br />
6. Set structure to file. D$STRU=0<br />
7. Set to entire file. D$XTYP=1<br />
8. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$FGET<br />
3787 3247-111 3-19
Local to Remote Transfer in a Session (DDN$FPUT)<br />
3.8. Local to Remote Transfer in a Session<br />
(DDN$FPUT)<br />
Function<br />
Use DDN$FPUT to transfer a file from a local host to a remote host after a session has<br />
been established between the two hosts.<br />
The subroutine call uses as parameters the D$PCST (Status) and D$XFER (Transfer)<br />
information packets.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 3.2 for a description of the D$PCST fields.<br />
D$XFER (Transfer) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
3-20 3787 3247-111
Field definitions set by user:<br />
Local to Remote Transfer in a Session (DDN$FPUT)<br />
Field Definition<br />
D$FRID Ignored.<br />
D$TOID Ignored.<br />
D$TFIL To (destination) file name. Required. Specify the fully qualified name of the<br />
file (or file and element) to receive the transfer.<br />
D$FFIL From (source) file name. Required. Specify the fully qualified name of the<br />
file (or file and element) to be sent.<br />
D$PAS1 Required for files with read/write keys on the local host. Specify a 1- to<br />
18-alphanumeric character password for the source host.<br />
D$CLV1 Clearance-level-1. Required for files with read/write keys on the local<br />
host. Enter a number between 0 and 63 within the range of values for the<br />
specified user-id. The default clearance level is determined by your user-id’s<br />
registration with the Exec.<br />
D$PAS2 Ignored.<br />
D$CLV2 Ignored.<br />
D$UID1 User-id-1. Required for files with read/write keys on the local host.<br />
Specify a 1- to 12-character user identifier.<br />
D$UID2 Ignored.<br />
D$ACT1 Account-number-1. Required when D$UID1 is configured to solicit<br />
account numbers and the file on the local host has read/write keys.<br />
Specify a 1- to 12-character account number for the source host.<br />
D$ACT2 Ignored.<br />
D$PID1 Project-id-1. Required when D$UID1 is configured to ask for the project<br />
identifier and the file on the local host has read/write keys. Specify a 1to<br />
18-character project identifier for the source host.<br />
D$PID2 Ignored.<br />
D$POSN Position. Required. Specify the placement of the file to be transferred.<br />
Replace = 0<br />
Add = 1<br />
D$TRAN Translate. Required. Specify the type of data in the sending file.<br />
ASCII = 0<br />
EBCDIC = 1<br />
Transparent = 2<br />
L36 = 3<br />
3787 3247-111 3-21<br />
continued
Local to Remote Transfer in a Session (DDN$FPUT)<br />
continued<br />
Field Definition<br />
D$XMOD Transfer mode. Required. Specify the mode of transfer.<br />
Stream = 0<br />
Compressed = 1<br />
Block = 2 (Block means sent as a series of blocks.)<br />
D$STRU Structure. Required. Specify how data in the sending host is to be sent.<br />
File (no record structure)= 0<br />
Record (sequential records) = 2<br />
D$XTYP Transfer type. Required. Specify the type of file or element being sent.<br />
Symbolic = 0<br />
All (entire file) = 1<br />
Relocatable = 2<br />
Absolute = 3<br />
Omnibus = 4<br />
Source = 5<br />
SDF = 6<br />
Unknown = 7<br />
IOW = 8<br />
D$RSIZ Maximum record size. Optional. Specify the size (in characters) of the<br />
longest record in D$TFIL. The largest value permitted is 7168 characters.<br />
Default value is 7168 characters.<br />
D$CHFN Checkpoint filename. Optional. Specify the fully-qualified name of the<br />
checkpoint file. An element name cannot be specified.<br />
You must make an entry in this field if you wish to use Resume.<br />
D$CMF Checkpoint marker frequency. Optional. Specify the number of tracks to<br />
be transferred before a checkpoint marker is written to the checkpoint file.<br />
If this field is not specified, but a checkpoint filename is specified in D$CHFN,<br />
250 tracks are transferred before a marker is written.<br />
D$STIF Site information. Optional. Specifies the additional FTP protocol that the<br />
server needs from the user side.<br />
3-22 3787 3247-111
Example<br />
Local to Remote Transfer in a Session (DDN$FPUT)<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Set the ’from’ file name. D$FFIL=’MY*FILE’<br />
2. Set the ’to’ file name. D$TFIL=’YOUR*FILE’<br />
3. Set to replace. D$POSN=0<br />
4. Set type of data to transparent. D$TRAN=2<br />
5. Set transfer mode to stream. D$XMOD=0<br />
6. Set structure to file. D$STRU=0<br />
7. Set to entire file. D$XTYP=1<br />
8. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$FPUT<br />
3787 3247-111 3-23
Establishing a Session with a Remote Host (DDN$LOGIN)<br />
3.9. Establishing a Session with a Remote Host<br />
(DDN$LOGIN)<br />
Function<br />
Use DDN$LOGIN to establish a session between a local and a remote host.<br />
The subroutine call uses as parameters the D$PCST (Status) and D$LOG (Login)<br />
information packets.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 3.2 for a description of the D$PCST fields.<br />
D$LOG (Login) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions set by user:<br />
Field Definition<br />
D$LOHD Remote host. Required. Specify the id of the host with which the session is to<br />
be opened.<br />
Legal characters are 0-9, A-Z, - (dash), and . (period).<br />
D$LOUD User-id of remote system. Optional. Specify the user-id of the system to<br />
which you wish to attach.<br />
D$LOPW Logon Password. Optional, but usually required by the remote system.<br />
Specify the password which allows access to the remote system.<br />
continued<br />
3-24 3787 3247-111
continued<br />
Establishing a Session with a Remote Host (DDN$LOGIN)<br />
Field Definition<br />
D$LOCL Logon clearance level. Optional. Specify the clearance level when expected<br />
by the remote host.<br />
Specify a number between 0 and 63.<br />
D$LOAC Logon account number. Optional. Specify the account number for the user<br />
on the remote system.<br />
D$LOPD Logon project id. Optional. Specify the project identifier on the remote<br />
system.<br />
Example<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Set the login host-id. D$LOHD=’HOST-1’<br />
2. Set the login user-id. D$LOUD=’JOE’<br />
3. Set the login password. D$LOPW=’YOURS’<br />
4. Set the login account. D$LOAC=’123456’<br />
5. Set the login project-id. D$LOPD=’DDNA’<br />
6. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$LOGIN<br />
3787 3247-111 3-25
Making a Directory on Remote Hosts (DDN$MKD)<br />
3.10. Making a Directory on Remote Hosts<br />
(DDN$MKD)<br />
Function<br />
Use DDN$MKD to create a directory or subdirectory on a remote non-OS 2200 host.<br />
The subroutine call uses as parameters the D$PCST (Status) and D$DIR (Directory)<br />
information packets.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 3.2 for a description of the D$PCST fields.<br />
D$DIR (Directory) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions set by user:<br />
Field Definition<br />
D$DIHD Host-id. Optional. Host name with which to open the session. Use the<br />
characters 0-9, A-Z, dash, and period. Required if you are not currently logged<br />
in to the remote host where you will create the directory. Do not specify a value<br />
if you are currently logged in to the remote host.<br />
D$DIF1 Ignored.<br />
D$DINM Directory name. Required. Name of the directory you are going to create.<br />
D$DIUD User-id. Optional. User-id on the remote system.<br />
continued<br />
3-26 3787 3247-111
continued<br />
Making a Directory on Remote Hosts (DDN$MKD)<br />
Field Definition<br />
D$D<strong>IP</strong>W Password. Optional. Password on the remote system.<br />
D$DIF2 Ignored.<br />
D$DIAC Account number. Optional. Account number on the remote system.<br />
D$DIBY Ignored.<br />
D$DIRE Ignored.<br />
Example<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Set remote host-id. D$DIHD=’HOST-SYS1’<br />
2. Set directory name. D$DINM=’USR/JOE/TEST’<br />
3. Set remote password. D$D<strong>IP</strong>W=’JOE’<br />
4. Set remote user-id. D$DIUD=’DDNJOE’<br />
5. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$MKD<br />
3787 3247-111 3-27
Returning a Directory Name on Remote Hosts (DDN$PWD)<br />
3.11. Returning a Directory Name on Remote<br />
Hosts (DDN$PWD)<br />
Function<br />
Use DDN$PWD to return the name of the current directory on a remote non-OS 2200 host.<br />
<strong>TAS</strong> returns the value of the current directory in the D$DINM field of the Directory packet.<br />
The subroutine call uses as parameters the D$PCST (Status) and D$DIR (Directory)<br />
information packets.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 3.2 for a description of the D$PCST fields.<br />
D$DIR (Directory) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions set by user:<br />
Field Definition<br />
D$DIHD Host-id. Optional. Host name with which to open the session. Use the<br />
characters 0-9, A-Z, dash, and period. Required if you are not currently logged<br />
in to the remote host where the directory is located. Do not specify a value if<br />
you are currently logged in to this remote host.<br />
D$DIF1 Ignored.<br />
D$DIUD User-id. Optional. User-id on the remote system.<br />
continued<br />
3-28 3787 3247-111
continued<br />
Returning a Directory Name on Remote Hosts (DDN$PWD)<br />
Field Definition<br />
D$D<strong>IP</strong>W Password. Optional. Password on the remote system.<br />
D$DIF2 Ignored.<br />
D$DIAC Account number. Optional. Account number on the remote system.<br />
D$DIBY Ignored.<br />
D$DIRE Ignored.<br />
Field definitions returned by <strong>TAS</strong>:<br />
Field Definition<br />
D$DINM Directory name. <strong>TAS</strong> returns the name of the current directory in this field.<br />
Example<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Set remote host-id. D$DIHD=’HOST-SYS1’<br />
2. Set remote password. D$D<strong>IP</strong>W=’JOE’<br />
3. Set remote user-id. D$DIUD=’DDNJOE’<br />
4. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$PWD<br />
3787 3247-111 3-29
Ending a Session (DDN$QUIT)<br />
3.12. Ending a Session (DDN$QUIT)<br />
Function<br />
Use DDN$QUIT to end a session between a local and a remote host. A DDN$QUIT is not<br />
needed following a DDN$TRANSFER.<br />
Always use DDN$QUIT to end the last session before terminating your program.<br />
Otherwise, the program terminates abnormally with a dump.<br />
This subroutine call uses the D$PCST (Status) information packet as a parameter.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 3.2 for a description of the D$PCST fields.<br />
Example<br />
Procedure Typical <strong>FORTRAN</strong> Statement<br />
1. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$QUIT<br />
3-30 3787 3247-111
Registering Files for Event Notification (DDN$REGISTER)<br />
3.13. Registering Files for Event Notification<br />
(DDN$REGISTER)<br />
Function<br />
Use DDN$REGISTER to register a file for event notification. If a file is registered, you are<br />
notified when that file is received at its new location.<br />
See <strong>App</strong>endix G for more information on using the Register command.<br />
The subroutine call uses as parameters the D$PCST (Status) and D$REG (Register)<br />
information packets.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 3.2 for a description of the D$PCST fields.<br />
D$REG (Register) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
3787 3247-111 3-31
Registering Files for Event Notification (DDN$REGISTER)<br />
Field definitions set by user:<br />
Field Definition<br />
D$APPL <strong>App</strong>lication id. Required. Specify the owner of the event notification record.<br />
The application id is used by <strong>TAS</strong> to associate registered filenames with an<br />
owner (to be used when deregistering all filenames). You should try to make<br />
this unique and use it each time you register a filename.<br />
Use 1-12 alphanumeric characters.<br />
D$AFIL File name. Required. Specify the name of the file to be registered for<br />
notification. The name must include a qualifier and filename.<br />
D$RUNA Runstream. Required. Supply the name of the run to be started when the<br />
registered file is received. It is this runstream that returns the information that<br />
the registered file has been received. The name must include a qualifier and<br />
filename.<br />
It does this by either:<br />
a. Starting an application program<br />
b. Sending a terminal message<br />
D$OPTN Run options. Optional. Supply the run options to be used with the run stream.<br />
Validoptionsare:B,C,E-L,M,N,P,R-U,andW-Z.<br />
The X option is supported if the user has sufficient privileges. These options are<br />
discussed in the OS 1100 Exec System Software Administration and Support<br />
Reference Manual.<br />
D$WILD Wild character. Optional. Supply the wild card character to be used in<br />
selecting a file or files for registration. This option is generally used to register<br />
a family of files. Use only one character.<br />
The choices are: a - z, A - Z, $ (dollar sign), / (slash), and 0 - 9.<br />
D$ONET Register one time. Optional. Specify whether or not a file is to be registered:<br />
1 = File is to be registered and then deregistered<br />
0 = File is to remain registered<br />
D$SAVE Save status. Optional. Specify the save status:<br />
1 = Save the file name and status for access by a Status Request command<br />
0 = Do not save file name and status<br />
D$CTRL Control value. Optional. Specify an octal value for the setc parameter on the<br />
@START ECL statement for the event notification runstream. Use an octal value<br />
with a leading zero and place it in the middle third (T2) of the condition word.<br />
Use only the digits 0 through 7.<br />
You can test this value with ECL statements in your runstreams.<br />
continued<br />
3-32 3787 3247-111
continued<br />
Registering Files for Event Notification (DDN$REGISTER)<br />
Field Definition<br />
D$ADDS Specify how to execute the runstream:<br />
0 = using an @START<br />
1 = using an @ADD<br />
Example<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Set application. D$APPL = ’DMO’<br />
2. Set file. D$AFIL = ’FILENAME’<br />
3. Set runstream. D$RUNA = ’DMO*RUNS.MSG’<br />
4. Set control value. D$CTRL = ’010’<br />
5. No start options. D$OPTN = ’ ’<br />
6. No wild character. D$WILD = ’ ’<br />
7. No one time register. D$ONET = 0<br />
8. Set save status. D$SAVE = 1<br />
9. Issue call statement. CALL REG$D(D$PCST,D$REG)<br />
3787 3247-111 3-33
Renaming a File (DDN$RENAME)<br />
3.14. Renaming a File (DDN$RENAME)<br />
Function<br />
Use DDN$RENAME to rename a file on a local host.<br />
The subroutine call uses as parameters the D$PCST (Status) and D$RENM (Rename)<br />
information packets.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 3.2 for a description of the D$PCST fields.<br />
D$RENM (Rename) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions set by user:<br />
Field Definition<br />
D$RMID Rename-host-id. Required if the file is on a remote host and the user is<br />
not currently logged-in to the remote host. Specify the host-id of the<br />
remote host that contains the file being renamed.<br />
D$RMFM Rename from file name. Required. Specify the current name of the file<br />
being renamed.<br />
D$RMTO Rename to file name. Required. Specify the new name of the file.<br />
D$RMPS Rename password. Optional. Specify the password for the user on the<br />
system where the file is being renamed.<br />
continued<br />
3-34 3787 3247-111
continued<br />
Field Definition<br />
Renaming a File (DDN$RENAME)<br />
D$RMUR Rename user-id. Optional. Specify the user-id for the user on the system<br />
where the file is being renamed.<br />
D$RMAC Rename account number. Optional. Specify the account number for the<br />
user on the system where the file is being renamed.<br />
D$RMPJ Rename project-id. Optional. Specify the project-id for the user on the<br />
system where the file is being renamed.<br />
Example<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Set remote host-id. D$RMID=’HOST-SYS1’<br />
2. Set current file name. D$RMFM=’OLD*PROG’<br />
3. Set new file name. D$RWTO=’NEW*PROG’<br />
4. Set password. D$RMPS=’JAMES’<br />
5. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$RENAME<br />
3787 3247-111 3-35
Resuming a Checkpoint File Transfer (DDN$RESUME)<br />
3.15. Resuming a Checkpoint File Transfer<br />
(DDN$RESUME)<br />
Function<br />
Use DDN$RESUME to recover a file transfer that terminated abnormally at a checkpoint<br />
marker in a checkpoint file, provided you specified a checkpoint file name in the<br />
DDN$TRANSFER INCLUDE statement.<br />
The subroutine call uses as parameters the D$PCST (Status) and D$RESU (Resume)<br />
information packets.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 3.2 for a description of the D$PCST fields.<br />
D$RESU (Resume) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions set by user:<br />
Field Definition<br />
D$RFNM Resume file name. Required. Specify the fully qualified name of the<br />
checkpoint file as defined in the D$CHFN field of D$XFER.<br />
D$RMRK Resume file marker. Optional. Specify the file marker at which the file<br />
transfer is to resume.<br />
If this field is not specified, the file transfer is resumed at the last marker in the<br />
checkpoint file.<br />
continued<br />
3-36 3787 3247-111
continued<br />
Resuming a Checkpoint File Transfer (DDN$RESUME)<br />
Field Definition<br />
D$PWS1 Resume password 1. Required when the file transfer being resumed<br />
required D$PAS1. Specify the same password as specified in the D$PAS1<br />
field of D$XFER.<br />
D$RCL1 Resume clearance level 1. Required when the file transfer being<br />
resumed required a clearance level. Specify a two-character clearance<br />
level.<br />
This clearance level is passed to the remote host, whether or not that host is an<br />
OS 2200.<br />
(The default is determined by the user-id’s registration with the Exec.)<br />
D$PWS2 Resume password 2. Required when the file transfer being resumed<br />
required D$PAS2. Specify the same password as specified in the D$PAS2<br />
field of D$XFER.<br />
D$RCL2 Resume clearance level 2. Required when the file transfer being<br />
resumed required a clearance level. Specify a two-number clearance level.<br />
Example<br />
If a clearance level is specified, it is passed to the remote host, whether or not<br />
that host is an OS 2200.<br />
(The default is determined by the user-id’s registration with the Exec.)<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Set file name. D$RFNM=’MY*CHECKFILE’<br />
2. Set resume password 1. D$PWS1=’JOE’<br />
3. Set resume password 2. D$PWS2=’RALPH’<br />
4. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$RESUME<br />
3787 3247-111 3-37
Removing a Directory on Remote Hosts (DDN$RMD)<br />
3.16. Removing a Directory on Remote Hosts<br />
(DDN$RMD)<br />
Function<br />
Use DDN$RMD to delete a directory on a remote non-OS 2200 host.<br />
The subroutine call uses as parameters the D$PCST (Status) and D$DIR (Directory)<br />
information packets.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 3.2 for a description of the D$PCST fields.<br />
D$DIR (Directory) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions set by user:<br />
Field Definition<br />
D$DIHD Host-id. Optional. Host name with which to open the session. Use the<br />
characters 0-9, A-Z, dash, and period. Required if you are not currently logged<br />
in to the remote host where the directory is located. Do not specify a value if<br />
you are currently logged in to this remote host.<br />
D$DIF1 Ignored.<br />
D$DINM Directory name. Required. Name of the directory you are going to delete.<br />
D$DIUD User-id. Optional. User-id on the remote system.<br />
continued<br />
3-38 3787 3247-111
continued<br />
Removing a Directory on Remote Hosts (DDN$RMD)<br />
Field Definition<br />
D$D<strong>IP</strong>W Password. Optional. Password on the remote system.<br />
D$DIF2 Ignored.<br />
D$DIAC Account number. Optional. Account number on the remote system.<br />
D$DIBY Ignored.<br />
D$DIRE Ignored.<br />
Example<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Set remote host-id. D$DIHD=’HOST-SYS1’<br />
2. Set directory name. D$DINM=’USR/JOE/TEST’<br />
3. Set remote password. D$D<strong>IP</strong>W=’JOE’<br />
4. Set remote user-id. D$DIUD=’DDNJOE’<br />
5. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$RMD<br />
3787 3247-111 3-39
Sending Site-Specific Information about a File Transfer (DDN$SITE)<br />
3.17. Sending Site-Specific Information about a<br />
File Transfer (DDN$SITE)<br />
Function<br />
Use DDN$SITE to send FTP protocol that <strong>TAS</strong> does not provide within subroutines. The<br />
information in D$STIN is sent to the remote host exactly as it appears. You must also<br />
include the FPT protocol itself. This functions like the FTP QUOTE command.<br />
The subroutine call uses as parameters the D$PCST (Status) and D$SITE (Status Request)<br />
information packets.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 3.2 for a description of the D$PCST fields.<br />
D$SITE (Status Request) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions set by user:<br />
Field Definition<br />
D$STID Site host-id. Required if not already logged in. The id of the remote host<br />
from which the information is sent.<br />
D$STIN Site information. Required. Specifies additional FTP protocol to be sent to<br />
theremotehost.<br />
D$STPS Site password. Optional. Specify the password used for site information.<br />
D$STUR Site user-id. Optional. Specify the user-id used for site information.<br />
continued<br />
3-40 3787 3247-111
Sending Site-Specific Information about a File Transfer (DDN$SITE)<br />
continued<br />
Field Definition<br />
D$STAC Site account. Optional. Specify the account used for site information.<br />
D$STPJ Site project-id. Optional. Specify the project-id used for site information.<br />
Example<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Set host-id. D$STID=’HOST-SYS1’<br />
2. Set information requested. D$STIN=’LIST PROTOCOLS<br />
SUPPORTED’<br />
3. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$SITE<br />
3787 3247-111 3-41
Getting Event Notification Status Information (DDN$STATUS)<br />
3.18. Getting Event Notification Status Information<br />
(DDN$STATUS)<br />
Function<br />
Use DDN$STATUS to obtain <strong>TAS</strong> file transfer status for applications which were<br />
registered for event notification with a Save status (D$SAVE).<br />
The subroutine call uses as parameters the D$PCST (Status) and D$STAT (Status Event<br />
Notification) information packets.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 3.2 for a description of the D$PCST fields.<br />
D$STAT (Status Request) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions set by user:<br />
Field Definition<br />
D$SAPP <strong>App</strong>lication host-id. Required. Specify the id of the application about which<br />
status is desired.<br />
D$SDNT Deregister entry. Optional. Specify:<br />
0 = Do not deregister this application.<br />
1 = Deregister this application.<br />
3-42 3787 3247-111
Getting Event Notification Status Information (DDN$STATUS)<br />
Field definitions returned by <strong>TAS</strong>:<br />
Field Definition<br />
D$SFIL File name. <strong>TAS</strong> supplies the name of the file about which information was<br />
requested.<br />
D$FSTA File Status. <strong>TAS</strong> returns a file transfer status.<br />
Example<br />
01 = Transfer was successful<br />
19 = Exceeded storage<br />
21-27 = Transfer aborted<br />
all others = Local error<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Set application. D$SAPP=’DMO’<br />
2. Deregister entry. D$SDNT=’0’<br />
3787 3247-111 3-43
Transferring Files or Elements between Hosts (DDN$TRANSFER)<br />
3.19. Transferring Files or Elements between Hosts<br />
(DDN$TRANSFER)<br />
Function<br />
Use DDN$TRANSFER to transfer a file or element between hosts.<br />
The subroutine call uses as parameters the D$PCST (Status) and D$XFER (Transfer)<br />
information packets.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 3.2 for a description of the D$PCST fields.<br />
D$XFER (Transfer) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions set by user:<br />
Field Definition<br />
D$FRID From host-id. Required if sending from a remote host. Specify the host-id<br />
or logical host name of the sending host.<br />
Do not specify the host-id when sending from the local host.<br />
(See <strong>App</strong>endix B for host-naming conventions.)<br />
continued<br />
3-44 3787 3247-111
continued<br />
Transferring Files or Elements between Hosts (DDN$TRANSFER)<br />
Field Definition<br />
D$TOID To host-id. Required if sending to a remote host. Specify the host-id or<br />
logical host name of the receiving host.<br />
Do not specify the host-id when sending to the local host.<br />
(See <strong>App</strong>endix B for host-naming conventions.)<br />
D$TFIL To (destination) file name. Required. Specify the fully qualified name of the<br />
file (or file and element) to receive the transfer.<br />
D$FFIL From (source) file name. Required. Specify the fully qualified name of the<br />
file (or file and element) to be sent.<br />
D$PAS1 Password-1. May be required for files on remote hosts or files with<br />
read/write keys on the local host. Specify a 1-to 18-alphanumeric character<br />
password.<br />
D$CLV1 Clearance-level-1. May be required for files on remote hosts or files<br />
with read/write keys on the local host.<br />
Enter a number between 0 and 63.<br />
The default user-id is determined by your user-id’s registration with the Exec.<br />
D$PAS2 Password-2. May be Required for files on remote hosts or files with<br />
read/write keys on the local host. Specify a 1- to 18-alphanumeric<br />
character password for the destination host.<br />
D$CLV2 Clearance-level-2. Required for files with read/write keys on the local<br />
host. Specify a number between 0 and 63.<br />
If a clearance level is specified, it is passed to the remote host, whether or not<br />
that host is an OS 2200.<br />
(The default is determined by the user-id’s registration with the Exec.)<br />
D$UID1 User-id-1. May be required for files with read/write keys on the local<br />
host or files on a remote host. Specify a 1- to 12-character user identifier for<br />
thesourcehost.<br />
D$UID2 User-id-2. Required for files with read/write keys on the local host or<br />
files on a remote host. Specify a 1- to 12-alphanumeric character user<br />
identifier for the destination host.<br />
D$ACT1 Account-number-1. May be required for files on remote hosts or when<br />
D$UID1 is configured to ask for the account number. Specify a 1- to<br />
12-character account number for the source host.<br />
D$ACT2 Account-number-2. May be required for files on remote hosts or when<br />
D$UID2 is configured to ask for the account number. Specify a 1- to<br />
12-character account number for the destination host.<br />
3787 3247-111 3-45
Transferring Files or Elements between Hosts (DDN$TRANSFER)<br />
continued<br />
Field Definition<br />
D$PID1 Project-id-1. May be required for files on remote hosts or when D$UID<br />
is configured to ask for the project identifier. Specify a 1- to 18-character<br />
project identifier for the destination host.<br />
D$PID2 Project-id-2. May be required for files on remote hosts or when D$UID<br />
is configured to ask for the project identifier. Specify a 1- to 18-character<br />
project identifier for the destination host.<br />
D$POSN Position. Required. Specify the placement of the file to be transferred.<br />
Replace = 0<br />
Add = 1<br />
D$TRAN Translate. Required. Specify the type of data in the sending file.<br />
ASCII = 0<br />
EBCDIC = 1<br />
Transparent = 2<br />
L36 = 3<br />
D$XMOD Transfer mode. Required. Specify the mode of transfer.<br />
Stream = 0<br />
Compressed = 1<br />
Block = 2 (Block means sent as a series of blocks.)<br />
D$STRU Structure. Required. Specify how data in the sending host is to be sent.<br />
File (no record structure)= 0<br />
Record (sequential records) = 2<br />
D$XTYP Transfer type. Required. Specify the type of file or element being sent.<br />
Symbolic = 0<br />
All (entire file) = 1<br />
Relocatable = 2<br />
Absolute = 3<br />
Omnibus = 4<br />
Source = 5<br />
SDF = 6<br />
Unknown = 7<br />
IOW = 8<br />
D$RSIZ Maximum record size. Optional. Specify the size (in characters) of the<br />
longest record in D$TFIL. The largest value permitted is 7168 characters.<br />
Default value is 7168 characters.<br />
D$CHFN Checkpoint file name. Optional. Specify the fully-qualified name of the<br />
checkpoint file. An element name cannot be specified.<br />
3-46 3787 3247-111
continued<br />
Transferring Files or Elements between Hosts (DDN$TRANSFER)<br />
Field Definition<br />
D$CMF Checkpoint marker frequency. Optional. Specify the number of tracks to<br />
be transferred before a checkpoint marker is written in the checkpoint file.<br />
If this field is not specified, but a file name is specified, 250 tracks are<br />
transferred before a marker is written.<br />
D$STIF Site information. Optional. Specifies the additional FTP protocol that the<br />
server needs from the user side.<br />
Example<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Set the ’from’ host-id. D$FRID=’HOST-SYS1’<br />
2. Set the ’to’ host-id. D$TOID=’HOST-SYS2’<br />
3. Set the ’from’ file name. D$FFIL=’MY*FILE’<br />
4. Set the ’to’ file name. D$TFIL=’YOUR*FILE’<br />
5. Set the ’from’ password. D$PAS1=’MINE’<br />
6. Set the ’to’ password. D$PAS2=’YOURS’<br />
7. Set the ’from’ user-id. D$UID1=’PAT’<br />
8. Set the ’to’ user-id. D$UID2=’JOE’<br />
9. Set the ’from’ account number. D$ACT1=’123456’<br />
10. Set the ’to’ account number. D$ACT2=’789ABC’<br />
11. Set the ’from’ project-id. D$PID1=’DDNA’<br />
12. Set the ’to’ project-id. D$PID2=’DDNB’<br />
13. Set to replace. D$POSN=0<br />
14. Set type of data to transparent. D$TRAN=2<br />
15. Set transfer mode to stream. D$XMOD=0<br />
16. Set structure to file. D$STRU=0<br />
17. Set to entire file. D$XTYP=1<br />
18. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$TRANSFER<br />
3787 3247-111 3-47
Designing a File Transfer <strong>App</strong>lication<br />
3.20. Designing a File Transfer <strong>App</strong>lication<br />
When designing a <strong>TAS</strong> file transfer application, you should lay out a block diagram of what<br />
you want to do. (See Figure 3-1.)<br />
Set Up Transfer<br />
Packet<br />
Perform Type of<br />
Transfer<br />
Figure 3-1. Typical <strong>TAS</strong> <strong>FORTRAN</strong> File Transfer Block Diagram<br />
Once you design the basic block diagram, you can create a flow diagram by filling in the<br />
blocks with <strong>FORTRAN</strong> statements (as shown in Figure 3-2) according to the requirements<br />
defined for each INCLUDE statement.<br />
In most cases, you can do this by taking the example given under each INCLUDE<br />
statement in 3.1 through 3.4 and placing it in the appropriate block. (Some changes from<br />
the example may be needed, depending upon your application.)<br />
Figure 3-2 shows a three-host transfer that moves an entire file from one remote host to<br />
another remote host. Note that in a three-way transfer; all three hosts must be OS 2200<br />
hosts. For simplicity, no error/status checking routines are shown. See the file transfer<br />
application program in <strong>App</strong>endix C for a complete example.<br />
3-48 3787 3247-111
SET UP TRANSFER<br />
D$FRID='HOST-ID-SYS2'<br />
D$TOID='HOST-ID-SYS1'<br />
D$PAS1='PASS1'<br />
D$PAS2='PASS2'<br />
D$UID1='USER1'<br />
D$UID2='USER2'<br />
D$ACT1='111111111111'<br />
D$ACT2='222222222222'<br />
D$PID1='MYID'<br />
D$PID2='YOURID'<br />
TRANSFER ENTIRE FILE<br />
D$FFIL='MYID*FROMFILE1'<br />
D$TFIL='YOURID*TOFILE1'<br />
D$POSN=0<br />
D$TRAN=2<br />
D$SMOD=2<br />
D$STRU=0<br />
D$XTUP=1<br />
INCLUDE LIBFILE.DDN$TRANSFER<br />
IF (D$PCCL .NE. 1) THEN<br />
CALL DISPST<br />
END IF<br />
Designing a File Transfer <strong>App</strong>lication<br />
Figure 3-2. Typical <strong>TAS</strong> <strong>FORTRAN</strong> File Transfer Flow Diagram<br />
3787 3247-111 3-49
Section 4<br />
Mail <strong>App</strong>lications<br />
4.1. Mail Commands<br />
To process mail commands, you can either:<br />
$ Use the <strong>FORTRAN</strong> modules which are supplied<br />
$ Code your own subroutine call(s)<br />
You can direct these commands to:<br />
$ Your local host<br />
$ Any remote host in the <strong>TAS</strong> network<br />
3787 3247-111 4-1
Mail Commands<br />
4.1.1. Basic Format<br />
You can use the subroutines supplied by <strong>TAS</strong> in two ways:<br />
$ You can code a <strong>FORTRAN</strong> INCLUDE statement followed by a subroutine call. This<br />
allows the required information packets to replace the INCLUDE statement when the<br />
program is compiled.<br />
Example: INCLUDE LIBFILE.DDN$CHECK<br />
$ You can call the subroutine directly. When you select this option you must name the<br />
information packets referenced.<br />
Example: call CHEK$D (D$PCST,D$MBUF,D$MAIL)<br />
4.1.2. Coding Your Own Subroutines<br />
You can code the subroutine call yourself, but you must then supply the information<br />
packet names in the sequence shown in Table 4-1. See 2.2 and 2.3 for a discussion on how<br />
to use subroutine calls, information packets, and INCLUDE statements.<br />
To obtain more detailed information on mail transfer commands, see the <strong>TAS</strong> Mail<br />
Processor User <strong>Guide</strong>.<br />
4.1.3. Statements Summarized<br />
Table 4-1 lists the <strong>FORTRAN</strong> INCLUDE statements, <strong>FORTRAN</strong> subroutine calls, and<br />
information packets for mail transfer application programs.<br />
Each include statement is listed in alphabetical order and discussed individually in the<br />
subsections which follow.<br />
4.1.4. Start with DDN$MAILBOX<br />
The first command you will want to use in your program is DDN$MAILBOX (see 4.8).<br />
This command creates the mailbox(es) you will need in order to use mail. After you have<br />
created mailboxes, you select other options for your program.<br />
4-2 3787 3247-111
Mail Commands<br />
Table 4-1. Transfer Packets Referenced by INCLUDE Statements and Subroutine Calls<br />
Function INCLUDE Statement Subroutine Information Packets<br />
Referenced by INCLUDE<br />
Statement/Subroutine Call<br />
Retrieve a list of<br />
incoming/outgoing mail<br />
Continue a mail operation<br />
with another buffer<br />
End a mailbox<br />
assignment<br />
Discontinue a mail<br />
operation<br />
Create, list, change, or<br />
delete lists of mailbox<br />
names<br />
INCLUDE LIBFILE.<br />
DDN$CHECK<br />
INCLUDE LIBFILE.<br />
DDN$CONTINUE<br />
INCLUDE LIBFILE.<br />
DDN$DISCONN<br />
INCLUDE LIBFILE.<br />
DDN$DISCONT<br />
INCLUDE LIBFILE.<br />
DDN$DIST<br />
Getmailfromamailbox INCLUDE LIBFILE.<br />
DDN$GET<br />
Create, change, assign,<br />
or delete mailboxes<br />
INCLUDE LIBFILE.<br />
DDN$MAILBOX<br />
Create outgoing mail INCLUDE LIBFILE.<br />
DDN$PREPARE<br />
Delete<br />
incoming/outgoing mail<br />
fromamailbox<br />
INCLUDE LIBFILE.<br />
DDN$REMOVE<br />
Send mail to mailboxes INCLUDE LIBFILE.<br />
DDN$SENDMAIL<br />
Obtain a mailbox name<br />
for a given user<br />
Notes:<br />
INCLUDE LIBFILE.<br />
DDN$VERIFY<br />
CHEK$D D$PCST D$MBUF D$MAIL<br />
CONT$D D$PCST D$MBUF D$MAIL<br />
DISC$D D$PCST<br />
DCNT$D D$PCST<br />
DIST$D D$PCST D$MBUF D$MAIL D$DIST<br />
D$ELST D$MLST<br />
GETM$D D$PCST D$MBUF D$MAIL<br />
MBOX$D D$PCST D$MAIL D$MBOX<br />
PREP$D D$PCST D$MBUF D$MAIL<br />
REMV$D D$PCST D$MAIL<br />
SENM$D D$PCST D$MBUF D$MAIL<br />
D$SEND D$ELST D$MLST<br />
D$DLST<br />
VRFY$D D$PCST D$VRFY<br />
1. The formats of the D$PCST and D$MAIL packets are the same for each INCLUDE<br />
statement/subroutine call. The field definitions for those packets only describe<br />
those fields used for that particular statement.<br />
2. For debugging ease, each packet contains an EQUIVALENCE statement (D$OCxx)<br />
that allows you to snap out the packet in octal format.<br />
3787 3247-111 4-3
Listing Incoming/Outgoing Mail Items (DDN$CHECK)<br />
4.2. Listing Incoming/Outgoing Mail Items<br />
(DDN$CHECK)<br />
Function<br />
Use a DDN$CHECK INCLUDE statement to retrieve a list of incoming or outgoing mail for<br />
your mailbox.<br />
The associated subroutine call references the D$PCST (Status) and D$MAIL (Mail)<br />
information packets. It also references the D$MBUF (Mail Buffer) storage area.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions returned by <strong>TAS</strong>:<br />
D$PCID Packet-id. ’DDN$’ is placed in this field after a successful call. An error code is<br />
placedin the D$PCEF field after an unsuccessful call.<br />
Table A-5 lists the error codes.<br />
D$PCCL Class code. Returns a general status code to classify the error status found.<br />
See the tables in <strong>App</strong>endix A.<br />
D$OK = 1<br />
D$PCDT Detailed status code. Identifies the specific status or error encountered.<br />
See the tables in <strong>App</strong>endix A.<br />
continued<br />
4-4 3787 3247-111
continued<br />
Listing Incoming/Outgoing Mail Items (DDN$CHECK)<br />
D$PCRF Status redefined. Redefines the status fields to allow a <strong>FORTRAN</strong> program to<br />
reference D$PCCL and D$PCDT as one field. This provides an easy way to test<br />
certain status conditions that the program may not consider to be errors.<br />
For example, instead of testing D$PCCL to equal 193 and D$PCDT to equal<br />
190, just check D$PCRF for PCMBEM. The class code for all of these fields is<br />
193.<br />
The following list equates the values in the field definitions with the detailed<br />
status codes in the tables in <strong>App</strong>endix A:<br />
PCDUP: 50 Duplicate name<br />
PCMBOX: 100 Mailbox not found<br />
PCDMBX: 110 Duplicate mailbox<br />
PCBXAC: 130 Mailbox active<br />
PCMBEM: 190 Mailbox empty<br />
PCIDNF: 200 Identifier not found<br />
PCDUID: 220 Duplicate identifier<br />
PCLSNF: 260 List not found<br />
PCDULT: 290 Duplicate list<br />
PCNOMB: 370 No members<br />
PCRMID: 380 Remove identifier not found<br />
PCLSDE: 390 List deleted<br />
PCMBIU: 800 Mailbox in use<br />
PCUSAM: 945 User ambiguous<br />
PCUSNF: 950 User not found<br />
PCDBER: 1020 Database error<br />
D$PCML Message insert. Text corresponding to the errors detected.<br />
See the tables in <strong>App</strong>endix A.<br />
D$MBUF (Mail Buffer) Parameter<br />
This parameter references a storage area for a list of incoming or outgoing mail. You must<br />
declare this statement in your application program:<br />
<br />
The total buffer area must be less than or equal to 3300 characters (the largest message<br />
<strong>TAS</strong> can transfer). See 4.14 for additional information.<br />
3787 3247-111 4-5
Listing Incoming/Outgoing Mail Items (DDN$CHECK)<br />
D$MAIL (Mail) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions set by user:<br />
D$MTYP Type mail. Required. Indicates the type of mail.<br />
Incoming = 0<br />
Outgoing = 1<br />
D$BSIZ Buffer size. Required. Specify the maximum number of characters to be<br />
used in the mail buffer.<br />
Field definitions returned by <strong>TAS</strong>:<br />
This value must be a multiple of four and not greater than 3300.<br />
D$MTCI More to come indicator. Indicates there was incoming data remaining after<br />
the mail buffer was filled to capacity.<br />
If this indicator is set, the program must issue a DDN$CONTINUE or<br />
DDN$DISCONT INCLUDE statement. No other mail function can be issued until<br />
a DDN$DISCONT is issued.<br />
D$LNCT Line count. Indicates the number of lines received in the mail buffer.<br />
Example<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Check incoming mail. D$MTYP=0<br />
2. Set buffer size. D$BSIZ=800<br />
3. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$CHECK<br />
4-6 3787 3247-111
Additional Discussion<br />
Listing Incoming/Outgoing Mail Items (DDN$CHECK)<br />
The size of each line in the mail buffer after a DDN$CHECK INCLUDE statement is 80<br />
characters. When D$MTYP is specified as Incoming (0), the format of each line is as<br />
follows:<br />
Position Contents<br />
1-8 Mail identifier<br />
10-34 Subject<br />
36-55 Author<br />
57-64 Date received (mm/dd/yy)<br />
66-68 Number of pages<br />
70 Reply (Y or N)<br />
72-79 Date seen (mm/dd/yy)<br />
When D$MTYP is specified as Outgoing (1), the format of each line is as follows:<br />
Position Contents<br />
1-8 Mail identifier<br />
10-34 Subject<br />
36-55 Author<br />
57-64 Date created (mm/dd/yy)<br />
66-68 Number of pages<br />
3787 3247-111 4-7
Continuing Mail Operation with Another Buffer (DDN$CONTINUE)<br />
4.3. Continuing Mail Operation with Another Buffer<br />
(DDN$CONTINUE)<br />
Function<br />
Use a DDN$CONTINUE statement when the buffer is not large enough to contain the data<br />
associated with a mail operation. This continues the mail operation by using the next<br />
buffer.<br />
This statement is only valid when used in conjunction with:<br />
$ Operations which pass information to <strong>TAS</strong>:<br />
v DDN$PREPARE with D$TLOC specified as Text in Memory<br />
v DDN$SENDMAIL with D$TLOC specified as Text in Memory<br />
$ Operations which receive information from <strong>TAS</strong>:<br />
v DDN$CHECK<br />
v DDN$DIST with D$MMOD specified as Display<br />
v DDN$GET with D$TLOC specified as In Memory<br />
To pass additional buffers (one at a time)<br />
Use DDN$CONTINUE with D$LBID specified as 1 (Not Last Buffer).<br />
To terminate this process, do either of the following:<br />
$ Specify 0 (Last Buffer) for D$LBID when you pass the last buffer.<br />
$ Issue DDN$DISCONT after you have passed the last buffer.<br />
To receive data in the mail buffer<br />
Check the D$MTCI indicator to see if there is more data to be returned after the buffer is<br />
filled. If the indicator is set, do either of the following:<br />
$ Issue DDN$CONTINUE to receive the data and check D$MTCI again to see if<br />
additional data remains (repeat this process as necessary).<br />
$ Issue DDN$DISCONT when you do not want additional data.<br />
The associated subroutine call references the D$PCST (Status) and D$MAIL (Mail)<br />
information packets. It also references the D$MBUF (Message Buffer) storage area.<br />
Format<br />
<br />
or<br />
<br />
4-8 3787 3247-111
Continuing Mail Operation with Another Buffer (DDN$CONTINUE)<br />
D$PCST (Status) Packet<br />
See 4.2 for a description of the D$PCST fields.<br />
D$MBUF (Mail Buffer) Parameter<br />
This parameter references a storage area for data passed to or from the <strong>TAS</strong> interface,<br />
depending on the mail operation. You must declare this statement in your application<br />
program:<br />
<br />
The total buffer area must be less than or equal to 3300 characters. This is the largest<br />
message that <strong>TAS</strong> can transfer. See 4.14for more information.<br />
D$MAIL (Mail) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions set by user:<br />
D$LNCT Line count. Required if the previous operation was DDN$SENDMAIL or<br />
DDN$PREPARE. Specify the number of text lines in the mail buffer to be<br />
prepared or sent.<br />
D$BSIZ Buffer size. Required if previous operation was DDN$SENDMAIL or<br />
DDN$PREPARE. Specify the maximum number of characters to be used in the<br />
mail buffer.This value must be a multiple of four and not greater than 3300.<br />
D$LSIZ Line size. Required if previous operation was DDN$PREPARE or<br />
DDN$SENDMAIL. Specify the number of characters per line in the mail buffer.<br />
This value must not be greater than 132.<br />
3787 3247-111 4-9<br />
continued
Continuing Mail Operation with Another Buffer (DDN$CONTINUE)<br />
continued<br />
D$LBID Last buffer indicator. Required if previous operation was<br />
DDN$SENDMAIL or DDN$PREPARE. Indicatesifthisisthelastbufferforthe<br />
mail operation.<br />
0 = Last Buffer<br />
1=NotLastBuffer<br />
Field definitions returned by <strong>TAS</strong>:<br />
If 1 (Not Last Buffer) is specified, the program must issue a DDN$CONTINUE<br />
INCLUDE statement that specifies 0 (Last Buffer) or a DDN$DISCONT INCLUDE<br />
statement before issuing any other mail function calls.<br />
D$MTCI More to come indicator. Returned if previous operation was a DDN$CHECK,<br />
DDN$DIST, or DDN$GET. Indicates there was incoming data remaining after the<br />
user’s mail buffer was filled to capacity.<br />
If this indicator is set, the program must issue a DDN$CONTINUE or<br />
DDN$DISCONT INCLUDE statement. No other mail functions can be issued until<br />
a DDN$DISCONT function is issued.<br />
D$LNCT Line count. Returns the number of text lines received in the mail buffer, if<br />
previous operation was a DDN$CHECK, DDN$DIST, or DDN$GET.<br />
Example<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Set line count. D$LNCT=20<br />
2. Set buffer size. D$BSIZ=2640<br />
3. Set line size. D$LSIZ=132<br />
4. Set last buffer indicator. D$LBID=0<br />
5. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$CONTINUE<br />
4-10 3787 3247-111
Ending a Mailbox Assignment (DDN$DISCONN)<br />
4.4. Ending a Mailbox Assignment (DDN$DISCONN)<br />
Function<br />
You should use the DDN$DISCONN to end the mailbox assignment you established with a<br />
DDN$MAILBOX INCLUDE statement.<br />
Use it after the last DDN$MAILBOX. You do not need to issue DDN$DISCONN after every<br />
DDN$MAILBOX as each DDN$MAILBOX INCLUDE statement automatically ends the<br />
previous mailbox assignment.<br />
Once you issue the command, you cannot issue any more mail processor commands until<br />
you assign a new mailbox (DDN$MAILBOX).<br />
The associated subroutine call only references the D$PCST (Status) information packet.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 4.2 for a description of the D$PCST fields.<br />
Example<br />
Procedure Typical <strong>FORTRAN</strong> Statement<br />
1. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$DISCONN<br />
3787 3247-111 4-11
Terminating a Mail Operation (DDN$DISCONT)<br />
4.5. Terminating a Mail Operation (DDN$DISCONT)<br />
Function<br />
Use a DDN$DISCONT INCLUDE statement to terminate the previous mail operation.<br />
Before you do this, check to see if the D$MTCI indicator is set after a DDN$CHECK,<br />
DDN$DIST, or DDN$GET INCLUDE statement. If this indicator is set, you must either:<br />
$ Use DDN$CONTINUE to accept the additional information in the mail buffer<br />
$ Issue a DDN$DISCONT to reject additional information and terminate the operation<br />
See 4.3 for additional information.<br />
If you are passing buffers of data for DDN$PREPARE or DDN$SENDMAIL INCLUDE<br />
statement, you must either:<br />
$ Set D$LBID to 0 (Last Buffer)<br />
$ Issue a DDN$DISCONT INCLUDE statement to terminate the operation<br />
The associated subroutine call only references the D$PCST (Status) information packet.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 4.2 for a description of the D$PCST fields.<br />
Example<br />
Procedure Typical <strong>FORTRAN</strong> Statement<br />
1. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$DISCONT<br />
4-12 3787 3247-111
Creating, Changing, or Deleting Distribution Lists (DDN$DIST)<br />
4.6. Creating, Changing, or Deleting Distribution<br />
Lists (DDN$DIST)<br />
Function<br />
If you frequently send mail to the same set of mailboxes, it will be easier to use a<br />
distribution list. You can create a distribution list with the DDN$DIST INCLUDE statement<br />
and reference this distribution list name in the DDN$SENDMAIL INCLUDE statement. You<br />
can also use the DDN$DIST INCLUDE statement to:<br />
$ Display or delete distribution lists<br />
$ Insert or remove members in existing distribution lists<br />
The mailbox to which you are assigned when you create a distribution list owns that list.<br />
Only you can change or delete the list. However, anyone can display or send mail to that<br />
list.<br />
The mail processor automatically updates distribution lists when users change or delete<br />
their mailbox names.<br />
The associated subroutine call references the D$PCST (Status), D$MAIL (Mail), D$DIST<br />
(Distribution), and D$ELST (List Error) information packets. It also references the<br />
D$MBUF (Mail Buffer) and D$MLST (Mailbox List) storage areas.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 4.2 for a description of the D$PCST fields.<br />
D$MBUF (Mail Buffer) Parameter<br />
When D$MMOD is 4 (Display), this parameter references a storage area for distribution list<br />
names owned by the currently-assigned mailbox. You must declare this statement in your<br />
application program:<br />
<br />
Total buffer area must be less than or equal to 3300 characters (the largest message <strong>TAS</strong><br />
can transfer). See 4.14 for more information.<br />
3787 3247-111 4-13
Creating, Changing, or Deleting Distribution Lists (DDN$DIST)<br />
D$MAIL (Mail) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions set by user:<br />
D$MMOD Mode mail. Required. Indicates the operational mode of the called function.<br />
Create = 2<br />
Delete = 3<br />
Display = 4<br />
Insert = 5<br />
Remove = 6<br />
D$BSIZ Buffer size. Required if D$MMOD is 4 (Display). Specify the maximum<br />
number of characters to be used in the mail buffer.<br />
This value must be a multiple of four and not greater than 3300.<br />
Field definitions returned by <strong>TAS</strong>:<br />
D$MTCI More to come indicator. Indicates there is incoming data remaining after the<br />
mail buffer was filled to capacity, if D$MMOD is 4 (Display).<br />
If this indicator is set, the program must issue a DDN$CONTINUE or<br />
DDN$DISCONT INCLUDE statement. No other mail functions can be issued until<br />
a DDN$DISCONT is issued.<br />
D$LNCT Line count. Returns the number of text lines received in the mail buffer, if<br />
D$MMOD is 4 (Display).<br />
D$DIST (Distribution) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
4-14 3787 3247-111
Creating, Changing, or Deleting Distribution Lists (DDN$DIST)<br />
Field definitions set by user:<br />
D$HID Host-id. Required if D$MMOD is 4 (Display) and the distribution list<br />
resides on a remote host. Specify the host-id or logical host name. (See<br />
<strong>App</strong>endix B.)<br />
D$LIST List name. Required. Specify the name of this distribution list. If the<br />
distribution list resides on this host or any other OS 2200 host, the name<br />
cannot contain more than 12 characters. (See <strong>App</strong>endix B.)<br />
If *ALL is specified, and D$MMOD is 4 (Display), all distribution lists for the<br />
currently assigned mailbox will be displayed.<br />
D$NENT Number of entries. Required if D$MMOD is 2 (Create), 5 (Insert), or 6<br />
(Remove). Specify the number of mailbox names in D$MLST.<br />
D$ELST (List Error) Packet<br />
The maximum is 20 names of 88 characters each. (See <strong>App</strong>endix B.)<br />
The D$ELST packet contains errors that are encountered while attempting to access<br />
members of D$MLST. Unlike errors posted in D$PCST, the list errors posted in this packet<br />
do not cause command termination, but give notification of any members that could not be<br />
accessed.<br />
A class code of 193 and detail status of 7010 are returned in D$PCST to indicate that list<br />
errors occurred and D$ELST should be examined. However, if any non-list error is<br />
encountered, that error will be posted in D$PCST instead of 193/7010. D$ELST may still be<br />
examined to see if any list errors occurred (D$ECNT is not 0) before the non-list error<br />
occurred.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
See <strong>App</strong>endix A for a list of error codes.<br />
Field definitions returned by <strong>TAS</strong>:<br />
D$ECNT Error count. Indicates the number of errors encountered while accessing the<br />
mailboxes in D$MLST. Only the first 11 errors encountered for this command<br />
are posted here.<br />
This value also indicates the number of occurrences of D$ELE1.<br />
3787 3247-111 4-15<br />
continued
Creating, Changing, or Deleting Distribution Lists (DDN$DIST)<br />
continued<br />
D$ELNE Error line. Contains message text describing the error that occurred.<br />
The first four characters contain an error number. See Table A-5.<br />
D$ELE1 Error lines. Breaks D$ELNE into two lines of 80 characters each. Some errors<br />
will only have one line of text.<br />
D$MLST (Mailbox List) Parameter<br />
This parameter references a storage area for a list of mailbox names. It is used to hold<br />
mailbox names that are:<br />
$ Used to create a distribution list<br />
$ Inserted into, or deleted from, an existing distribution list<br />
DDN$SENDMAIL references this area to send mail to more than one mailbox.<br />
When you are creating a distribution list, or when you are inserting or removing mailboxes<br />
from an existing list, set the D$NENT field of the D$DIST packet to the number of entries<br />
in the mailbox list (D$MLIT).<br />
The mailbox list can contain a maximum of 20 entries, and each entry is up to 88<br />
characters long. Each entry consists of a host-id with a maximum of 24 characters and a<br />
mailbox name with a maximum of either 64 characters (for non-OS 2200 hosts) or 8<br />
characters (for OS 2200 hosts).<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
4-16 3787 3247-111
Creating, Changing, or Deleting Distribution Lists (DDN$DIST)<br />
Field definitions set by user:<br />
D$MH01...D$MH20 Host-id. Specify a host-id with a maximum of 24 characters.<br />
The default is the local host.<br />
D$ML01...D$ML20 Mailbox name. Specify a mailbox name with a maximum of 64<br />
characters for non-OS 1100 hosts or 8 characters for OS 2200<br />
hosts.<br />
See <strong>App</strong>endix B for a discussion on host and mailbox-naming conventions.<br />
Example<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Set operational mode to Create (2). D$MMOD=2<br />
2. Specify list name. D$LIST=’MYLIST’<br />
3. Specify number of entries. D$NENT=3<br />
4. Enter the mailbox names. D$ML01=’DDNMAIL01’<br />
D$ML02=’DDNMAIL02’<br />
D$ML03=’DDNMAIL03’<br />
5. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$DIST<br />
3787 3247-111 4-17
Creating, Changing, or Deleting Distribution Lists (DDN$DIST)<br />
Additional Discussion<br />
The size of each line in the mail buffer after a DDN$DIST INCLUDE statement with<br />
D$MMOD specified as Display is 80 characters. The format of each line is as follows:<br />
Position Contents<br />
1-4 Blank<br />
5-28 Host<br />
29-32 Blank<br />
33-52 Mailbox<br />
53-56 Blank<br />
57-76 User<br />
77-80 Blank<br />
The size of each line in the mail buffer after a DDN$DIST INCLUDE statement with *ALL<br />
specified in D$LIST and D$MMOD specified as Display is 80 characters. The format of each<br />
line is as follows:<br />
Position Contents<br />
1-7 Blank<br />
8-19 Distribution list name<br />
20-25 Blank<br />
26-37 Distribution list name<br />
38-43 Blank<br />
44-55 Distribution list name<br />
56-61 Blank<br />
62-73 Distribution list name<br />
74-80 Blank<br />
4-18 3787 3247-111
Getting Mail from the Mailbox (DDN$GET)<br />
4.7. Getting Mail from the Mailbox (DDN$GET)<br />
Function<br />
Use the DDN$GET INCLUDE statement to retrieve and read incoming or outgoing mail for<br />
the mailbox currently assigned to you. Depending on the parameters you include, you can:<br />
$ Place the mail in the mail buffer (memory)<br />
$ Save the mail in a file<br />
$ Delete the mail from the mailbox<br />
$ Combine any of the above operations<br />
You must know the mail identifier for the mail you want to retrieve. The DDN$CHECK<br />
INCLUDE statement provides incoming identifiers in the first eight positions of each line<br />
returned. You must issue a DDN$CHECK before issuing a DDN$GET to retrieve incoming<br />
mail items. Outgoing mail identifiers are assigned by the user for DDN$PREPARE and<br />
DDN$SENDMAIL (Create and Send operation) INCLUDE statements.<br />
The associated subroutine call references the D$PCST (Status) and D$MAIL (Mail)<br />
information packets. It also references the D$MBUF (Message Buffer) storage area.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 4.2 for a description of the D$PCST fields.<br />
D$MBUF (Mail Buffer) Parameter<br />
This parameter references a storage area into which DDN returns incoming or outgoing<br />
mail. You must declare this statement in your application program:<br />
<br />
The total buffer area must be less than or equal to 3,300 characters (the largest message<br />
<strong>TAS</strong> can transfer). See 4.14 for more information.<br />
3787 3247-111 4-19
Getting Mail from the Mailbox (DDN$GET)<br />
D$MAIL (Mail) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions set by user:<br />
D$MTYP Mail type. Required. Specify incoming or outgoing mail.<br />
Incoming = 0<br />
Outgoing = 1<br />
D$IMID Incoming mail-id. Required if D$MTYP is Incoming (0). Specify 8<br />
characters for the mail-identifier.<br />
It must be zero-filled and right-justified.<br />
D$OMID Outgoing mail-id. Required if D$MTYP is Outgoing (1).<br />
Specify up to 8 characters for the mail-identifier.<br />
D$AUTH Author. Optional. You can specify up to 20 characters for an author’s name.<br />
D$BSIZ Buffer size. Required if D$GTLC is specified as 0 (In Memory). Specify<br />
the maximum number of characters to be used in the mail buffer.<br />
This value must be a multiple of four and not greater than 3300.<br />
D$LSIZ Line size. Required if D$GTLC is specified as 0 (In Memory).Specify the<br />
number of characters per line in the mail buffer.<br />
This value must be large enough to hold the largest line in the mail item but<br />
must not be greater than 132.<br />
D$MFIL Mail file name. Required if D$GOP is specified as 1 (Get and Save) or 3<br />
(Get, Save, and Delete). Specify the fully qualified OS 2200 file name to be<br />
used to save the mail that is retrieved.<br />
continued<br />
4-20 3787 3247-111
continued<br />
Getting Mail from the Mailbox (DDN$GET)<br />
D$GOP Get operation. Required. Specify the operation to be performed by the<br />
DDN$GET INCLUDE statement.<br />
Get = 0<br />
Get and Save = 1<br />
Get and Delete = 2<br />
Delete = 3<br />
Get (retrieves mail from the mailbox), Save (saves mail in a file), and Delete<br />
(deletes mail from the mailbox)<br />
D$GTLC Get text location. Required. Specify if the text is to be put into the mail<br />
buffer.<br />
In Memory = 0<br />
Not In Memory = 1<br />
Field definitions returned by <strong>TAS</strong>:<br />
D$MTCI More to come indicator. Indicates there was incoming data remaining after<br />
the user’s mail buffer was filled to capacity, if D$GTLC is specified as 0 (In<br />
Memory).<br />
If this indicator is set, the program must issue a DDN$CONTINUE or<br />
DDN$DISCONT INCLUDE statement. No other mail function can be issued until<br />
a DDN$DISCONT is issued.<br />
D$LNCT Line count. Returns the number of text lines received in the mail buffer, if<br />
D$GTLC is specified as 0 (In Memory).<br />
Example<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Set to get incoming mail (0). D$MTYP=0<br />
2. Set mail-id. D$IMID=’00000001’<br />
3. Set buffer size. D$BSIZ=1320<br />
4. Set line size. D$LSIZ=132<br />
5. Set file name. D$MFIL=’MY*FILE’<br />
6. Set to Get & Save (1). D$GOP=1<br />
7. Specify get text location as In<br />
Memory (0).<br />
D$GTLC=0<br />
8. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$GET<br />
3787 3247-111 4-21
Creating, Changing, Assigning, or Deleting Mailboxes (DDN$MAILBOX)<br />
4.8. Creating, Changing, Assigning, or Deleting<br />
Mailboxes (DDN$MAILBOX)<br />
Function<br />
Use the DDN$MAILBOX INCLUDE statement before you use any of the other mail<br />
processing commands. It assigns you a specific mailbox. Once you have a mailbox, you can<br />
read any of the incoming mail for that mailbox. Any mail you prepare while using the<br />
mailbox becomes part of the outgoing mail list for that mailbox.<br />
In addition to assigning a mailbox, you also use the INCLUDE statement to create, change,<br />
or delete mailboxes.<br />
The associated subroutine call references the D$PCST (Status), D$MAIL (Mail), and<br />
D$MBOX (Mailbox) information packets.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 4.2 for a description of the D$PCST (Status) fields.<br />
D$MAIL (Mail) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definition set by user:<br />
D$MMOD Mode mail. Required. Operational mode of the called function.<br />
Identify (assign) = 0<br />
Change = 1<br />
Create = 2<br />
Delete = 3<br />
4-22 3787 3247-111
Creating, Changing, Assigning, or Deleting Mailboxes (DDN$MAILBOX)<br />
D$MBOX (Mailbox) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions set by user:<br />
D$MNAM Mailbox name. Required. Specify up to 8 characters for the name of the<br />
mailbox.<br />
D$MKEY Mailbox key. Required. Specify up to 8 characters for the name of the<br />
mailbox key.<br />
D$MUSR User name. Optional. Specify up to 20 characters for the name of the user<br />
associated with this mailbox.<br />
Used only for creating mailboxes.<br />
D$NNAM New mailbox name. Optional. To rename a mailbox, specify up to 8<br />
characters for the mailbox name.<br />
D$NKEY New mailbox key. Optional. To rename a mailbox key, specify up to 8<br />
characters for the mailbox key name.<br />
D$NUSR New user name. Optional. To rename a user, specify up to 20 characters for<br />
the user name.<br />
Field definitions returned by <strong>TAS</strong>:<br />
D$MIND Mail indicator. This field contains the current content-state of the mailbox.<br />
No Mail = 0<br />
Check Incoming = 1<br />
D$MSTA Mailbox status. This field reflects concurrent access of the mailbox (other<br />
users present).<br />
Inactive = 0<br />
Active = 1<br />
3787 3247-111 4-23
Creating, Changing, Assigning, or Deleting Mailboxes (DDN$MAILBOX)<br />
Example<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Set the mode to Create (2). D$MMOD=2<br />
2. Insert the mailbox name. D$MNAM=’READING’<br />
3. Insert mailbox key. D$MKEY=’RR’<br />
4. Specify user name. D$MUSR=’SMITH’<br />
5. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$MAILBOX<br />
4-24 3787 3247-111
Creating an Item of Mail (DDN$PREPARE)<br />
4.9. Creating an Item of Mail (DDN$PREPARE)<br />
Function<br />
Use the DDN$PREPARE INCLUDE statement to create an item of mail. You must specify<br />
the location of the text to be used to create the item as either:<br />
$ In the mail buffer (memory)<br />
$ In a file<br />
The item can then be sent at any time with a DDN$SENDMAIL INCLUDE statement. You<br />
can also create and send mail immediately using the DDN$SENDMAIL INCLUDE<br />
statement.<br />
The associated subroutine call references the D$PCST (Status) and D$MAIL (Mail)<br />
information packets. It also references the D$MBUF (Message Buffer) storage area.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 4.2 for a description of the D$PCST fields.<br />
D$MBUF (Mail Buffer) Parameter<br />
This parameter references a storage area which contains the mail text to be prepared when<br />
D$TLOC is 0 (Text in Memory). You must declare this statement in your application<br />
program:<br />
<br />
The total buffer area must be less than or equal to 3300 characters (the largest message<br />
<strong>TAS</strong> can transfer). See 4.14 for more information.<br />
D$MAIL (Mail) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
3787 3247-111 4-25
Creating an Item of Mail (DDN$PREPARE)<br />
<br />
<br />
<br />
<br />
Field definitions set by user:<br />
D$TLOC Text location. Required. Specify the location of the mail text to be prepared.<br />
Text in Memory = 0<br />
Text in File = 1<br />
D$OMID Outgoing mail-id. Required. Specify up to 8 characters for a user-assigned<br />
id.<br />
D$AUTH Author. Optional. You can specify up to 20 characters for an author’s name.<br />
D$LNCT Line count. Required if D$TLOC is specified as 0 (Text in Memory).<br />
Specify the number of text lines in the mail buffer to be prepared.<br />
D$BSIZ Buffer size. Required if D$TLOC is specified as 0 (Text in Memory).<br />
Specify the maximum number of characters to be used in the mail buffer.<br />
This value must be a multiple of four and not greater than 3300.<br />
D$LSIZ Line size. Required if D$TLOC is specified as 0 (Text in Memory).<br />
Specify the number of characters per line in the mail buffer.<br />
This value must not be greater than 132.<br />
D$LBID Last buffer indicator. Required if D$TLOC is specified as 0 (Text in<br />
Memory). Indicates if this is the last buffer of text to be supplied for this call.<br />
0 = Last Buffer<br />
1=NotLastBuffer<br />
If 1 (Not Last Buffer) is specified, the program must issue a DDN$CONTINUE<br />
INCLUDE statement that specifies 0 (Last Buffer) or issue a DDN$DISCONT<br />
INCLUDE statement before issuing any other mail INCLUDE statements.<br />
D$MFIL Mail file name. Required if D$TLOC is specified as 1 (Text in File).<br />
Specify the fully qualified OS 2200 file name to be used as the source for the<br />
text that is to be prepared.<br />
D$SUBJ Subject. Optional. You can specify up to 25 characters to describe the mail.<br />
4-26 3787 3247-111
Example<br />
Creating an Item of Mail (DDN$PREPARE)<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Specify location of mail as Text in<br />
Memory (0).<br />
D$TLOC=0<br />
2. Set mail-id. D$OMID=’MEMO’<br />
3. Set author’s name. D$AUTH=’ASIMOV’<br />
4. Set line count. D$LNCT=20<br />
5. Set buffer size. D$BSIZ=2640<br />
6. Set line size. D$LSIZ=132<br />
7. Set last buffer indicator. D$LBID=0<br />
8. Set subject. D$SUBJ=’SCIENCE FICTION’<br />
9. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$PREPARE<br />
3787 3247-111 4-27
Deleting Mail from a Mailbox (DDN$REMOVE)<br />
4.10. Deleting Mail from a Mailbox (DDN$REMOVE)<br />
Function<br />
Use the DDN$REMOVE INCLUDE statement to delete incoming or outgoing mail from<br />
your mailbox. To delete the mail, you must specify the mail identifier. You can also delete<br />
mail by specifying 2 (Get and Delete) or 3 (Get, Save, and Delete) for D$GOP.<br />
The associated subroutine call references the D$PCST (Status) and D$MAIL (Mail)<br />
information packets.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 4.2 for a description of the D$PCST fields.<br />
D$MAIL (Mail) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions set by user:<br />
D$MTYP Mail type. Required. Indicates the type of mail.<br />
Incoming = 0<br />
Outgoing = 1<br />
D$IMID Incoming mail-id. Required if D$MTYP is Incoming (0). Specify 8<br />
characters for the id of the incoming mail item to be deleted.<br />
The field must be zero-filled and right-justified.<br />
continued<br />
4-28 3787 3247-111
continued<br />
Deleting Mail from a Mailbox (DDN$REMOVE)<br />
D$RAIN Remove all incoming. Optional. This indicates that all incoming mail items<br />
for the currently assigned mailbox are to be deleted.<br />
Only *ALL can be specified in this field.<br />
D$OMID Outgoing mail-id. Required if D$MTYP is Outgoing (1). Specify up to 8<br />
characters for the id of the outgoing mail item to be deleted.<br />
D$RAOT Remove all outgoing. Optional. This indicates that all outgoing mail for the<br />
currently assigned mailbox is to be deleted.<br />
Example<br />
Only *ALL can be specified in this field.<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Set to remove outgoing mail (1). D$MTYP=1<br />
2. Set mail-id. D$OMID=’MYNAME’<br />
3. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$REMOVE<br />
3787 3247-111 4-29
Sending Mail to Mailboxes (DDN$SENDMAIL)<br />
4.11. Sending Mail to Mailboxes (DDN$SENDMAIL)<br />
Function<br />
DDN$SENDMAIL sends mail to target mailboxes and distribution lists.<br />
You can either:<br />
$ Send mail previously prepared by the DDN$PREPARE statement (Send)<br />
$ Prepare and send mail immediately (Create and Send)<br />
The mail is already created<br />
(Send)<br />
Themailmustbecreated<br />
(Create and Send)<br />
If... Then ...<br />
In the D$SEND packet, specify D$SOP as Send<br />
In the D$MAIL packet, supply:<br />
* mail-id<br />
* location (Text in Mailbox)<br />
In the D$SEND packet, specify D$SOP as Create and Send<br />
In the D$MAIL packet, supply:<br />
* mail-id<br />
* location (Text in Mailbox)<br />
* all fields required for DDN$PREPARE<br />
The associated subroutine call references the D$PCST (Status), D$MAIL (Mail), D$SEND<br />
(Send), and D$ELST (List Error) information packets. It also references the D$MBUF (Mail<br />
Buffer), D$MLST (Mailbox List), and D$DLST (Distribution List) storage areas.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 4.2 for a description of the D$PCST fields.<br />
D$MBUF (Mail Buffer) Parameter<br />
This parameter references a storage area for mail text to be sent when D$SOP is specified<br />
as 1 (Create and Send). You must declare this statement in your application program:<br />
<br />
The total buffer area must be less than or equal to 3300 characters (the largest message<br />
<strong>TAS</strong> can transfer). See 4.14 for more information.<br />
4-30 3787 3247-111
D$MAIL (Mail) Packet<br />
Sending Mail to Mailboxes (DDN$SENDMAIL)<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions set by user when D$SOP is specified as Send:<br />
D$TLOC Text location. Required. Specify the location of the mail text to be sent as<br />
Text in Mailbox = 2.<br />
D$OMID Outgoing mail-id. Required. Specify up to 8 characters for an outgoing<br />
mail-id. Alternatively, you can specify an incoming mail-id for this field; it must<br />
be left-justified and space-filled.<br />
Field definitions set by user when D$SOP is specified as Create and Send:<br />
D$TLOC Text location. Required. Specify the location of the mail text to be sent.<br />
Text in Memory = 0<br />
Text in File = 1<br />
D$AUTH Author. Optional. You can specify up to 20 characters for a name.<br />
D$LNCT Line count. Required if D$TLOC is specified as 0 (Text in Memory).<br />
Specify the number of text lines in the mail buffer to be created and sent.<br />
D$BSIZ Buffer size. Required if D$TLOC is specified as 0 (Text in Memory).<br />
Specify the maximum number of characters in the mail buffer.<br />
This value must be a multiple of four and not greater than 3300.<br />
D$LSIZ Line size. Required if D$TLOC is specified as 0 (Text in Memory).<br />
Specify the number of characters per line in the mail buffer.<br />
This value must not be greater than 132.<br />
3787 3247-111 4-31<br />
continued
Sending Mail to Mailboxes (DDN$SENDMAIL)<br />
continued<br />
D$LBID Last buffer indicator. Required if D$TLOC is specified as 0 (Text in<br />
Memory). Indicates if this is the last buffer of text to be supplied for this call.<br />
0 = Last Buffer<br />
1=NotLastBuffer<br />
If 1 (Not Last Buffer) is specified, the program must issue a DDN$CONTINUE<br />
INCLUDE statement that specifies 0 (Last Buffer) or issue a DDN$DISCONT<br />
INCLUDE statement before issuing any other mail INCLUDE statements.<br />
D$MFIL Mail file name. Required if D$TLOC is specified as 1 (Text in File).<br />
Specify the fully qualified OS 2200 file name to be used as the source for the<br />
text that is to be created and sent.<br />
D$SUBJ Subject. Optional. Youcanspecifyupto25characterstodescribethe<br />
subject matter of the mail.<br />
D$SEND (Send) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions set by user for Send or Create and Send:<br />
D$REPI Reply indicator. Required. Specify whether you want a response for this<br />
piece of mail.<br />
Not Required = 0<br />
Required = 1<br />
D$SMOD Send mode. Required. Directs the handling of mail.<br />
Mail = 0<br />
Send = 1<br />
SAML = 2<br />
SOML = 3<br />
D$MBCT Mailbox count. Required. Specify the number of mailbox names in D$MLST.<br />
The maximum is 20 names of 88 characters each. (See <strong>App</strong>endix B.) If there<br />
are no names in D$MLST, specify 0, and D$DLCT must not be 0.<br />
D$DLCT Distribution count. Required. Specify the number of distribution list names in<br />
D$DLST.<br />
The maximum is 20, 88-character names. (See <strong>App</strong>endix B.) If there are no<br />
names in D$DLST, specify 0, and D$MBCT must not be 0.<br />
continued<br />
4-32 3787 3247-111
continued<br />
Sending Mail to Mailboxes (DDN$SENDMAIL)<br />
D$SOP Send operation. Required. Specify the type of operation to be performed.<br />
Send = 0<br />
Create and Send = 1<br />
D$ELST (List Error) Packet<br />
The D$ELST packet contains errors:<br />
$ Encountered while attempting to access members of D$MLST or D$DLST.<br />
$ Which do not cause command termination, but give notification of any members that<br />
could not be accessed<br />
Examine the D$ELST field when:<br />
$ A class code of 193 and detail status of 7010 are returned in D$PCST<br />
$ A non-list error is posted in D$PCST instead of 193/7010 to check for any list errors<br />
(D$ECNT is not 0) before the non-list error occurred<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
See <strong>App</strong>endix A for a list of error codes.<br />
Field definitions returned by <strong>TAS</strong>:<br />
D$ECNT Error count. Indicates the number of errors encountered while accessing the<br />
mailboxes in D$MLST or D$DLST.<br />
Only the first 11 errors encountered for this command are posted. This value<br />
also indicates the number of occurrences of D$ELE1.<br />
D$ELNE Error line. Contains message text describing the error that occurred.<br />
The first four characters contain an error number. See Table A-5.<br />
D$ELE1 Error lines. Breaks D$ELNE into two lines of 80 characters each.<br />
Some errors will only have one line of text.<br />
3787 3247-111 4-33
Sending Mail to Mailboxes (DDN$SENDMAIL)<br />
D$MLST (Mailbox List) Parameter<br />
This parameter references a storage area for a list of mailbox names to which mail is sent.<br />
The DDN$DIST INCLUDE statement and associated subroutine call references this area to<br />
hold mailbox names that are:<br />
$ Used to create a distribution list<br />
$ Inserted into, or deleted from, an existing distribution list<br />
To use a mailbox list, set the D$MBCT field of the D$SEND packet to the number of entries<br />
in the mailbox list (D$MLIT). The mailbox list can contain a maximum of 20 entries, and<br />
each entry is up to 88 characters long. Each entry consists of a host-id with a maximum of<br />
24 characters and a mailbox name with a maximum of either 64 characters (for<br />
non-OS 2200 hosts) or 8 characters (for OS 2200 hosts).<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions set by user:<br />
D$MH01...D$MH20 Host-id. Specify a host-id with a maximum of 24 characters.<br />
If you do not set this field, the default is the local host.<br />
D$ML01...D$ML20 Mailbox name. Specify a mailbox name with a maximum of 64<br />
characters for non-OS 2200 hosts or 8 for OS 2200 hosts.<br />
See <strong>App</strong>endix B for a discussion on host and mailbox-naming conventions.<br />
D$DLST (Distribution List) Parameter<br />
This parameter references a storage area for a list of distribution list names to which mail<br />
is sent. The DDN$DIST INCLUDE statement and associated subroutine call is used to<br />
create a distribution list which consists of a list of mailbox names.<br />
4-34 3787 3247-111
Sending Mail to Mailboxes (DDN$SENDMAIL)<br />
If you choose to use distribution lists, set the D$DLCT field of the D$SEND packet to the<br />
number of entries in the distribution list (D$DLPT). The distribution list can contain a<br />
maximum of 20 entries, and each entry is up to 88 characters long. Each entry consists of a<br />
host-id with a maximum of 24 characters and a distribution list name with a maximum of<br />
64 characters.<br />
Note that you do not use the double colon (::) in distribution list names. Because<br />
distribution list names are case-sensitive, you must specify them exactly as they were<br />
created in the DDN$DIST command.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions set by user:<br />
D$DH01...D$DH20 Host-id. Specify a host-id with a maximum of 24 characters.<br />
If you do not set this field, the default is the local host.<br />
D$DL01...D$DL20 Distribution list name. Specify a distribution list name with a<br />
maximum of 64 characters.<br />
See <strong>App</strong>endix B for a discussion on host-naming conventions.<br />
Example (Send Operation)<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Specify location of mail as Text in<br />
Mailbox (2).<br />
D$TLOC=2<br />
2. Set mail-id. D$OMID=’MEMO’<br />
3. Set for reply requested. D$REPI=1<br />
4. Set mode to mail. D$SMOD=1<br />
5. Set number of mailbox names. D$MBCT=3<br />
3787 3247-111 4-35
Sending Mail to Mailboxes (DDN$SENDMAIL)<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
6. Set number of distribution list<br />
names.<br />
D$DLCT=0<br />
7. Set operation to Send (0). D$SOP=0<br />
8. Enter mailbox names. D$ML01=’MBX1’<br />
D$ML02=’MBX2’<br />
D$ML03=’MBX3’<br />
9. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$SENDMAIL<br />
Example (Create and Send Operation)<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Specify mail text. D$MBUF(1)=’LINE 1’<br />
D$MBUF(2)=’LINE 2’<br />
D$MBUF(3)=’LINE 3’<br />
D$MBUF(4)=’LINE 4’<br />
D$MBUF(5)=’LINE 5’<br />
2. Specify location of mail as Text in<br />
Memory (0).<br />
D$TLOC=0<br />
3. Set author’s name. D$AUTH=’ASIMOV’<br />
4. Set line count. D$LNCT=5<br />
5. Set buffer size. D$BSIZ=3300<br />
6. Set line size. D$LSIZ=132<br />
7. Set last buffer indicator. D$LBID=0<br />
8. Set subject. D$SUBJ=’SCIENCE FICTION’<br />
9. Set for reply requested. D$REPI=1<br />
10. Set mode to mail. D$SMOD=0<br />
11. Set number of mailbox names. D$MBCT=0<br />
12. Set number of distribution list<br />
names.<br />
D$DLCT=2<br />
13. Set operation to create and send. D$SOP=1<br />
14. Enter distribution list names D$DL01=’LIST1’<br />
D$DL02=’LIST2’<br />
15. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$SENDMAIL<br />
4-36 3787 3247-111
Obtaining a Mailbox Name (DDN$VERIFY)<br />
4.12. Obtaining a Mailbox Name (DDN$VERIFY)<br />
Function<br />
Use the DDN$VERIFY INCLUDE statement to determine the mailbox name for a particular<br />
user.<br />
The associated subroutine call references the D$PCST (Status) and D$VERIFY (Verify)<br />
information packets.<br />
Format<br />
<br />
or<br />
<br />
D$PCST (Status) Packet<br />
See 4.2 for a description of the D$PCST fields.<br />
D$VRFY (Verify) Packet<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Field definitions set by user:<br />
D$VUSR Verify user name. Required. Specify the user name to be verified.<br />
If the user name is on this host or any other OS 2200 host, you cannot specify<br />
more than 20 characters. (See <strong>App</strong>endix B.)<br />
D$VHOS Verify host-id. Required if the user name is on a remote host. Specify the<br />
host-id or the logical host name. (See <strong>App</strong>endix B.)<br />
3787 3247-111 4-37
Obtaining a Mailbox Name (DDN$VERIFY)<br />
Field definitions returned by <strong>TAS</strong>:<br />
D$VAMN Associated mailbox name. The mailbox name associated with the name<br />
specified in D$VUSR.<br />
D$VAUN Associated user name. Theusernameassociatedwiththemailboxname<br />
returned in D$VAMN.<br />
D$VID Verify indicator. The status returned after a DDN$VERIFY function call.<br />
Example<br />
1 = User match (D$VUSR matches a user name on the host)<br />
2 = Mailbox match (D$VUSR matches a mailbox name on the host)<br />
Procedure Typical <strong>FORTRAN</strong> Statements<br />
1. Set user name. D$VUSR=’MYNAME’<br />
2. Set host-id. D$VHOS=’HOST-SYS1’<br />
3. Issue the INCLUDE statement. INCLUDE LIBFILE.DDN$VERIFY<br />
4-38 3787 3247-111
Designing a Mail Transfer <strong>App</strong>lication<br />
4.13. Designing a Mail Transfer <strong>App</strong>lication<br />
In designing a <strong>TAS</strong> mail transfer application, you should always lay out a block diagram of<br />
what you want to do. (See Figure 4-1.)<br />
Create a<br />
Mailbox<br />
Prepare the<br />
Mail<br />
Disconnect<br />
Figure 4-1. Typical <strong>TAS</strong> <strong>FORTRAN</strong> Mail Transfer Block Diagram<br />
Once you design the basic block diagram, you can create a flow diagram by filling in the<br />
blocks with <strong>FORTRAN</strong> procedure statements (as shown in Figure 4-2 through Figure 4-6)<br />
according to the requirements for each INCLUDE statement.<br />
In most cases, you fill in the blocks by taking the example given under each INCLUDE<br />
statement in 4.1 through 4.12and placing it in the appropriate block. Some changes to the<br />
example might have to be made for your particular application.<br />
Figure 4-2 shows how to create a mailbox and prepare the mail from text found in the mail<br />
buffer (memory). To keep the flow diagram as simple as possible, error/status checking<br />
routines are not shown. See the mail transfer application program in <strong>App</strong>endix D for a<br />
complete working example.<br />
3787 3247-111 4-39
Designing a Mail Transfer <strong>App</strong>lication<br />
CREATE MAILBOX<br />
D$MMOD=2<br />
D$MNAM='SYSPUBS'<br />
D$MKEY='SP'<br />
D$MUSR='SMITH'<br />
INCLUDE LIBFILE.DDN$MAILBOX<br />
IF (D$PCCL .NE. 1) THEN<br />
CALL DISTAT<br />
END IF<br />
PREPARE MAIL<br />
D$TLOC=0<br />
D$OMID='MEMO'<br />
D$AUTH='ASIMOV'<br />
D$LNCT=20<br />
D$BSIZ=2640<br />
D$LSIZ=132<br />
D$LBID=0<br />
D$SUBJ='STAR WARS'<br />
INCLUDE LIBFILE.DDN$PREPARE<br />
IF (D$PCCL .NE. 1)THEN<br />
CALL DISTAT<br />
END IF<br />
INCLUDE LIBFILE.DDN$DISCONN<br />
IF (D$PCCL .NE. 1) THEN<br />
CALL DISTAT<br />
END IF<br />
Figure 4-2. Mail Transfer Flow Diagram (Create Mailbox and Prepare Mail from<br />
Buffer)<br />
Figure 4-3 shows how to assign a mailbox and prepare the mail from a file. To keep the<br />
flow diagram as simple as possible, error/status checking routines are not shown. See the<br />
mail transfer application program in <strong>App</strong>endix D for a complete working example.<br />
4-40 3787 3247-111
ASSIGN MAILBOX<br />
D$MMOD=2<br />
D$MNAM='SYSPUBS'<br />
D$MKEY='SP'<br />
INCLUDE LIBFILE.DDN$MAILBOX<br />
IF (D$PCCL .NE. 1) THEN<br />
CALL DISTAT<br />
END IF<br />
PREPARE MAIL<br />
D$TLOC=1<br />
D$OMID='MEMO'<br />
D$AUTH='ASIMOV'<br />
D$MFIL='MAIL*MEMO'<br />
D$SUBJ='STAR WARS'<br />
INCLUDE LIBFILE.DDN$PREPARE<br />
IF (D$PCCL .NE. 1) THEN<br />
CALL DISTAT<br />
END IF<br />
INCLUDE LIBFILE.DDN$DISCONN<br />
IF (D$PCCL .NE. 1) THEN<br />
CALL DISTAT<br />
END IF<br />
Designing a Mail Transfer <strong>App</strong>lication<br />
Figure 4-3. Mail Transfer Flow Diagram (Assign Mailbox and Prepare Mail from File)<br />
Figure 4-4 shows how to assign a mailbox and send the prepared mail from the mailbox to<br />
a distribution list. To keep the flow diagram as simple as possible, error/status checking<br />
routines are not shown. See the mail transfer application program in <strong>App</strong>endix E for a<br />
complete working example.<br />
3787 3247-111 4-41
Designing a Mail Transfer <strong>App</strong>lication<br />
ASSIGN MAILBOX<br />
D$MMOD=0<br />
D$MNAM='SYSPUBS'<br />
D$MKEY='SP'<br />
INCLUDE LIBFILE.DDN$MAILBOX<br />
IF (D$PCCL .NE. 1) THEN<br />
CALL DISTAT<br />
END IF<br />
FILL MAILBOX LIST STORAGE AREA<br />
D$MLIS(1)='PAT'<br />
D$MLIS(2)='JOE'<br />
D$MLIS(3)='MARY'<br />
CREATE DISTRIBUTION LIST<br />
D$MMOD=2<br />
D$LIST='MYLIST'<br />
D$NENT=3<br />
INCLUDE LIBFILE.DDN$DIST<br />
IF (D$PCCL .NE. 1) THEN<br />
CALL DISTAT<br />
END IF<br />
SEND PREPARED MAIL<br />
D$TLOC=2<br />
D$OMID='MEMO'<br />
D$REPI-1<br />
LIST(1)='MYLIST'<br />
D$SMOD=0<br />
D$MBCT=0<br />
D$DLCT=1<br />
D$SOF=0<br />
INCLUDE LIBFILE.DDN$SENDMAIL<br />
IF D$PCCL .NE. 1) THEN<br />
CALL DISTAT<br />
END IF<br />
INCLUDE LIBFILE.DDN$DISCONN<br />
IF (D$PCCL .NE. 1) THEN<br />
CALL DISTAT<br />
END IF<br />
Figure 4-4. Mail Transfer Flow Diagram (Assign Mailbox and Send Prepared Mail)<br />
Figure 4-5 shows how to create mail from the mail buffer (memory) and send it<br />
immediately. To keep the flow diagram as simple as possible, error/status checking<br />
routines are not shown. See the mail transfer application program in <strong>App</strong>endix D for a<br />
complete working example.<br />
4-42 3787 3247-111
ASSIGN MAILBOX<br />
D$MMOD=0<br />
D$MNAM='SYSPUBS'<br />
D$MKEY='SP'<br />
INCLUDE LIBFILE.DDN$MAILBOX<br />
IF (D$PCCL .NE. 1) THEN<br />
CALL DISTAT<br />
END IF<br />
SET DESTINATION MAILBOX LIST<br />
D$MLIT='TED'<br />
INSERT MESSAGE IN BUFFER<br />
WRITE<br />
10 FORMAT ('ENTER MAIL TEXT')<br />
READ (5,20) D$MBUF<br />
20 FORMAT (240A1)<br />
CREATE AND SEND.<br />
D$TLDC=0<br />
D$LNCT=5<br />
D$BSIZ=3300<br />
D$LSIZ=132<br />
D$DBID=0<br />
D$REPI=1<br />
D$SMOD=0<br />
D$MBCT=1<br />
D$DLCT=0<br />
D$SOP=1<br />
INCLUDE LIBFILE.DDN$SENDMAIL<br />
IF (D$PCCL .NE. 1) THEN<br />
CALL DISTAT<br />
END IF<br />
INCLUDE LIBFILE.DDN$DISCONN<br />
IF (D$PCCL .NE. 1) THEN<br />
CALL DISTAT<br />
END IF<br />
Designing a Mail Transfer <strong>App</strong>lication<br />
Figure 4-5. Mail Transfer Flow Diagram (Create Mail from Buffer and Send<br />
Immediately)<br />
Figure 4-6 shows how to check incoming mail and get the first mail item. To keep the flow<br />
diagram as simple as possible, error/status checking routines are not shown. See the mail<br />
transfer application program in <strong>App</strong>endix D for a complete working example.<br />
3787 3247-111 4-43
Designing a Mail Transfer <strong>App</strong>lication<br />
ASSIGN MAILBOX<br />
D$MMOD=0<br />
D$MNAM='SYSPUBS'<br />
D$MKEY='SP'<br />
INCLUDE LIBFILE.DDN$MAILBOX<br />
IF (D$PCCL .NE. 1) THEN<br />
CALL DISTAT<br />
END IF<br />
CHECK INCOMING MAIL<br />
D$MTYP=0<br />
D$BSIZ=2000<br />
INCLUDE LIBFILE.DDN$CHECK<br />
IF (D$PCCL .NE. 1) THEN<br />
CALL DISTAT<br />
END IF<br />
GET INCOMING MAIL<br />
D$MTYP=0<br />
D$IMID=1<br />
D$BSIZ=2000<br />
D$LSIZ=132<br />
D$GOP=0<br />
D$GTLC=0<br />
INCLUDE LIBFIILE.DDN$GET<br />
IF (D$PCL .NE. 1) THEN<br />
CALL DISTAT<br />
END IF<br />
INCLUDE LIBFILE.DDN$DISCONN<br />
IF (D$PCCL .NE. 1) THEN<br />
CALL DISTAT<br />
END IF<br />
Figure 4-6. Mail Transfer Flow Diagram (Check Incoming Mail and Get First Mail Item)<br />
4-44 3787 3247-111
4.14. Using the Mail Buffer Area<br />
Different functions use the mail buffer area of your program to:<br />
$ Pass mail text to <strong>TAS</strong><br />
$ Receive mail text and other mail processor information from <strong>TAS</strong><br />
Using the Mail Buffer Area<br />
The INCLUDE statements that use the mail buffer reference the name D$MBUF for the<br />
INCLUDE statements. You must define this area in storage. Alternatively, you can use<br />
other names for this area, but you must then use an EQUIVALENCE statement with the<br />
INCLUDE statements.<br />
Specify the size (in characters) of the mail buffer in field D$BSIZ of D$MAIL. It must be:<br />
$ A multiple of 4<br />
$ 3300 characters, or less<br />
You can use the buffer to hold one line or a multiple number of lines. Fields D$LSIZ and<br />
D$LNCT of D$MAIL are used to make this distinction.<br />
If you use this buffer for ... Then the buffer must be...<br />
DDN$CHECK or DDN$DIST At least 80 characters long<br />
DDN$GET Large enough to hold the largest text line in the mail item<br />
You can define one buffer to be used by all mail functions. For example:<br />
<br />
For DDN$CHECK and DDN$DIST, the mail information returned is 80 characters per line,<br />
so you may want to define the buffer as an array of 80 characters. For example:<br />
<br />
<br />
<br />
Produces the subroutine call:<br />
<br />
<br />
<br />
Produces the subroutine call:<br />
<br />
3787 3247-111 4-45
Using the Mail Buffer Area<br />
When creating a mail item, you can define the buffer as text lines, instead of moving the<br />
text lines into the buffer before issuing the subroutine call. For example:<br />
<br />
<br />
<br />
<br />
<br />
<br />
Produces the subroutine call:<br />
<br />
4-46 3787 3247-111
Section 5<br />
Compiling, Linking, and Executing <strong>TAS</strong><br />
<strong>FORTRAN</strong> Programs<br />
5.1. Preparing Programs for Execution<br />
After you write your <strong>FORTRAN</strong> application programs, you compile, link, and execute the<br />
<strong>FORTRAN</strong> programs in the same way as any other UCS <strong>FORTRAN</strong> program. There are<br />
only two special requirements:<br />
1. If you use the supplied <strong>TAS</strong> <strong>FORTRAN</strong> INCLUDE statements in your program, you<br />
must issue the following statements before compiling your program:<br />
<br />
<br />
2. You must include <strong>TAS</strong> <strong>FORTRAN</strong> object module elements when you collect each<br />
program into an output object module element. The object module elements are<br />
NPEFORMAPPC and UCSINTFPPPC.<br />
3787 3247-111 5-1
Run Streams for <strong>TAS</strong> <strong>FORTRAN</strong> Programs<br />
5.2. Run Streams for <strong>TAS</strong> <strong>FORTRAN</strong> Programs<br />
To compile, link, and execute a <strong>TAS</strong> <strong>FORTRAN</strong> program, do the following:<br />
1. Obtain a clean compilation of the <strong>FORTRAN</strong> application program using the<br />
<strong>TAS</strong>-supplied <strong>FORTRAN</strong> INCLUDE statements.<br />
2. Link (@LINK) the object module application element obtained from the compilation,<br />
along with the object module <strong>TAS</strong> <strong>FORTRAN</strong> interface elements, into one output<br />
object module element in a program file.<br />
3. Then, execute the program (@XQT) using the output object module element name of<br />
the file and element you supplied on the @LINK statement.<br />
The <strong>TAS</strong> <strong>FORTRAN</strong> interface elements are supplied on your release tape. They are<br />
installed into files SYS$LIB$*<strong>TAS</strong>-1 and SYS$LIB$*<strong>TAS</strong>-3. To copy them into your own<br />
files, you must change the FTN$PF and PPPCLIB @USE statements accordingly. For<br />
details, see the <strong>TAS</strong> Implementation and Administration <strong>Guide</strong>.<br />
In the sample streams, uppercase letters must be entered exactly as shown. Lowercase<br />
letters are names that you can select. See <strong>App</strong>endix Bfor file-naming conventions.<br />
Figure 5-1 shows a sample run stream to:<br />
$ Compile a UCS <strong>FORTRAN</strong> application program using <strong>TAS</strong>-supplied <strong>FORTRAN</strong> copy<br />
elements<br />
$ Collect the application program and <strong>TAS</strong> <strong>FORTRAN</strong> interface object module element<br />
into an output object module element<br />
$ Execute the output object module<br />
5-2 3787 3247-111
Run Streams for <strong>TAS</strong> <strong>FORTRAN</strong> Programs<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Figure 5-1. Compile, Link, and Execute Stream for a <strong>TAS</strong> <strong>FORTRAN</strong> Program<br />
Note that Steps 3 and 4 in Figure 5-1 use the UCS static linking capability.<br />
Alternatively, you can use dynamic linking, which is faster, by replacing these steps with<br />
the following:<br />
$ Copy the NPEFORMAPPC and UCSINTFPPPC object modules from SYS$LIB$*<strong>TAS</strong>-1<br />
to the same file that contains the UCS <strong>FORTRAN</strong> compiler output object module.<br />
$ Execute the UCS <strong>FORTRAN</strong> compiler output object module, as follows:<br />
<br />
Figure 5-2 shows a sample run stream to:<br />
$ Compile a UCS <strong>FORTRAN</strong> transaction processing (T<strong>IP</strong>) application program using<br />
<strong>TAS</strong>-supplied <strong>FORTRAN</strong> copy elements<br />
$ Link the application program and <strong>TAS</strong> <strong>FORTRAN</strong> interface object module element into<br />
an output object module element<br />
$ Execute the output object module<br />
3787 3247-111 5-3
Run Streams for <strong>TAS</strong> <strong>FORTRAN</strong> Programs<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Figure 5-2. A Compile, Link, and Execute Stream<br />
Note that Steps 3 and 4 in Figure 5-2 use the UCS static linking capability. Alternatively,<br />
you can use dynamic linking by replacing these steps with the following:<br />
$ Copy the NPEFORMAPPC and UCSINTFT<strong>IP</strong> object modules from SYS$LIB$*<strong>TAS</strong>-1 to<br />
the same file that contains the UCS <strong>FORTRAN</strong> compiler output object module.<br />
$ Execute the UCS <strong>FORTRAN</strong> compiler output object module, as follows:<br />
<br />
5-4 3787 3247-111
<strong>App</strong>endix A<br />
<strong>TAS</strong> Status Codes<br />
<strong>TAS</strong> always returns a class code and a detailed status code to the D$PCCL and D$PCDT<br />
fields of program-callable status packet D$PCST in the program after processing each<br />
subroutine call issued by your application program. <strong>TAS</strong> also provides up to three<br />
additional inserts in the D$PCML field of the status packet to identify the specific error.<br />
Your application program should test the contents of these fields and perform routines to<br />
handle the conditions indicated by them.<br />
Class codes 192 through 194 signify <strong>TAS</strong>-specific errors (errors that are issued only by<br />
<strong>TAS</strong>).Error types signified by the decimal class codes and the tables in this section that<br />
contain the detail status codes and error message text are:<br />
Class Code<br />
Decimal Value<br />
Type of Error Table<br />
192 Program-callable Table A-1<br />
193 Program-callable mail transfer Table A-2<br />
194 Program-callable file transfer Table A-3<br />
In the tables, the insert fields referred to in the explanations are the specific inserts that<br />
the system returns in the D$PCML field of the status packet.<br />
Table A-4 and Table A-5 list D$PCEF error indicators and D$ELST error codes.<br />
Table A-1 contains message text. The decimal class code (D$PPCL or D$PCCL) for all of<br />
these messages is 192. The number preceding each message in the table is the decimal<br />
detail status code returned in the D$PPDT field of D$PPST or D$PCDT of D$PCST for that<br />
message.<br />
3787 3247-111 A-1
<strong>TAS</strong> Status Codes<br />
Table A-1. Class Code 192 Detail Status Values<br />
D$PPDT D$PCDT Explanation<br />
00001 Parameter or parameters missing for <strong>TAS</strong> subroutine call.<br />
00002 Required entry in [insert 1] is missing.<br />
00003 Entry in [insert 1] is invalid.<br />
00004 <strong>TAS</strong> program-callable internal error number [insert 1].<br />
00005 Program-callable file transfer functions are not permitted when <strong>TAS</strong> is installed as local<br />
mail only.<br />
00006 Entry in field [inset 1] is invalid. The MAILID must be numeric when the TYPE field is<br />
specified as incoming.<br />
Table A-2 contains message text for program-callable mail transfer errors. The decimal<br />
class code (D$PCCL) for all of these messages is 193. The decimal number preceding each<br />
message in the table is the decimal detail status code returned in the D$PCDT field of<br />
D$PCST for that message.<br />
Table A-2. Class Code 193 Detail Status Values<br />
D$PCDT Explanation<br />
00050 The new mailbox name already exists.<br />
Enter the DDN$MAILBOX command with D$MMOD=CHANGE specifying another mailbox<br />
name.<br />
00100 Mailbox does not exist.<br />
Mailbox was never created. Enter a DDN$MAILBOX command with D$MMOD=CREATE.<br />
00110 Mailbox already exists.<br />
Mailbox is already created. Another create cannot be entered.<br />
Enter the DDN$MAILBOX command with D$MMOD=CREATE specifying another mailbox<br />
name.<br />
00120 Mailbox key is incorrect.<br />
Key does not match the key that was specified when the mailbox was created.<br />
00130 Cannot change or delete the mailbox. Mailbox is active for another user.<br />
Changing or deleting a mailbox is only permitted when only one user is accessing it.<br />
00140 D$MUSR= , D$MNAM= , or D$MKEY= is invalid with D$MMOD= [insert 1].<br />
D$MUSR= is valid only for D$MMOD=CREATE or D$MMOD=CHANGE.<br />
D$MNAM= or D$MKEY= is valid only for D$MMOD=CHANGE.<br />
continued<br />
A-2 3787 3247-111
Table A-2. Class Code 193 Detail Status Values (cont.)<br />
D$PCDT Explanation<br />
00150 D$MNAM= or D$MKEY= is invalid with D$MMOD=CREATE.<br />
D$MNAM= or D$MKEY= is valid only for D$MMOD=CHANGE.<br />
<strong>TAS</strong> Status Codes<br />
00160 D$MNAM= , D$MKEY= , or D$MUSR= must be specified with D$MMOD=CHANGE.<br />
D$MNAM, D$MKEY, D$MUSR fields change the mailbox name, key, and user name.<br />
00170 Mailbox name or key cannot be greater than 8 characters.<br />
Mailbox name and key are separated by a slash (/).<br />
00180 Mailbox key was not specified.<br />
Mailbox key is a string containing 1 to 8 characters.<br />
00182 Mailbox key is separated from the mailbox name by a slash(/).<br />
00190 Mailbox has no mail.<br />
A DDN$CHECK or DDN$REMOVE command was entered for a mailbox that has no mail.<br />
00200 Mail-identifier does not exist.<br />
The identifier specified for the D$IMID or D$OMID field does not exist.<br />
00210 No text was input to create the mail.<br />
Mail item is not created.<br />
00220 Mail-identifier already exists.<br />
This mailbox already created a mail item with this mail-identifier.<br />
00230 If the D$IMID or D$OMID field is specified, then the D$MFIL, D$AUTH, or D$SUBJ field<br />
must not be specified.<br />
The D$IMID or D$OMID field indicates that this mail item was already created.<br />
00240 The D$MLxx= or D$DLxx= fields must be specified on a SEND command.<br />
The DDN$SENDMAIL command must send this mail item to one or more mailboxes<br />
and/or one or more lists.<br />
00250 *ALL is legal only with D$MMOD=DISPLAY.<br />
*ALL is used only to display the names of all the lists the mailbox owns.<br />
00260 The distribution list does not exist.<br />
Enter the DDN$DIST command with D$LIST=list name and D$MMOD=CREATE to create<br />
a list.<br />
00270 Your mailbox does not own the distribution list.<br />
Only the owner of a list may insert or remove members or delete the list.<br />
The mailbox that creates the distribution list owns the list.<br />
3787 3247-111 A-3<br />
continued
<strong>TAS</strong> Status Codes<br />
Table A-2. Class Code 193 Detail Status Values (cont.)<br />
D$PCDT Explanation<br />
00280 Your mailbox does not own any distribution lists.<br />
The mailbox that creates the distribution list owns the list.<br />
00290 The distribution list already exists.<br />
The distribution list is already created.<br />
Enter the DDN$DIST command with D$MMOD=CREATE specifying a different list name.<br />
00310 The D$NENT= field must be specified with D$MMOD=CREATE, INSERT, or REMOVE.<br />
The D$NENT field is used to specify mailbox names to be added or removed from a list.<br />
00320 Maximum length for the [insert 1] field is exceeded.<br />
00330 A / or :: is illegal in a mailbox name.<br />
00340 A / is illegal in a mailbox key.<br />
00350 D$NENT= is invalid with D$MMOD=DISPLAY or D$MMOD=DELETE.<br />
D$NENT= is valid only with D$MMOD=CREATE, D$MMOD=INSERT, or<br />
D$MMOD=REMOVE.<br />
00360 The mailbox name/mailbox key was not specified.<br />
The mailbox name/mailbox key is a required field.<br />
The mailbox name and mailbox key are strings, each containing 1 to 8 characters.<br />
The mailbox name and mailbox key are separated by a slash (/).<br />
00370 Distribution list contains no members.<br />
The mailbox names that were in the list have been deleted by their owners.<br />
00390 The last member was removed; therefore, the distribution list is deleted.<br />
00400 MAIL PROCESSOR INTERNAL ERROR NUMBER [insert 1]. STATUS IS [insert 2]. Command<br />
is not completed. Your mailbox is no longer active.<br />
A fatal error occurred. Please report the error to the System Administrator.<br />
00410 INVALID SEQUENCE ERROR NUMBER [insert 1].<br />
A fatal error occurred. Please report the error to the System Administrator.<br />
00420 DMS internal error occurred.<br />
The rollback error status was [insert 1].<br />
The error function was [insert 2].<br />
The error number was [insert 3].<br />
For an explanation of these errors, see the DMS DML <strong>Programming</strong> Reference, or<br />
contact your System Administrator.<br />
continued<br />
A-4 3787 3247-111
Table A-2. Class Code 193 Detail Status Values (cont.)<br />
D$PCDT Explanation<br />
00510 DDN$MAILBOX must be the first Mail Processor command.<br />
<strong>TAS</strong> Status Codes<br />
DDN$MAILBOX command must be entered before other Mail Processor commands can<br />
be used.<br />
00515 Mail Processor is terminating. Command is not completed. Your mailbox is no<br />
longeractive.<br />
A fatal error occurred that caused the Mail Processor to terminate. Retry your command<br />
after the Mail Processor is reinitialized.<br />
00520 Insufficient memory available to process the command.<br />
The Mail Processor’s pool of memory is saturated due to the large number of users at<br />
this time.<br />
Retry your command when the number of users decreases.<br />
00525 Mail Processor is SHUT DOWN.<br />
Try again later, or report condition to your System Administrator.<br />
00530 Too many mailbox names for the D$MLxx= field.<br />
The number of mailbox names allowed on the D$MLxx= field is limited to 20.<br />
00540 Too many list names for the D$DLxx= field.<br />
The number of list names allowed on the D$DLxx= field is limited to 20.<br />
00550 Too many mailbox names for the D$NENT= field.<br />
The number of mailbox names allowed on the D$NENT= field is limited to 30.<br />
00560 Maximum number of printed pages is exceeded.<br />
Further output is not allowed because quota limit is reached.<br />
00580 Error encountered reading user’s response to prompt question.<br />
Retry the command.<br />
00590 Error encountered reading user’s input text.<br />
Retry the command.<br />
00595 Error encountered registering termination code. Command is not completed.<br />
The Mail Processor encountered an error while issuing the TRMREG executive request.<br />
Please report the problem to the System Administrator.<br />
00600 The specified file name is incorrect.<br />
For a description of OS 2200 file-naming conventions, see <strong>App</strong>endix B.<br />
For previous users of OS 2200, no element name was specified in the file name.<br />
3787 3247-111 A-5<br />
continued
<strong>TAS</strong> Status Codes<br />
Table A-2. Class Code 193 Detail Status Values (cont.)<br />
D$PCDT Explanation<br />
00605 READ/WRITE keys are not supported in the Mail Processor.<br />
00608 File cannot be assigned.<br />
00610 File is unavailable or rolled out.<br />
00612 File is assigned to a run other than the Mail Processor.<br />
Try freeing the file. If the file is not freed, then another user has the file assigned.<br />
00614 File does not exist.<br />
Create a file.<br />
00616 File is designated as a private file.<br />
Your project-id is not one which can access this private file.<br />
00618 Device dependent files are not supported.<br />
00620 File has a read or write key. READ/WRITE keys are not supported by the Mail Processor.<br />
00625 File name is not unique.<br />
00630 You cannot write to this file. File is a read-only file or file has a write key.<br />
The specified file was assigned in read-only mode.<br />
00640 You cannot read from this file. File is a write-only file or file has a read key.<br />
The specified file was assigned in write-only mode.<br />
00650 No text was found in the input file.<br />
Mail item is not created.<br />
00660 File is not a program file.<br />
00670 File is too small to save the mail item.<br />
File may be packed or recataloged with a larger size.<br />
00680 Element name cannot be found.<br />
00700 File cannot be opened.<br />
00720 Mail Processor could not read the file by using SDFI. Please report the problem to the<br />
System Administrator.<br />
00730 Cannot read the file.<br />
00735 Cannot free the file.<br />
00750 File cannot be created. Pack the directory or allocate more space for the directory.<br />
00760 File cannot be written. Pack the directory or allocate more space for the directory.<br />
continued<br />
A-6 3787 3247-111
Table A-2. Class Code 193 Detail Status Values (cont.)<br />
D$PCDT Explanation<br />
<strong>TAS</strong> Status Codes<br />
00780 A file containing Fieldata characters is not supported. The file must contain ASCII<br />
characters only.<br />
00800 A mail item cannot be deleted or removed while another user is accessing your mailbox.<br />
00830 The host [insert 1] is not available to service your command.<br />
00835 Your mail request to host [insert 1] cannot be completed.<br />
A local error occurred on that host.<br />
00840 Your mail request to host [insert 1] cannot be completed due to insufficient storage<br />
onthat host.<br />
00845 Syntax error on [insert 1] command to host [insert 2].<br />
Please report the problem to your System Administrator or contact your Unisys<br />
Representative.<br />
00850 Syntax error in parameters or arguments on [insert 1] command to host [insert 2].<br />
Please report the problem to your System Administrator or contact your Unisys<br />
Representative.<br />
00855 The [insert 1] command is not implemented on host [insert 2].<br />
00860 Bad sequence for [insert 1] command to host [insert 2].<br />
Please report the problem to your System Administrator or contact your Unisys<br />
Representative.<br />
00865 Command field on [insert 1] command to host [insert 2] is not implemented.<br />
00870 Your mail request to host [insert 1] is not honored.<br />
Mailbox [insert 2] is unavailable.<br />
00875 Your mail request to host [insert 1] is aborted. Storage allocation on host [insert 1] is<br />
exceeded.<br />
00880 Your mail request to host [insert 1] is not honored. The mailbox name [insert 2] is not<br />
allowed.<br />
00885 Your mail transaction to host [insert 1] failed.<br />
00890 DDP is currently handling the maximum number of processes possible. Please try later.<br />
00895 There is currently not enough memory for DDP to execute. Please try again later.<br />
00900 The DDP process is not up. DDP is necessary to service remote requests. Please<br />
contact your System Administrator to bring up the DDP process.<br />
3787 3247-111 A-7<br />
continued
<strong>TAS</strong> Status Codes<br />
Table A-2. Class Code 193 Detail Status Values (cont.)<br />
D$PCDT Explanation<br />
00905 Communication with the remote host cannot be established because the transport<br />
network is down.<br />
Please report the problem to your System Administrator.<br />
00910 The <strong>TAS</strong>TSU process in DDP-PPC is not up.<br />
Please contact your System Administrator to bring up the DDP process.<br />
00915 The host [insert 1] is not configured in the <strong>TAS</strong> network.<br />
00920 The host [insert 1] did not respond to your command.<br />
Please try again.<br />
00925 The host [insert 1] responded with no message to your command.<br />
This error indicates that the specified remote host never responded to the command<br />
your host sent to it.<br />
Examples of conditions causing this error are: invalid host-id, processing loop on the<br />
other host, database lock on the other host.<br />
00930 MCP reported internal error number [insert 1]. The [insert 2] failed.<br />
Please report the problem to your System Administrator or contact your Unisys<br />
Representative.<br />
00935 SMTP received a bad response on your [insert 1] command to host [insert 2]. Please<br />
report the problem to your System Administrator or contact your Unisys Representative.<br />
00940 There are insufficient DDP resources available to service your request to host [insert 1].<br />
00945 The user name you requested to be verified is associated with more than one mailbox.<br />
00950 Theusernameyourequestedtobeverifiedisnotfound.<br />
00955 You can only display the members of a remote distribution list.<br />
The only D$MMOD field that is legal with a remote distribution list is DISPLAY.<br />
00960 You specified a host name without a distribution list name or a user name.<br />
00965 The host name you specified is too long.<br />
If the Internet physical address format is used, it is a maximum of 15 characters.<br />
Specify n1-n2-n3-n4, where:<br />
n1 is the network number between 0 and 255.<br />
n2 is the host number between 0 and 255.<br />
n3 is the logical host number and is always 0.<br />
n4 is the IMP number between 0 and 255.<br />
If the logical host name format is used, it is a maximum of 24 alphanumeric characters.<br />
The first character must be alphabetic.<br />
continued<br />
A-8 3787 3247-111
Table A-2. Class Code 193 Detail Status Values (cont.)<br />
D$PCDT Explanation<br />
<strong>TAS</strong> Status Codes<br />
00970 The remote Mail Processor is not able to service your mail request to host [insert 1]. Try<br />
again later.<br />
00975 The connection to host [insert 1] is aborted. The network is unable to deliver your<br />
message.<br />
00985 A network problem occurred in the connection to host [insert 1].<br />
The receive reason is [insert 2]. The connection to the host is aborted. Please report the<br />
problem to your System Administrator or contact your Unisys Representative.<br />
00990 The communications processor at host [insert 1] is down.<br />
00995 CMS 1100 is not running. Please report the problem to your System Administrator.<br />
01000 Your mail request to host [insert 1] is not honored. Distribution list [insert 2] is unavailable.<br />
01005 Your mail request to host [insert 1] is not honored. User name [insert 2] is unavailable.<br />
01010 Your mail request to host [insert 1] is not honored. The user name [insert 2] is ambiguous.<br />
01015 You have attempted remote mail processing from a local-mail-only installation.<br />
The <strong>TAS</strong> product at your site was installed with MODE C or MODE L, which means that<br />
<strong>TAS</strong> processing is limited to local mail only (i.e., mail can be sent and received within<br />
your host only).<br />
01020 Your mail command is not completed due to database contention.<br />
Retry the command. If the problem persists, retry at a later time.<br />
A DMS 2200 run unit deadlock condition occurred because a mailbox, a mail item, or a<br />
distribution list involved in your command is currently being accessed by many other<br />
users.<br />
01025 Your conversation with host [insert 1] was aborted by that host.<br />
A problem on the remote host caused that host to issue an abort of the conversation.<br />
01030 The CMS 1100 Configuration for your local host is in error. Please report the problem to<br />
your System Administrator.<br />
01035 An error is encountered acquiring a dynamic bank.<br />
The Mail Processor requires a dynamic D bank to process your command. This dynamic<br />
bank could not be acquired from the OS 2200 system.<br />
Retry the command. If the problem persists, report the problem to your System<br />
Administrator.<br />
07001 The D$BSIZ field in D$MAIL is greater than 3300 characters.<br />
07002 The D$BSIZ field in D$MAIL is not a multiple of 4.<br />
3787 3247-111 A-9<br />
continued
<strong>TAS</strong> Status Codes<br />
Table A-2. Class Code 193 Detail Status Values (cont.)<br />
D$PCDT Explanation<br />
07003 The D$MBCT and D$DLCT fields in D$SEND are zero. One of these fields must be<br />
nonzero.<br />
07004 The D$BSIZ and/or D$LSIZ fields in D$MAIL are zero. Both of these fields must be<br />
nonzero.<br />
07005 The DDN$CONTINUE command is invalid.<br />
07006 The DDN$CONTINUE or DDN$DCNT command expected. Current command is ignored,<br />
and a DDN$DCNT command is assumed.<br />
07007 The D$LSIZ field in D$MAIL is not large enough to hold the mail text line.<br />
07008 The D$BSIZ field in D$MAIL is not large enough to hold the number of lines specified in<br />
D$DLCT field.<br />
07009 The D$LSIZ field in D$MAIL is greater than 132 characters.<br />
07010 Errors have occurred during access of D$MLST and/or D$DLST.<br />
See D$ELST and Table A-3.<br />
07011 Entry missing in D$MLST or D$DLST.<br />
07014 The D$BSIZ field in D$MAIL is less than 80 characters. This is inadequate for the<br />
attempted command.<br />
Table A-3 contains message text for program-callable file transfer errors. The decimal class<br />
code (D$PCCL) for all of these messages is 194. The decimal number preceding each<br />
message in the table is the decimal detail status code returned in the D$PCDT field of the<br />
D$PCST packet for that message.<br />
Table A-3. Class Code 194 Detail Status Values<br />
D$PCDT Explanation<br />
00001 An entry is required in field [insert 1] when an entry is made in field [insert 2].<br />
00590 MCPerrorreceivedbytheFTPuserrunona[insert2]request.<br />
MCP message: [insert 1]<br />
Please report the problem to your System Administrator or contact your Unisys<br />
Representative.<br />
continued<br />
A-10 3787 3247-111
Table A-3. Class Code 194 Detail Status Values (cont.)<br />
D$PCDT Explanation<br />
<strong>TAS</strong> Status Codes<br />
00595 The following MCP message was received while doing a [insert 2] command to host<br />
[insert 3].<br />
MCP message: [insert 1]<br />
Please retry your command. If the problem persists, please report it to your System<br />
Administrator or contact your Unisys Representative.<br />
05995 Host [insert 1] will be available to process your command in [insert 2] minutes. Please<br />
retry your command after the specified amount of time.<br />
06000 Host [insert 1] is not available to process your command.<br />
Host [insert 1] is not accepting remote requests at this time. The TELNET connection is<br />
being closed. You may try again later.<br />
06005 Host [insert 1] is unable to open the data connection.<br />
Remote host msg: [insert 2]<br />
06010 The transfer of file [insert 1] is aborted.<br />
Remote host msg: [insert 2]<br />
06015 File [insert 1] on host [insert 2] is currently assigned to another job.<br />
You may try again later.<br />
06020 An error occurred on host [insert 1]. Your command is aborted.<br />
Remote host msg: [insert 2]<br />
06025 There are insufficient resources on host [insert 1] to complete your command.<br />
You may retry your command. If the problem persists, please contact your System<br />
Administrator.<br />
06030 A syntax error was detected on a [insert 1] command to host [insert 2].<br />
Please report the problem to your System Administrator or contact your Unisys<br />
Representative.<br />
06035 A syntax error was detected in the fields of a [insert 1] command to host [insert 2].<br />
Please report the problem to your System Administrator or contact your Unisys<br />
Representative.<br />
06038 The [insert 1] command is not supported by host [insert 2].<br />
06045 The [insert 1] command sent to host [insert 2] is out of sequence.<br />
Please report the problem to your System Administrator or contact your Unisys<br />
Representative.<br />
06050 The value you entered for the [insert 1] field of the DDN$TRANSFER command is not<br />
supported by host [insert 2].<br />
3787 3247-111 A-11<br />
continued
<strong>TAS</strong> Status Codes<br />
Table A-3. Class Code 194 Detail Status Values (cont.)<br />
D$PCDT Explanation<br />
06055 <strong>TAS</strong> File Transfer was unable to log you onto the remote host.<br />
Reason: [insert 1]<br />
Please check the value you entered for that field and try again.<br />
06080 The account information was not supplied to host [insert 1] for a STOR command.<br />
Please report the problem to your System Administrator or contact your Unisys<br />
Representative.<br />
06085 File [insert 1] on host [insert 2] is not available.<br />
Reason: [insert 3]<br />
06095 Storage allocation on host [insert 1] is exceeded.<br />
Remote host msg: [insert 2]<br />
07000 [insert 1] is not a valid file name on host [insert 2].<br />
Reason: [insert 3]<br />
Please check the syntax for file names on the host. You may retry your command after<br />
making any necessary corrections.<br />
07003 Requested action not taken; <strong>TAS</strong> received an error message from host [insert 1].<br />
Message: [insert 2]<br />
Please report the problem to your System Administrator or contact your Unisys<br />
Representative.<br />
07007 A bad response was received from host [insert 1] during connection establishment.<br />
Please report the problem to your System Administrator or contact your Unisys<br />
Representative.<br />
07015 [Insert 1]<br />
07017 Command processing successfully completed. Statistics are unavailable from the hosts<br />
[insert 1] and [insert 2].<br />
07020 Command not supported from FSITE command. This command is available through the<br />
standard <strong>TAS</strong> commands. Enter this command through the standard <strong>TAS</strong> interface.<br />
07025 Command not supported.<br />
07030 SITEINFO parameter successfully completed. [insert 1] bytes were transmitted in [insert<br />
2] seconds ([insert 3] Kbytes/second).<br />
07037 SITEINFO parameter successfully completed. Statistics are unavailable from the hosts<br />
[host 1] and [host 2].<br />
07040 Requested action not taken; if D$XTYP=RELOCATABLE, ABSOLUTE, OMNIBUS or ALL,<br />
D$TRAN must equal TRANSPARENT.<br />
continued<br />
A-12 3787 3247-111
Table A-3. Class Code 194 Detail Status Values (cont.)<br />
D$PCDT Explanation<br />
<strong>TAS</strong> Status Codes<br />
07050 Requested action not taken; only D$XTYP=IOW valid if you transfer a full program file.<br />
07055 There is an illegal character specified in the host name.<br />
A physical host name may only contain a numeric or a hyphen.<br />
Ex: 50-1-0-100.<br />
A logical host name must begin with an alphabetic character.<br />
Ex: abc-01.<br />
07060 <strong>TAS</strong> File Transfer encountered internal error [insert 1] while doing output to the terminal.<br />
Please report the problem to your System Administrator or contact your Unisys<br />
Representative.<br />
07068 Requested action not taken; you may not transfer a full program file to a single element.<br />
07070 File [insert 1] on the local host cannot be accessed.<br />
Reason: [insert 2]<br />
07075 D$XTYP=SDF or IOW is not supported for OS 2200 to OS 2200 or remote transfer.<br />
07080 The [insert 1] field of DDN$TRANSFER command must be a program file element or SDF<br />
file.<br />
07090 All hosts must be OS 2200 for a three-host transfer.<br />
07125 The file name you specified on the [insert 1] field contains an illegal character in position<br />
[insert 2].<br />
For a description of OS 2200 file naming conventions, see <strong>App</strong>endix B.<br />
07130 You did not enter a password on the remote [insert 1] command.<br />
For <strong>TAS</strong> FTP to log you on to the remote host, you must supply a valid password.<br />
07135 You entered conflicting values for the D$FFIL and D$XTYP fields of the DDN$TRANSFER<br />
command.<br />
If you specify an element to be transferred in D$FFIL, you must use the D$XTYP field. The<br />
value of the D$XTYP field may not be ALL.<br />
07140 <strong>TAS</strong> File Transfer does not have enough memory to process your command at this time.<br />
This situation should be temporary. Please try again later.<br />
07145 <strong>TAS</strong> File Transfer encountered memory management error [insert 1].<br />
Please report the problem to your System Administrator or contact your Unisys<br />
Representative.<br />
3787 3247-111 A-13<br />
continued
<strong>TAS</strong> Status Codes<br />
Table A-3. Class Code 194 Detail Status Values (cont.)<br />
D$PCDT Explanation<br />
07150 The host-id you entered on the [insert 1] field of the [insert 2] command is too long.<br />
The maximum length for a physical host-id is 15 characters.<br />
The maximum length for a logical host-id is 255 characters. Please check the host-id you<br />
are using and try again.<br />
07155 The D$RMRK checkpoint-id you entered on the DDN$RESUME command is too long.<br />
The maximum length for a checkpoint-id is 12 characters. Please verify the checkpoint-id<br />
you are using and try again.<br />
07160 You did not enter a file name on the [insert 1] field of the [insert 2] command.<br />
You must specify a file name. Please retry your command.<br />
07165 A password you entered on the [insert 1] command is too long.<br />
The maximum length for a password is 18 characters. Please check the password or<br />
passwords you are using and try again.<br />
07170 A user-id you entered on the [insert 1] command is too long.<br />
The maximum length for a user-id is 12 characters. Please check the user-id or user-ids<br />
you are using and try again.<br />
07175 An account number you entered on the [insert 1] command is too long.<br />
The maximum length for an account number is 25 characters.<br />
If you specified an account and a project-id, they must be separated by a blank. Account<br />
number and project-id can each only contain a maximum of 12 characters. Please check<br />
the account number or account numbers you are using and try again.<br />
07180 You entered too many values on the [insert 1] field of the DDN$TRANSFER command.<br />
[insert 2] is your local host-id; therefore you need only one value on the [insert 1] field.<br />
You may enter two values for this field only if both hosts named on the DDN$TRANSFER<br />
commandareremotehosts.<br />
07190 The value you entered on the [insert 1] field of the [insert 2] command is too long.<br />
The maximum length is 335. Up to 255 characters may be used for the host-id, if<br />
specified. Up to 80 characters may be used for the file name.<br />
Please make the necessary corrections and try again.<br />
07195 The file name you entered on the [insert 1] field of the [insert 2] command is too long.<br />
The maximum length for a file name is 80 characters. Please check the file name you are<br />
using and try again.<br />
07200 You entered conflicting values for the D$TRAN and D$XTYP fields of the DDN$TRANSFER<br />
command.<br />
If you use D$XTYP=OMNI, then you must also use D$TRAN=TRANSPARENT or L36.<br />
continued<br />
A-14 3787 3247-111
Table A-3. Class Code 194 Detail Status Values (cont.)<br />
D$PCDT Explanation<br />
<strong>TAS</strong> Status Codes<br />
07205 You must specify D$XMOD=BLOCK or D$XMOD=COMPRESSED if you want to use the<br />
D$CHFN field.<br />
07210 Requested action not taken; D$XTYP=SDF or IOW only valid if D$TRAN=TRANSPARENT<br />
and D$STRU=FILE.<br />
07215 You may not name an element on the D$FILE field of the DDN$DEALLOC command.<br />
You may use the DDN$DEALLOC command only to remove an entire file.<br />
07220 The value you entered on the [insert 1] field of the [insert 2] command is too long.<br />
07225 Element [insert 1] does not exist in file [insert 2] on the local host.<br />
For a further explanation of this error, please contact your Unisys Representative.<br />
07230 File Transfer is unable to read file [insert 1] on the local host.<br />
Reason: [insert 2]<br />
For a further explanation of this error, please contact your Unisys Representative.<br />
07235 File Transfer is unable to write to file [insert 1] on the local host.<br />
Reason: [insert 2]<br />
For a further explanation of this error, please contact your Unisys Representative.<br />
07240 File [insert 1] on the local host is not a program file.<br />
07245 File Transfer cannot add element [insert 1] to file [insert 2] on the local host.<br />
Reason: [insert 3]<br />
For a further explanation of this error, please contact your Unisys Representative.<br />
07250 I/O ERROR occurred during File Transfer.<br />
Error: [insert 1]<br />
For a further explanation of this error, please contact your Unisys Representative.<br />
07255 I/O ERROR occurred during File Transfer.<br />
Error: [insert 1]<br />
File: [insert 2]<br />
For a further explanation of this error, please contact your Unisys Representative.<br />
07260 I/O ERROR occurred during File Transfer.<br />
Error: [insert 1]<br />
File: [insert 2]<br />
Element: [insert 3]<br />
For a further explanation of this error, please contact your Unisys Representative.<br />
3787 3247-111 A-15<br />
continued
<strong>TAS</strong> Status Codes<br />
Table A-3. Class Code 194 Detail Status Values (cont.)<br />
D$PCDT Explanation<br />
07275 A network problem has occurred in making the connection to host [insert 1].<br />
07280 The file specified on the DDN$RESUME command does not contain valid checkpoint file<br />
entries. Please verify the file name and try again.<br />
07285 You entered conflicting values on the D$STRU and D$TRAN fields of the DDN$TRANSFER<br />
command.<br />
If you use D$XTYP=SYM, the combination of D$STRU=RECORD and<br />
D$TRAN=TRANSPARENT or L36 is not allowable.<br />
07290 You may not specify REL or ABS for the D$XTYP field of the DDN$TRANSFER command.<br />
The values of REL and ABS for the D$XTYP field are restricted for remote-to-local and<br />
local-to-remote transfers. These values are meaningful only for local-to-local transfers.<br />
07295 The host-id you entered on the [insert 1] field of the [insert 2] command is homogeneous.<br />
07300 The D$FFIL file you specify must be an element in a program file or an SDF file if you<br />
want to use D$XTYP=SOURCE.<br />
07305 Requested action not taken; D$TRAN=EBCDIC only valid if D$STRU=RECORD and<br />
D$XTYP=SYMBOLIC.<br />
07307 Requested action not taken; you may not transfer an element to a file. The destination file<br />
must have an element specified.<br />
07310 File [insert 1] on the local host is a full program file and can only be transferred with<br />
D$TRAN=TRANSPARENT or L36. If D$TRAN = ASCII or EBCDIC, only full SDF files or<br />
program file elements of D$XTYP=SOURCE may be transferred to or from a remote host.<br />
07315 The value you entered for the D$RMRK field on the DDN$RESUME is invalid. The value<br />
may only contain numeric digits and one hyphen. A numeric value must appear before the<br />
hyphen.<br />
07317 The value you entered on the D$CHFN field of the DDN$TRANSFER command is too long.<br />
The maximum length is 45 characters.<br />
Please verify the file name you are using and try again.<br />
07320 When specifying D$POSN=ADD, only program file elements can be transferred.<br />
07325 The value you entered on the D$RFNM field of DDN$RESUME is too long. The maximum<br />
length is 48 characters. Please verify the file name you are using and try again.<br />
07330 You may not restart a file transfer which was successfully completed.<br />
07335 An error was received on the Checkpoint file.<br />
File Name: [insert 1]<br />
Reason: [insert 2]<br />
07340 You must specify the D$CHFN field if you want to use the D$CMF option.<br />
continued<br />
A-16 3787 3247-111
Table A-3. Class Code 194 Detail Status Values (cont.)<br />
D$PCDT Explanation<br />
<strong>TAS</strong> Status Codes<br />
07345 The D$CMF option of the DDN$TRANSFER command is not meaningful when doing a<br />
Store on the local host.<br />
On a Checkpoint operation, mark value is determined by the host doing the Send.<br />
07350 File Transfer is unable to write to the specified checkpoint file.<br />
07355 File Transfer is unable to read the specified checkpoint file.<br />
07360 A 110 msg was received as a secondary response to a RETR on a 3-host Transfer. This<br />
is invalid. Please report this problem to your system administrator or contact your Unisys<br />
representative.<br />
07365 The checkpoint file does not contain enough information to restart the transfer process.<br />
You must re-enter the DDN$TRANSFER command.<br />
07370 The value you entered on the D$RMRK field of the DDN$RESUME command does not<br />
match any of the markers in the specified checkpoint file. Please verify the value entered<br />
and try again.<br />
09000 <strong>TAS</strong> File Transfer encountered an error.<br />
Error: [insert 1]<br />
Please retry your command. If the problem persists, report it to your System<br />
Administrator or contact your Unisys Representative.<br />
09005 When D$POSN is specified as ADD, you must specify D$STRU=RECORD and<br />
D$TRAN=ASCII.<br />
09010 When POSITION is specified as ADD, you must specify TRANSLATE = ASCII or EBCDIC.<br />
09015 Requested action not taken; MODE=COMPRESSED only valid if STRUCTURE = FILE or<br />
RECORD AND TRANSLATE = ASCII or EBCDIC.<br />
09020 The ALLO (Allocate) command requires a value for the BYTES parameter.<br />
09025 The ALLO (Allocate) command requires a value for the BYTES parameter even when a<br />
value is given for RECORDS.<br />
09030 The directory name you entered for the [insert 1] command is too long.<br />
09050 Requested action not taken; an invalid wildcard character was entered. The valid<br />
characters are a-z, A-Z, 0-9, - (dash), and $ (dollar sign).<br />
09060 Requested action not taken; the filename parameter is invalid.<br />
09070 Requested action not taken; the runstream parameter is invalid.<br />
09080 Requested action not taken; the filename parameter is already registered to this or<br />
another application. The filename parameter must be unique.<br />
09090 Requested action not taken; the filename could not be deregistered because it does not<br />
match any registered filename.<br />
3787 3247-111 A-17<br />
continued
<strong>TAS</strong> Status Codes<br />
Table A-3. Class Code 194 Detail Status Values (cont.)<br />
D$PCDT Explanation<br />
09100 Requested action not taken; there are no filenames registered for the requested<br />
application.<br />
09110 Requested action not taken; there is no Saved status for the requested application.<br />
09120 Requested action not taken; the last filename can not be deregistered with Saved status.<br />
Use a Status request to obtain the Save status or override with a Deregister All option.<br />
09130 Requested action not taken; the application-id could not be found. The application-id was<br />
entered incorrectly or was never registered.<br />
09140 Requested action not taken; an invalid filename was entered on the Register command.<br />
Please correct and re-enter.<br />
09150 Requested action not taken; an invalid start option was entered on the Register<br />
command. Please correct and re-enter.<br />
09160 Requested action not taken; an invalid application-id was entered. Valid characters are<br />
a-z, A-Z, and 0-9.<br />
09170 Warning status removed for:<br />
FILE: [insert 1]<br />
STATUS: [insert 2]<br />
09180 Requested action not taken; an invalid Control value was entered. This value must be an<br />
octal number (digits 0 to 7) of 1 to 4 digits with a leading zero.<br />
09300 You can not specify a host name on the [insert 1] parameter of the [insert 2] command.<br />
The host name from your Login command is used.<br />
09310 The host-id value for the [insert 1] parameter of the [P4] command is non-blank.<br />
09320 Requested action not taken; FGET or FPUT command allowed only after a session with<br />
theremotehostisopened(Login).<br />
09330 Requested action not taken; QUIT command only valid when a session with a remote host<br />
is active.<br />
09340 You must specify the host id parameter of the [insert 1] command if a session with the<br />
remote host is active.<br />
09350 Requested action not taken; POSTSKEL must be run before any FTP command can be<br />
executed.<br />
Error indicator values representing the INCLUDE statement/subroutine call in error are<br />
returned in the D$PCEF field of the D$PCST packet. Table A-4lists the error indicator<br />
values.<br />
A-18 3787 3247-111
Table A-4. D$PCEF Error Indicators<br />
INCLUDE Statement Error Code<br />
DDN$LOGIN 28<br />
DDN$FGET 29<br />
DDN$FPUT 30<br />
DDN$TRANSFER 31<br />
DDN$DEALLOC 32<br />
DDN$RESUME 33<br />
DDN$RENAME 37<br />
DDN$SITE 38<br />
DDN$QUIT 39<br />
DDN$MAILBOX 41<br />
DDN$CHECK 42<br />
DDN$GET 43<br />
DDN$PREPARE 44<br />
DDN$DIST 45<br />
DDN$SENDMAIL 46<br />
DDN$VERIFY 47<br />
DDN$REMOVE 48<br />
DDN$DISCON 49<br />
DDN$CONTINUE 50<br />
DDN$DCNT 51<br />
DDN$REGISTER 53<br />
DDN$DEREG 54<br />
DDN$STATUS 55<br />
DDN$CWD 56<br />
DDN$CDUP 57<br />
DDN$MKD 58<br />
DDN$RMD 59<br />
continued<br />
3787 3247-111 A-19<br />
<strong>TAS</strong> Status Codes
<strong>TAS</strong> Status Codes<br />
Table A-4. D$PCEF Error Indicators (cont.)<br />
INCLUDE Statement Error Code<br />
DDN$PWD 60<br />
DDN$ALLO 61<br />
Table A-5 contains error code values for errors that may be encountered while attempting<br />
to access members of D$MLST and/or D$DLST. A D$PCCL of 193 and D$PCDT of 7010 are<br />
returned in the D$PCST to indicate that list errors have occurred. The following list error<br />
codes are returned as the first four characters in D$ELNE of the D$ELST packet.<br />
Table A-5. D$ELST Errors<br />
Number Description<br />
7020 Mailbox m-name, specified on DDN$SENDMAIL command, does not exist<br />
7021 Mailbox m-name, specified on DDN$DIST command, does not exist<br />
7022 Mailbox m-name, specified on DDN$DIST command, is a duplicate<br />
7023 Mailbox m-name, specified on DDN$DIST command, not a member of the list<br />
7024 Distribution list l-name, specified on DDN$SENDMAIL command, does not exist<br />
7025 Distribution list l-name, specified on DDN$SENDMAIL command, has no members<br />
7026 Maximum length exceeded for mailbox m-name<br />
7027 Maximum length exceeded for distribution list l-name<br />
7028 The following incorrect path name was received : bad-path-name<br />
7029 You did not specify a mailbox name or distribution list name following host-id: h-name<br />
7030 Host-id beginning with h-name exceeds maximum<br />
7031 There are insufficient DDP resources available to service your request to host h-name<br />
7032 Host h-name responded with no msg to your command (Note: This error indicates that<br />
the specified remote host never responded to the command your host sent.)<br />
7033 SMTP received a bad response on your c-name command to host h-name<br />
7034 Host h-name forwarded mail you sent to mailbox : m-name<br />
7035 Host h-name is not available to service your command<br />
7036 Host h-name did not process request for unavailable mailbox : m-name<br />
continued<br />
A-20 3787 3247-111
Table A-5. D$ELST Errors (cont.)<br />
Number Description<br />
<strong>TAS</strong> Status Codes<br />
7037 Your mail request to host h-name cannot be completed. A local error occurred on that<br />
host.<br />
7038 Your mail request to host h-name cannot be completed due to insufficient storage on that<br />
host<br />
7039 Syntax error on c-name command to host h-name<br />
7040 Syntax error in fields or arguments on c-name command to host h-name<br />
7041 The c-name command is not implemented on host h-name<br />
7042 Bad sequence for c-name command to host h-name<br />
7043 Command field on c-name command to host h-name is not implemented<br />
7044 Request to host h-name failed due to unavailability of mailbox : m-name<br />
7045 Host h-name does not have the following mailbox : m-name<br />
7046 Your mail request to host h-name is aborted. Storage allocation exceeded on that host.<br />
7047 Request to host h-name failed. Following mailbox not allowed : m-name<br />
7048 Your mail transaction to host h-name failed<br />
7049 Host h-name is not configured in the <strong>TAS</strong> network<br />
7050 Host h-name did not respond to your command<br />
7051 The remote Mail Processor is not able to service your request to host h-name. Try again<br />
later.<br />
7052 The connection to host h-name is aborted. The network is unable to deliver your<br />
message.<br />
7053 Connection to host h-name aborted due to a network problem. The receive reason is nn.<br />
Report problem to your System Administrator.<br />
7054 The communications processor at host h-name is down<br />
7055 The <strong>TAS</strong>TSU process in your local DDP-PPC is not up. Please contact your System<br />
Administrator to bring up DDP.<br />
7056 Request to host h-name failed. Following distribution list is unavailable : l-name<br />
7057 Conversation with host h-name aborted by that host<br />
7058 Host-id h-name contains an invalid character<br />
3787 3247-111 A-21
<strong>App</strong>endix B<br />
Conventions for Naming Hosts, Files,<br />
and Mail<br />
B.1. Host Identifiers<br />
<strong>TAS</strong> hosts can be local or remote. The local host is the system on which your program is<br />
running. A remote host is any system in the network, other than your local host.<br />
Each host system has its own host identifier (host-id). To define a host-id, you can choose<br />
from two format types:<br />
$ Internet physical address<br />
This format is always valid for specifying a host-id.<br />
$ Logical host name<br />
This format is valid depending upon how your site administrator configured the Telcon<br />
software.<br />
An internet physical address format host-id is:<br />
<br />
where:<br />
n1<br />
n2<br />
n3<br />
n4<br />
Is the network number (0-223).<br />
Is the host number (0-255).<br />
Is the logical host number (0-255 (currently always 0)).<br />
Is the interface message processor (IMP) number (0-255).<br />
For example:<br />
<br />
Always include the dashes when you use this format.<br />
3787 3247-111 B-1
Host Identifiers<br />
A logical host name:<br />
$ Can contain up to 255 characters<br />
$ Must begin with an alphabetic character<br />
$ Can include alphanumerics as well as the minus sign (-) and the period (.)<br />
For example:<br />
<br />
This particular logical name represents the geographical location and system number of<br />
the host. The logical name translates to the physical address of the host. So, if you define a<br />
logical name, you can then specify a host-id by using either the logical host name or the<br />
physical address.<br />
You use host-ids in some <strong>TAS</strong> commands. If you omit a host-id in a command, the local<br />
host-id is assumed by default.<br />
You can obtain host-id information from your site administrator.<br />
Notes:<br />
1. Non-OS 2200 hosts sometimes use periods rather than dashes in the physical<br />
address format host-id. However, all host-ids entered in <strong>TAS</strong> commands must<br />
contain dashes. Using periods causes an error message.<br />
2. Throughout this manual, when we refer to the local host, we are referring to the<br />
OS 2200 host.<br />
B-2 3787 3247-111
B.2. File Conventions<br />
This section discusses the OS 2200 conventions for:<br />
$ Naming files<br />
$ Naming elements<br />
$ Referencing files and elements<br />
File Conventions<br />
It should help you understand the conventions for naming files and elements and the<br />
notation used in OS 2200 software manuals that do not apply directly to <strong>TAS</strong> processing.<br />
These manuals may feature the OS 2200 Executive Control Language (ECL) instead of or in<br />
addition to the <strong>IP</strong>F 2200 Command Language.<br />
B.2.1. Naming Files<br />
The following ECL notation specifies a file name:<br />
<br />
where:<br />
qualifier<br />
Establishes the differences between files that have the same basic name. May contain<br />
from 1 to 12 characters selected from the set: A through Z, 0 to 9, the dash (-), and the<br />
dollar sign ($).<br />
file-name<br />
Is the basic name of the file. May contain from 1 to 12 characters selected from the set:<br />
A through Z, 0 to 9, the dash (-), and the dollar sign ($).<br />
Note: File names without a qualifier get a default qualifier of the project-id for<br />
the <strong>FORTRAN</strong> program run.<br />
F-cycle<br />
Identifies a particular file from a set of related files that have the same qualifier and file<br />
name.<br />
read-key<br />
Obtains read access to the file.<br />
write-key<br />
Obtains write access to the file.<br />
All parameters except file-name are optional when you name a file. The Executive provides<br />
a standard default for those parameters that are omitted.<br />
3787 3247-111 B-3
File Conventions<br />
B.2.2. Naming Elements<br />
OS 2200 recognizes five different types of elements:<br />
1. Symbolic elements (including procedure elements)<br />
Contain text, source language images for language or system processors (or<br />
Executive control language statements), and data to be processed by other control<br />
statements.<br />
2. Relocatable elements<br />
The output of certain processors such as COBOL and <strong>FORTRAN</strong>.<br />
3. Absolute elements<br />
The output of the OS 2200 Collector.<br />
4. Omnibus elements<br />
Arbitrary format elements used to store any kind of information.<br />
5. Object module elements<br />
The output of certain processors such as COBOL and <strong>FORTRAN</strong>.<br />
Elements of any or all of the four types are contained in program files on mass storage.<br />
Each element is uniquely identified within a file by its element type and element name and<br />
version. The following notation is used to specify element names:<br />
<br />
where:<br />
file-name<br />
Is the basic name of the file. May contain from 1 to 12 characters selected from the set:<br />
A through Z, 0 to 9, the dash (-), and the dollar sign ($).<br />
element-name<br />
Is the basic name of the element. May contain from 1 to 12 characters selected from<br />
the set: A through Z, 0 to 9, the dash (-), and the dollar sign ($).<br />
version<br />
Establishes the uniqueness between elements in the same file that have the same type<br />
and element name. May contain from 1 to 12 characters selected from the set: A<br />
through Z, 0 to 9, the dash (-), and the dollar sign ($).<br />
element-cycle<br />
Specifies a particular update of a symbolic element. Element cycles are not used for<br />
relocatable, absolute, and omnibus elements. They are maintained in a manner similar<br />
to that of file cycles (F-cycles).<br />
Note: Element cycles cannot be used in current <strong>TAS</strong> systems.<br />
All parameters except element-name are optional when naming an element. For those<br />
parameters omitted, the Executive supplies values according to standard rules.<br />
B-4 3787 3247-111
File Conventions<br />
When element-cycle is omitted for a symbolic element (as it must be for <strong>TAS</strong> commands), a<br />
relative element cycle of 0 is supplied in order to select the most recent element-cycle.<br />
When the version is omitted, blanks are supplied. The file name must refer to a program<br />
file.<br />
B.2.3. Referencing Files and Elements<br />
When you specify a file name, use this format:<br />
<br />
When you specify both a file name and an element name, use this format:<br />
<br />
If a file name is required, but the file name information packet field is left empty, <strong>TAS</strong><br />
returns an error status indicating a missing file name.<br />
Note that when all optional parameters are dropped from a file name or element name, the<br />
operating system cannot distinguish between a file and element name where either may be<br />
used. In such cases, the absence of a period in the specification implies that it is an<br />
element name.<br />
Always use a period after a file name, regardless of whether you use an element name.<br />
The following example references an element (name-2) in a specific file (name-1):<br />
<br />
The following example references a file:<br />
<br />
When you do not specify F-cycle (file cycle) or element cycle, <strong>TAS</strong> assumes that you want<br />
the most recent or newest element cycle.<br />
B.2.4. Examples<br />
PAYROLL*BACKUP.<br />
References file BACKUP with a qualifier of PAYROLL.<br />
COST*PROG.EDIT<br />
References element EDIT in the file COST*PROG.<br />
*BACKUP.TLU/TWO<br />
References version TWO of element TLU in file BACKUP. Qualifier is taken from the<br />
last @QUAL control statement encountered, or the project-id parameter if no @QUAL<br />
control statement was used.<br />
SORT.<br />
References file SORT.<br />
3787 3247-111 B-5
Mail Processor Conventions<br />
B.3. Mail Processor Conventions<br />
This section lists mail-naming conventions for:<br />
$ Mailbox names/mailbox keys<br />
$ Mail identifiers<br />
$ User names<br />
If a program creates mailbox names, mailbox keys, outgoing mail identifiers, or distribution<br />
list names, and the mail database is accessed through <strong>IP</strong>F 2200, follow the rules for <strong>IP</strong>F<br />
2200 string expressions. See the <strong>IP</strong>F 2200 Command Language Operations <strong>Guide</strong>.<br />
B.3.1. Mailbox Names/Mailbox Key<br />
The mail processor delivers messages to their destinations according to mailbox-names.<br />
Each mailbox has a unique name that consists of alphanumeric characters. Do not use the<br />
slash (/) or double colon (::) in mailbox names. Names of mailboxes that reside on OS 2200<br />
hosts have a maximum of eight characters. The number of characters for mailboxes that<br />
reside on non-OS 2200 hosts can vary from system to system, but can not exceed a<br />
maximum of 64 characters.<br />
Examples of valid mailbox names are:<br />
$ B104<br />
$ 104B<br />
$ MICHAELS<br />
Examples of invalid mailbox names are:<br />
$ /104<br />
$ 104::<br />
$ MICHAELSON<br />
Mailbox keys are required for the DDN$MAILBOX command and are used to restrict<br />
access to the mailbox. Mailbox keys consist of one to eight alphanumeric characters. Do<br />
not use the slash (/) character in mailbox keys.<br />
B.3.2. Mail Identifiers<br />
Each incoming and outgoing message requires a mail identifier. The mail processor<br />
retrieves and delivers mail according to these identifiers.<br />
You assign a mail identifier to each outgoing mail item you create. A mail identifier for<br />
outgoing mail is from one to eight alphanumeric characters long.<br />
B-6 3787 3247-111
Mail Processor Conventions<br />
Outgoing mail identifiers are case-sensitive, which means that they must be specified in<br />
mail commands exactly as they were created by either the DDN$PREPARE command or<br />
the create and send operation of the DDN$SENDMAIL command.<br />
Examples of valid outgoing mail identifiers are:<br />
$ NOV19<br />
$ MEMO<br />
Examples of invalid outgoing mail identifiers are:<br />
$ NOVEMBER19<br />
$ MEMORANDUM<br />
Incoming mail identifiers are assigned by the mail processor and put into the mail buffer<br />
when a check command is used. A mail identifier for incoming mail is a number from 1 to 8<br />
digit number.<br />
B.3.3. User Names<br />
User names are required for the DDN$VERIFY command and are optional for the<br />
DDN$MAILBOX command. User names consist of 1 to 20 alphanumeric characters and can<br />
contain embedded blanks. User names are also case sensitive, which means that they must<br />
be specified in mail commands exactly as they were created in the DDN$MAILBOX<br />
command.<br />
3787 3247-111 B-7
<strong>App</strong>endix C<br />
File Transfer Example<br />
This appendix contains the source coding for a UCS <strong>FORTRAN</strong> file transfer application<br />
program and the corresponding compile and link stream.<br />
C.1. Sample File Transfer Program Run Stream<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Example C-1. UCS <strong>FORTRAN</strong> Compile and Link Stream for Sample File Transfer<br />
Program<br />
3787 3247-111 C-1
Sample File Transfer <strong>App</strong>lication Program<br />
C.2. Sample File Transfer <strong>App</strong>lication Program<br />
The following example is the source code for a file transfer application program The<br />
program:.<br />
$ Transfers (replaces) an entire file from one host to another host<br />
$ Transfers (replaces) an element of a file from one host to an element of a file on<br />
another host<br />
$ Transfers a file on one host to another with checkpoint<br />
$ Deallocates a file<br />
$ Resumes a halted checkpoint file transfer<br />
$ Renames a file<br />
$ Obtains site information<br />
If any errors are encountered, appropriate messages are displayed on the printer.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
C-2 3787 3247-111
Sample File Transfer <strong>App</strong>lication Program<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
3787 3247-111 C-3
Sample File Transfer <strong>App</strong>lication Program<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
C-4 3787 3247-111
Sample File Transfer <strong>App</strong>lication Program<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
3787 3247-111 C-5
Sample File Transfer <strong>App</strong>lication Program<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
C-6 3787 3247-111
Sample File Transfer <strong>App</strong>lication Program<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
3787 3247-111 C-7
<strong>App</strong>endix D<br />
Mail Transfer Example<br />
This appendix contains the source coding for a UCS <strong>FORTRAN</strong> mail transfer application<br />
program and the corresponding compile and link run stream.<br />
D.1. Sample Mail Transfer Program Run Stream<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Example D-1. UCS <strong>FORTRAN</strong> Compile and Link Stream for Sample Mail Transfer<br />
Program<br />
3787 3247-111 D-1
Sample Mail Transfer <strong>App</strong>lication Program<br />
D.2. Sample Mail Transfer <strong>App</strong>lication Program<br />
The following example is the source code for a mail transfer application program The<br />
program:.<br />
$ Creates a mailbox<br />
$ Checks for incoming mail<br />
$ Gets the mail if there is any<br />
$ Prepares an outgoing mail item<br />
$ Creates a distribution list<br />
$ Sends the mail to all mailboxes on the distribution list<br />
$ Disconnects the mailbox<br />
If any errors are encountered, appropriate messages are displayed on the printer.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
D-2 3787 3247-111
Sample Mail Transfer <strong>App</strong>lication Program<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
3787 3247-111 D-3
Sample Mail Transfer <strong>App</strong>lication Program<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
D-4 3787 3247-111
Sample Mail Transfer <strong>App</strong>lication Program<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
3787 3247-111 D-5
Sample Mail Transfer <strong>App</strong>lication Program<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
D-6 3787 3247-111
Sample Mail Transfer <strong>App</strong>lication Program<br />
3787 3247-111 D-7
Sample Mail Transfer <strong>App</strong>lication Program<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
D-8 3787 3247-111
Sample Mail Transfer <strong>App</strong>lication Program<br />
3787 3247-111 D-9
Sample Mail Transfer <strong>App</strong>lication Program<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
D-10 3787 3247-111
Sample Mail Transfer <strong>App</strong>lication Program<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
3787 3247-111 D-11
Sample Mail Transfer <strong>App</strong>lication Program<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
D-12 3787 3247-111
Sample Mail Transfer <strong>App</strong>lication Program<br />
3787 3247-111 D-13
<strong>App</strong>endix E<br />
Initialization Subroutines<br />
As discussed in Section 2, each command packet has an associated initialization<br />
subroutine that can be used to clear unused fields before specifying any parameters and<br />
issuing a function call.<br />
The following example lists the subroutines to initialize the <strong>TAS</strong> file transfer information<br />
packets.<br />
Subroutines to Initialize File Transfer Packets<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
3787 3247-111 E-1
Initialization Subroutines<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
E-2 3787 3247-111
Initialization Subroutines<br />
3787 3247-111 E-3
Initialization Subroutines<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
The following example lists the subroutines to initialize the <strong>TAS</strong> mail transfer information<br />
packets.<br />
E-4 3787 3247-111
Subroutine to Initialize Mail Transfer Packets<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Initialization Subroutines<br />
3787 3247-111 E-5
Initialization Subroutines<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
E-6 3787 3247-111
Initialization Subroutines<br />
3787 3247-111 E-7
<strong>App</strong>endix F<br />
Register<br />
When you issue a Register command, the file name you enter with the command is<br />
converted into a file-id. <strong>TAS</strong> then checks the list of previously registered file-ids. This<br />
check determines if there already is a registered file-id that exactly matches the file-id that<br />
you want to register.<br />
In this comparison, a wild card indicator is treated as a normal character. Thus, wild card<br />
indicators must match corresponding wild card indicators for the file-ids to match.<br />
If <strong>TAS</strong> finds a match with a previously registered file name, the command is rejected;<br />
otherwise the new file name is included in the list of registered files.<br />
You must provide at least a qualifier and filename when registering a file.<br />
F.1. Converting a File Name to a File-ID<br />
<strong>TAS</strong> separates the submitted file name into seven parts to create the file-id. These are:<br />
Part Length<br />
Qualifier 1-12 chars<br />
filename 1v12 chars<br />
f-cycle 0v3chars<br />
read key 0v6chars<br />
write key 0v6chars<br />
element name 0v12 chars<br />
version 0v12 chars<br />
If the information submitted for a part is less than the maximum length for that part, <strong>TAS</strong><br />
adds trailing blanks to expand the part to its maximum length.<br />
If a wild card character is provided as part of the Register command, <strong>TAS</strong> replaces all<br />
instances of that wild card character found in the file name with a wild card indicator<br />
(semicolon). If the wild card character is found as the last character in one of the parts,<br />
any remaining characters for that part will be stored as wild card indicators.<br />
3787 3247v111 Fv1
Converting a File Name to a File-ID<br />
Example 1:<br />
The following file name:<br />
<br />
is converted to file-id:<br />
<br />
<br />
<br />
Example 2:<br />
The following file name with "Z" indicated as a wild card:<br />
<br />
is converted to file-id:<br />
<br />
<br />
<br />
F-2 3787 3247-111
F.2. Incoming File Transfer<br />
F.2.1. Overview<br />
Incoming File Transfer<br />
When a file is transferred to the 2200 as a result of a PUT command from a remote FTP<br />
client, <strong>TAS</strong> converts the incoming file name to a file-id and checks to see if the incoming<br />
file-id matches a previously registered file-id. If a match is found, the run stream associated<br />
with the registered file-id is executed (Add or Start).<br />
F.2.2. Run Stream Selection<br />
To determine which run stream to initiate, a comparison is made between the incoming<br />
file-id and every registered file-id in the registered list to determine the best match. In this<br />
comparison, a wild card indicator in the registered file-id always matches its corresponding<br />
character in the incoming file-id. Consequently, more than one match may be found.<br />
An algorithm is used to determine the best match. It assumes that a match with a wild card<br />
indicator is not as good as a match with a character.<br />
All characters of a registered file-id are compared against the incoming file-id. If there is a<br />
mismatch, a new compare is started using the next registered file-id. If there is no<br />
mismatch, a comparison value is generated. After all registered file-ids are compared, the<br />
registered file-id with the highest comparison value is determined to be the best match.<br />
The run stream associated with this file-id is then executed.<br />
If two files have the same comparison value, the best match is determined by ranking the<br />
file-id parts in the following order (most important to least important):<br />
File-id Parts In Order Of Importance<br />
Qualifier<br />
Fillename<br />
F Cycle<br />
Element<br />
Read Key<br />
Write Key<br />
Version<br />
The file that has the higher comparison value for a file-id part (in the order of importance)<br />
is considered the best match.<br />
3787 3247-111 F-3
Incoming File Transfer<br />
For example, if:<br />
File A and file B both have a total comparison value of 65<br />
File A and file B both have a QUALIFIER part comparison value of 12<br />
File A has a FILENAME part comparison value of 10 and file B has a FILENAME<br />
part comparison value of 8<br />
then file A is the best match.<br />
Example<br />
Assume that the file name received on a transfer command is:<br />
<br />
This is converted to the following file-id:<br />
<br />
<br />
<br />
Assume there are the following two previously registered file names:<br />
<br />
where B is a wild card.<br />
File 1 has the following file-id:<br />
<br />
<br />
<br />
<br />
where Z is a wild card.<br />
File 2 has the following file-id:<br />
<br />
<br />
<br />
F-4 3787 3247-111
The comparison values assigned to the file-id would then be:<br />
Part File 1 Values File 2 Values<br />
Qualifier 11 10<br />
Filename 8 12<br />
Element 2 12<br />
Cycle 3 3<br />
Read-Key 6 6<br />
Write-Key 6 6<br />
Element Name 12 12<br />
Element Version 12 12<br />
Total 60 73<br />
Incoming File Transfer<br />
Both file-ids are acceptable, because the incoming file-id matches all the characters in both<br />
the registered file-ids. However, file 2 has a higher total comparison value (73) than file 1.<br />
File 2 is therefore the best match.<br />
3787 3247-111 F-5
<strong>App</strong>endix G<br />
Deregister<br />
When a user issues the Deregister command, the optional keywords specified as part of the<br />
command determine the action that the command performs against files registered with<br />
the specified application-id. The optional keywords are:<br />
Keyword Description<br />
FILENAME Specifies the file name that you should use to find the<br />
file name or names to deregister.<br />
WILDCARD Specifies which character <strong>TAS</strong> should replace with a<br />
wild card indicator when it creates the deregister<br />
file-id.<br />
ALL Specifies whether or not <strong>TAS</strong> should deregister all<br />
matches or just an exact match.<br />
G.1. Deregistering File Names Associated with an<br />
<strong>App</strong>lication-id<br />
To deregister file names associated with an application-id, set the keyword ALL to yes, and<br />
the FILENAME keyword to blanks.<br />
Example<br />
The registered files associated with application-id AAA are:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
The registered files associated with application-id BBG are:<br />
<br />
<br />
<br />
<br />
3787 3247-111 G-1
Deregistering File Names Associated with an <strong>App</strong>lication-id<br />
<br />
<br />
<br />
<br />
The user’s Deregister command is:<br />
<strong>App</strong>lication-id = AAA<br />
Filename = Blank<br />
Wild Card = Blank<br />
All = Yes<br />
The result is:<br />
Both entries under application-id AAA are removed.<br />
G-2 3787 3247-111
Deregistering File Names That Have No Associated Wildcard<br />
G.2. Deregistering File Names That Have No<br />
Associated Wildcard<br />
To deregister file names that have no associated wildcard, set the FILENAME keyword to<br />
the file name that you want to deregister, and the WILDCARD keyword to blanks.<br />
Example<br />
The registered files associated with application-id AAA are:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
The registered files associated with application-id BBG are:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
The user’s Deregister command is:<br />
<strong>App</strong>lication-id = BBG<br />
Filename = opt*abc.ggh<br />
Wild Card = Blank<br />
All = No<br />
3787 3247-111 G-3
Deregistering File Names That Have No Associated Wildcard<br />
The file-id generated from the Deregister command filename is:<br />
<br />
<br />
<br />
The result is:<br />
Only File 2 under application-id BBG is removed.<br />
G-4 3787 3247-111
Deregistering File Names That Match a Specified File Name<br />
G.3. Deregistering File Names That Match a<br />
Specified File Name<br />
To deregister file names that match a specified file name, set the FILENAME keyword to<br />
the file name that you want to deregister, the WILDCARD keyword to the wildcard<br />
character to be used to deregister a file, and the ALL keyword to yes.<br />
Example<br />
The registered files associated with application-id AAA are:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
The registered files associated with application-id BBG are:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
3787 3247-111 G-5
Deregistering File Names That Match a Specified File Name<br />
The user’s Deregister command is:<br />
<strong>App</strong>lication-id = BBG<br />
Filename = Zbc*ZefZ<br />
Wild Card = Z<br />
All = Yes<br />
The file-id generated from the Deregister command filename is:<br />
<br />
<br />
<br />
The result is:<br />
Files 1, 4, and 5 under application-id BBG are deregistered.<br />
G-6 3787 3247-111
Deregistering File Names That Were Registered With a Wildcard<br />
G.4. Deregistering File Names That Were<br />
Registered With a Wildcard<br />
To deregister file names that were registered with a wildcard, set the FILENAME keyword<br />
to the file name that you want to deregister, the WILDCARD keyword to the wildcard<br />
character to be used to deregister a file, and the ALL keyword to no.<br />
Example<br />
The registered files associated with application-id AAA are:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
The registered files associated with application-id BBG are:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
3787 3247-111 G-7
Deregistering File Names That Were Registered With a Wildcard<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
The user’s Deregister command is:<br />
<strong>App</strong>lication-id = BBG<br />
Filename = Zbc*ZefZ<br />
Wild Card = Z<br />
All = No<br />
The file-id generated from the Deregister command filename is:<br />
<br />
<br />
<br />
The result is:<br />
File 6 under application-id BBG is removed.<br />
G-8 3787 3247-111
Glossary<br />
A<br />
absolute<br />
An element type for an OS 2200 program file. An absolute element is an executable<br />
machine-language element produced by the OS 2200 collector from relocatable elements.<br />
absolute element<br />
An element containing a complete program in executable form.<br />
alphanumeric character string<br />
A string that contains letters, digits, special characters, and the space character.<br />
C<br />
checkpoint marker<br />
Coding used to indicate error recovery restart points in case of failure during data<br />
transmission. In an OSI environment, this is known as a serial point synchronization<br />
number.<br />
CMS 1100<br />
Communications management system; the system software program that provides all<br />
communications and network capabilities under OS 2200.<br />
collect<br />
collector<br />
To use the OS 2200 collector (MAP processor) to process object module elements and<br />
produce absolute elements. Collectand map are used synonymously in OS 2200<br />
documentation.<br />
The OS 2200 MAP processor, which processes object module elements and produces<br />
absolute elements. The collector is a component of the OS 2200 system control software.<br />
configuration<br />
The arrangement of a computer system or network as defined by the nature, number, and<br />
the chief characteristics of its functional units. The term may refer to a hardware or a<br />
software configuration. This can also refer to the devices and programs that make up a<br />
system, subsystem, or network.<br />
3787 3247-111 Glossary-1
Glossary<br />
D<br />
DCA<br />
DCP<br />
DDN<br />
See distributed communications architecture.<br />
See distributed communications processor.<br />
See defense data network.<br />
defense data network (DDN)<br />
Previous name for <strong>TAS</strong>.<br />
distributed communications architecture (DCA)<br />
The proprietary architecture for Unisys computer systems; the Unisys network<br />
architecture that draws together all aspects of the communications products by defining a<br />
set of logical concepts and rules (protocols and interfaces). These guidelines are used in<br />
the design of hardware, software, and network products.<br />
distributed communications processor (DCP)<br />
A programmable communications processor hardware unit that executes Telcon and DCP<br />
operating system (DCP/OS) software and serves as a communications subsystem that<br />
provides connections between hosts in a network; a modular communications processor<br />
that can be tailored to the needs of a broad range of users who implement Unisys<br />
distributed communications architecture. It performs the network management function,<br />
rather than the host.<br />
dump<br />
The contents of main storage at a particular moment, usually for a particular processor or<br />
program. A dump can be printed or placed in a mass storage or tape file. Specifically<br />
$ A formatted dump is a dump that has been processed then printed to present the main<br />
storage bits in an orderly or condensed manner that is easier for a person to read than<br />
a continuous series of 0 and 1 characters.<br />
$ An online dump occurs without interrupting execution of the system, processor, or<br />
program.<br />
$ An automatic dump can occur when the system, processor, or program terminates<br />
abnormally due to an error.<br />
Glossary-2 3787 3247-111
H<br />
Glossary<br />
heterogeneous network<br />
A network comprised of hosts using different operating systems; in this case, both OS 2200<br />
and non-OS 2200 hosts.<br />
homogeneous network<br />
A network comprised of hosts using the same operating systems; in this case, OS 2200<br />
systems.<br />
host<br />
host id<br />
I<br />
interface<br />
A computer system, personal computer, or work station connected to a data transmission<br />
facility (a data transmission network in the case of DDP) that executes application or<br />
system programs on behalf of its users.<br />
The identifier for a local or remote host in the network, defined in the <strong>TCP</strong>/<strong>IP</strong> configuration<br />
and specified in internet physical address format or in logical host name format.<br />
A facility provided by a software product to enable a computer user or program to use the<br />
product or exchange input and output with the product.<br />
internet physical address<br />
A host-id specified in a format that consists of a network number, a host number, and an<br />
interface message processor number, each separated by a hyphen or period. Often<br />
associated with a logical host name for ease of use.<br />
L<br />
LAN<br />
See local area network.<br />
local area network (LAN)<br />
A data communications network with high-speed communications capabilities.<br />
local host<br />
The host to which you are physically attached.<br />
logical host name<br />
A descriptive, easy-to-use host-id that is associated with, and translates to, an internet<br />
physical address. For example, three hosts at a site in New York could be given the logical<br />
host names of NY01, NY02, and NY03.<br />
3787 3247-111 Glossary-3
Glossary<br />
N<br />
network<br />
O<br />
omnibus<br />
Two or more independent computers (hosts) that are logically or geographically separated<br />
and electronically linked by data communications devices for the purpose of exchanging<br />
information.<br />
An element type for an OS 2200 program file. Programmers specify an omnibus element<br />
type when absolute, relocatable, or symbolic is not appropriate.<br />
object module element<br />
An element containing part of a program in a form that is combined with other object<br />
module elements to produce an executable program (output object module element). An<br />
object module element is the output of a language processor.<br />
P<br />
packet switching<br />
A data conversion routine usually used in public data networks to split a message into<br />
uniformly sized packets for transmission and restored at the destination to its original form.<br />
PDN<br />
See public data network.<br />
program-callable interface<br />
Software routines that enable a software product to exchange input and output with a<br />
program written in a particular programming language. These routines consist of a limited<br />
set of statements or function calls that are compatible with the programming language.<br />
protocol<br />
A set of rules which controls network communication by defining the structure, content,<br />
sequencing procedures, and error detection and recovery techniques for data transmission.<br />
public data network (PDN)<br />
A network of line connections to various points furnished by a regulated carrier such as a<br />
telephone company. A communication network developed for the transmission of data and<br />
usually made accessible only to subscribers who share the network.<br />
Glossary-4 3787 3247-111
Q<br />
qualifier<br />
R<br />
A prefix for a file name on an OS 2200 system. An asterisk (*) character separates the<br />
qualifier and the rest of the file name.<br />
remote host<br />
Any host in the network other than the one to which you are physically attached.<br />
run stream (runstream)<br />
A series of OS 2200 executive control language statements and any input, data,<br />
or programs associated with them.<br />
S<br />
SDF<br />
session<br />
See system data format.<br />
Glossary<br />
A logical connection between two network-addressable units (termination systems, end<br />
users, etc.) that can be activated, tailored to provide various protocols, and deactivated, as<br />
requested. The session activation request and response can determine options for the rate<br />
and concurrency of data exchange, the control of contention and error recovery, and the<br />
characteristics of the data stream. Sessions compete for network resources, such as the<br />
links within the path control network.<br />
source host<br />
The host that sends a file or records in any transfer operation.<br />
symbolic element<br />
An element type for an OS 2200 program file. A symbolic element can contain a source<br />
program or subprogram written in a programming language, directives to an OS 2200<br />
software processor, executive control language statements, or input for a program or<br />
OS 2200 software processor. Symbolic elements contain text in system data format (SDF).<br />
Typically, OS 2200 text editors create symbolic elements.<br />
system data format (SDF)<br />
A sequential record format used by OS 2200 software for store data. SDF recognizes data<br />
records and control records. Data records contain the data (the text of a record, for<br />
example). Control records provide special control information about the data, such as line<br />
numbers, page, and size. Symbolic elements are assumed to use SDF.<br />
3787 3247-111 Glossary-5
Glossary<br />
T<br />
<strong>TCP</strong>/<strong>IP</strong><br />
Telcon<br />
T<strong>IP</strong><br />
See transmission control protocol/internet protocol.<br />
A Unisys program product that is a distributed communications operating system for<br />
implementation of distributed communications architecture (DCA). The software resides<br />
and executes in a distributed communications processor (DCP).<br />
Transaction processing; allows the execution of transaction processing programs. These<br />
programs may be written in assembler language or in a high-level compiler language. OS<br />
2200 T<strong>IP</strong> provides a general transaction processing capability that allows a remote terminal<br />
operator to initiate the execution of a preregistered program at the central computer site.<br />
Once in execution, the transaction program has access to the full capabilities of the OS<br />
2200 executive system, as well as to the specialized capabilities and services of T<strong>IP</strong>.<br />
transmission control protocol/internet protocol<br />
Called <strong>TCP</strong>/<strong>IP</strong>, this is a set of data transmission protocols originally defined for the United<br />
States Department of Defense data network. This is now a widely used transmission<br />
protocol and is not limited to use by the Department of Defense.<br />
U<br />
Universal Compiling System (UCS) <strong>FORTRAN</strong><br />
The <strong>FORTRAN</strong> programming language used to write programs for the OS 2200 Universal<br />
Compiling System (UCS) <strong>FORTRAN</strong> compiler (UFTN). Symbolic elements written in the<br />
<strong>FORTRAN</strong> language, then compiled by the UCS <strong>FORTRAN</strong> compiler, produce output<br />
object module elements.<br />
UDLC<br />
Seeuniversal data link control.<br />
universal data link control<br />
The Unisys line control method for data transfer over communication lines.<br />
user name<br />
A 1- to 20-character name that identifies you on your host.<br />
Glossary-6 3787 3247-111
X<br />
Glossary<br />
X.25 public data network<br />
A packet-switched public data network that conforms to Consultative Committee for<br />
International Telegraph and Telephone (CCITT) standard X.25, which defines a protocol<br />
for communication between packet-switched public data networks and devices operating<br />
in packet-switched mode.<br />
3787 3247-111 Glossary-7
Bibliography<br />
OS 1100 Universal Compiling System (UCS) <strong>FORTRAN</strong> <strong>Programming</strong> Reference<br />
Manual (7830 7477). Unisys Corporation.<br />
OS 2200 Distributed Data Processing (DDP-PPC) <strong>TCP</strong>/<strong>IP</strong> Interface C Language<br />
<strong>Programming</strong> <strong>Guide</strong> (3787 3254). Unisys Corporation.<br />
OS 2200 Distributed Data Processing (DDP-PPC) <strong>TCP</strong>/<strong>IP</strong> Interface COBOL<br />
<strong>Programming</strong> <strong>Guide</strong> (3789 6651). Unisys Corporation.<br />
OS 2200 Distributed Data Processing (DDP-PPC) <strong>TCP</strong>/<strong>IP</strong> Interface <strong>FORTRAN</strong><br />
<strong>Programming</strong> <strong>Guide</strong> (3789 6669). Unisys Corporation.<br />
OS 2200 Distributed Data Processing (DDP-PPC/DDP-FJT) Messages Reference Manual<br />
(3787 3528). Unisys Corporation.<br />
OS 2200 Interactive Processing Facility (<strong>IP</strong>F 1100) Command Language Operations<br />
<strong>Guide</strong> (7833 3788). Unisys Corporation.<br />
OS 2200 <strong>TCP</strong>/<strong>IP</strong> <strong>App</strong>lication <strong>Services</strong> (<strong>TAS</strong>) C Language <strong>Programming</strong> <strong>Guide</strong><br />
(4173 5135). Unisys Corporation.<br />
OS 2200 <strong>TCP</strong>/<strong>IP</strong> <strong>App</strong>lication <strong>Services</strong> (<strong>TAS</strong>) COBOL <strong>Programming</strong> <strong>Guide</strong> (3787 3205).<br />
Unisys Corporation.<br />
OS 2200 <strong>TCP</strong>/<strong>IP</strong> <strong>App</strong>lication <strong>Services</strong> (<strong>TAS</strong>) File Transfer User <strong>Guide</strong> (3787 3213).<br />
Unisys Corporation.<br />
OS 2200 <strong>TCP</strong>/<strong>IP</strong> <strong>App</strong>lication <strong>Services</strong> (<strong>TAS</strong>) Installation and Administration <strong>Guide</strong><br />
(3787 3221). Unisys Corporation.<br />
OS 2200 <strong>TCP</strong>/<strong>IP</strong> <strong>App</strong>lication <strong>Services</strong> (<strong>TAS</strong>) Mail Processor User <strong>Guide</strong> (3787 3239).<br />
Unisys Corporation.<br />
3787 3247-111 Bibliography-1