Heading:
Mesa FTP Functional Specification
Page Numbers: Yes X: 527 Y: 10.5" First Page: 1 Roman
Table of Contents
Preface iv
1. Introduction 1
1.1 Purpose 1
1.2 Program structure 1
1.3 File naming conventions 1
1.4 Exception handling 2
FTPError
2. FTP 5
2.1 Program management primitives 5
FTPInitialize, FTPFinalize
3. FTP User 6
3.1 Program management primitives 6
FTPCreateUser, FTPDestroyUser
3.2 Connection management primitives 7
FTPOpenConnection, FTPRenewConnection, FTPCloseConnection
3.3 File access and specification primitives 8
FTPSetCredentials, FTPSetFilenameDefaults
3.4 File enumeration primitives 9
FTPEnumerateFiles
3.5 File transfer primitives 10
FTPStoreFile, FTPRetrieveFile
3.6 File manipulation primitives 12
FTPDeleteFile, FTPRenameFile
4. FTP Listener 13
4.1 Program management primitives 13
FTPCreateListener, FTPDestroyListener
4.2 Server monitoring 14
5. FTP Support Systems 16
5.1 File primitives 16
AltoFilePrimitives
5.2 Mail primitives 16
SysMailPrimitives, SomeMailPrimitives
5.3 Communication primitives 16
PupCommunicationPrimitives
References 18
Appendix A: Error Summary 20
A.1 Introduction 20
A.2 Errors 20
Appendix B: Dump Primitives 29
B.1 Introduction 29
B.2 Inventory primitives 29
FTPInventoryDumpFile
B.3 Construction primitives 30
FTPBeginDumpFile, FTPEndDumpFile
Appendix C: Mail Primitives 32
C.1 Introduction 32
C.2 Delivery primitives 32
FTPBeginDeliveryOfMessage, FTPSendRecipientOfMessage, FTPIdentifyNextRejectedRecipient, FTPSendBlockOfMessage, FTPEndDeliveryOfMessage
C.3 Retrieval primitives 33
FTPBeginRetrievalOfMessages, FTPIdentifyNextMessage, FTPRetrieveBlockOfMessage, FTPEndRetrievalOfMessages
Appendix D: Miscellaneous Primitives 36
D.1 Introduction 36
D.2 Infrequently used connection management primitives 36
FTPSetContactSocket, FTPEnableTrace, FTPDisableTrace
D.3 Infrequently used file transfer primitives 36
FTPTransferFile, FTPNoteFilenameUsed, FTPSetBufferSize
D.4 Other primitives 39
FTPCatchUnidentifiedErrors
Appendix E: Client File Primitives 40
E.1 Description of the option 40
E.2 Exercising the option 40
E.3 General characteristics 41
E.4 Program management primitives 42
CreateFileSystem, DestroyFileSystem
E.5 Filename manipulation primitives 42
DecomposeFilename, ComposeFilename
E.6 Access control primitives 43
InspectCredentials
E.7 File enumeration primitives 44
EnumerateFiles
E.8 File transfer primitives 45
OpenFile, ReadFile, WriteFile, CloseFile
E.9 File manipulation primitives 47
DeleteFile, RenameFile
E.10 Usage of file primitives by FTP 47
Appendix F: Client Mail Primitives 50
F.1 Description of the option 50
F.2 Exercising the option 50
F.3 General characteristics 51
F.4 Program management primitives 51
CreateMailSystem, DestroyMailSystem
F.5 Access control primitives 52
InspectCredentials
F.6 Mailbox identification primitives 53
LocateMailboxes
F.7 Mail delivery primitives 53
StageMessage, DeliverMessage, ForwardMessage
F.8 Mail retrieval primitives 55
RetrieveMessages
Appendix G: Client Communication Primitives 56
G.1 Description of the option 56
G.2 Exercising the option 56
G.3 General characteristics 57
G.4 Program management primitives 58
CreateCommunicationSystem, DestroyCommunicationSystem
G.5 Connection management primitives 59
OpenConnection, CloseConnection, ActivatePort, DeactivatePort
G.6 Data transmission primitives 61
SendBytes, SendByte, ProduceDiscontinuity, ForceOutput
G.7 Data receipt primitives 62
ReceiveBytes, ReceiveByte, ConsumeDiscontinuity
Appendix H: Sample Configuration and Program 64
H.1 Introduction 64
H.2 Sample configuration 64
H.3 Sample program 65
Appendix I: Production Configurations and File Locations 67
I.1 Introduction 67
I.2 Production configurations 67
Appendix J: Utilities 69
J.1 TimeExtraDefs 69
PackedTimeFromString
J.2 DirExtraDefs 69
EnumerateDirectoryMasked
Preface
This document details the procedural interface to Version 6.0 of the Mesa File Transfer Package (FTP). FTP 6.0 provides a wide range of capabilities, only a subset of which are typically required by any particular application. To use FTP for simple file transfer, for example, the programmer need only consult the body of this document and Appendices H and I. Comments, bug reports, suggestions for change or addition, and cries for help should be addressed to your support group.