18.08.2013 Views

TCP/IP App. Services (TAS) FORTRAN Programming Guide

TCP/IP App. Services (TAS) FORTRAN Programming Guide

TCP/IP App. Services (TAS) FORTRAN Programming Guide

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!