CONTENTS Title Page Copyright Page Preface 1 VAXELN File, Network, and Security Services Overview 1.1 Auxiliary Services: A Component of a VAXELN System 1.2 How to Include the VAXELN Auxiliary Services in Your Application 1.3 The VAXELN File, Network, and Security Services 1.3.1 File Service 1.3.2 Ethernet/IEEE 802 Datagram Service 1.3.3 DECnet Service 1.3.4 Internet Services 1.3.5 LAT Host Services 1.3.6 Authorization Service 2 File Service 2.1 Device Specifications 2.2 Volume Names 2.3 File Specifications 2.4 Procedure for Mounting Multiple Volumes with Identical Volume Labels 2.5 DISK$DEFAULT_VOLUME Device Name 2.6 File Access Listener 2.7 File Service Volumes from VMS Systems 2.8 File Service Operations 2.9 Managing Files 2.9.1 Copying Files 2.9.1.1 File Transfer Mode 2.9.1.2 File Block Allocation 2.9.1.3 File Truncation 2.9.2 Deleting Files 2.9.3 Setting the Protection of Files 2.9.4 Renaming Files 2.9.5 Creating Directories 2.9.6 Opening Directories 2.9.7 Closing Directories 2.9.8 Listing the Contents of Directories 2.9.9 Setting a Default File Specification 2.10 Managing Disks 2.10.1 Mounting a Disk 2.10.2 Initializing a Disk 2.10.3 Dismounting a Disk 2.11 Managing Tapes 2.11.1 Mounting a Tape 2.11.2 Initializing a Tape 2.11.3 Dismounting a Tape 2.12 File Service Interface for Disk and Tape Drivers 2.13 Data Access Protocol 2.13.1 DAP General Principles 2.13.2 Action Routines and DAP$SERVER 2.13.3 DAP Data Types 2.13.4 DAP Constants 2.13.5 DAP Wildcard Functions 3 Ethernet/IEEE 802 Datagram Service 3.1 Retrieving a CSMA/CD LAN Configuration 3.1.1 Ethernet Controller Device Types 3.1.2 Ethernet Controller Device Names 3.1.3 Ethernet Controller Control Ports 3.1.4 Ethernet Controller Data Ports 3.2 Retrieving Ethernet Controller Attributes 3.2.1 Ethernet Controller Hardware Addresses 3.2.2 Ethernet Controller Physical Addresses 3.3 Connecting and Disconnecting an Ethernet/IEEE 802 Protocol 3.3.1 Portals 3.3.2 Dispatch Ports 3.3.3 Message Format and Multiplexing 3.3.4 User Data 3.3.5 Promiscuous Mode 3.3.6 Multicast Addresses 3.3.7 Group Service Access Points (SAPs) 3.3.8 LLC Classes 3.3.9 Padded Ethernet Protocols 3.4 Transmitting and Receiving Messages 3.4.1 Allocating a Message Buffer 3.4.2 Transmitting Messages 3.4.3 Transmit Status and Retrieving Transmitted Messages 3.4.4 Receiving Messages 3.5 Setting Up an Ethernet/IEEE 802 Datagram Service Environment 4 DECnet Service 4.1 DECnet Service Protocols 4.2 Message Transmission Services 4.3 Name Service 4.3.1 Name Server 4.3.2 Kernel and Name Service Interaction 4.3.3 Name Server Election 4.4 Network Management Services 4.4.1 Managing VAXELN DECnet Systems from a VMS Host System 4.4.2 Testing the DECnet Service 4.4.3 Using the Network Management Service 4.4.3.1 Initializing DECnet Node Address at Runtime 4.4.3.2 Stopping and Starting DECnet Software to Reduce Network Overhead 4.4.3.3 Switching DECnet Software Between Ethernet Controllers 4.4.4 Using the Downline Load Service 4.4.4.1 Establishing Circuits for Downline Load Service Communication 4.4.4.2 Managing and Monitoring Database Node Entries 4.4.4.3 Managing and Monitoring Database Line Entries 4.4.4.4 Managing Target-Initiated Downline Load Requests 4.4.4.5 Trigger Booting a VAXELN Target Node 4.4.4.6 Downline Loading VAXELN Systems 4.5 Services for Communicating with DECnet Nodes 4.5.1 Specifying Nodes 4.5.1.1 Using Node Names and Node Numbers in VMS Systems 4.5.1.2 Using Node Numbers in VAXELN Systems 4.5.2 Requesting Connections from VAXELN Systems 4.5.3 Accepting Connections on VMS Systems 4.5.4 Requesting Connections from VMS Systems 4.5.5 Accepting Connections on VAXELN Systems 4.5.6 Using DECnet Object Numbers in Connection Requests 4.6 Remote Terminal Utility 5 Internet Services 5.1 Internet Service Concepts 5.1.1 Client-Server Model 5.1.2 Internet Architecture 5.1.2.1 Internet Protocol 5.1.2.2 User Datagram Protocol 5.1.2.3 Transmission Control Protocol 5.1.3 Internet Addresses 5.1.3.1 Network Classes 5.1.3.2 Network Mask 5.1.3.3 Broadcast Mask 5.1.4 Ports as Internet Communication Endpoints 5.1.5 Sockets 5.1.5.1 Connection Socket Communication 5.1.5.2 Connectionless Socket Communication 5.1.6 Routing 5.1.7 Fragmentation 5.2 Configuring Internet Services 5.3 Controlling Internet Services 5.3.1 Managing the ARP Cache 5.3.1.1 Adding and Deleting ARP Cache Entries 5.3.1.2 Retrieving Ethernet Addresses from the ARP Cache 5.3.1.3 Retrieving ARP Cache Entries 5.3.2 Managing the Internet Routing Table 5.3.2.1 Adding and Deleting Routing Table Entries 5.3.2.2 Checking the Status of Routing Table Entries 5.3.2.3 Retrieving Routing Table Entries 5.3.3 Managing Internet Network Interfaces 5.3.3.1 Setting Internet Network Interfaces 5.3.3.2 Retrieving Internet Network Interface Characteristics 5.3.3.3 Monitoring Internet Network Interface Changes 5.3.4 Retrieving Internet Performance and Error Data 5.3.5 Retrieving TCP Connection Data 5.4 Using the File Transfer Protocol (FTP) Client Routines 5.4.1 Manipulating Directories and File Names 5.4.2 Transferring Files 5.5 TELNET Protocol Server 5.5.1 Including TELNET Support 5.5.2 TELNET Commands and Options Supported 5.5.3 Terminal Types Recognized by TELNET 5.5.4 DDA Routines Supported by TELNET 5.5.5 Setting the TCP/IP Port Number and Number of TELNET Sessions 5.5.6 TELNET Error Messages 5.6 Converting the Byte Order of Network and Host Binary Data 5.7 Manipulating Internet Addresses 5.8 Programming Internet Communication 5.8.1 Creating Sockets 5.8.2 Binding Names to Sockets 5.8.3 Controlling Socket Characteristics 5.8.4 Establishing Connections for Socket Communication 5.8.4.1 Initiating Socket Connections 5.8.4.2 Creating a Queue for Pending Connection Requests 5.8.4.3 Accepting Socket Connections 5.8.5 Transferring Data 5.8.5.1 Sending Data to Sockets 5.8.5.2 Receiving Data from Sockets 5.8.5.3 Polling Sockets for I/O Activity 5.8.6 Shutting Down Sockets 5.8.7 Closing Sockets 5.8.8 Programming Socket Communication for a UDP Application 5.8.9 Programming Socket Communication for a TCP/IP Application 5.9 Retrieving and Setting Socket Characteristics 5.9.1 Retrieving Socket Names 5.9.2 Setting Socket Characteristics 5.9.3 Retrieving Socket Options 6 LAT Host Services 6.1 LAT Host Services Overview 6.2 Establishing Circuits for LAT Communication 6.2.1 Connecting to a LAT Control Port 6.2.2 Creating a VAXELN LAT Port 6.2.3 Connecting to a DDA Port 6.3 Managing VAXELN Service Nodes 6.3.1 Retrieving and Setting Service Node Characteristics 6.3.1.1 Node Names 6.3.1.2 Node Identification Strings 6.3.1.3 LAT Network Groups 6.3.1.4 Multicast Timer 6.3.1.5 Service Node States 6.3.2 Managing Service Node Services 6.3.2.1 Creating and Deleting Services 6.3.2.2 Changing Service Characteristics 6.3.2.3 Advertising Services 6.3.3 Retrieving LAT Port Characteristics 6.3.3.1 LAT Port Names 6.3.3.2 Queue Statuses 6.3.3.3 Remote Server Names 6.3.3.4 Remote Port Names 6.3.4 Retrieving Terminal Server Characteristics 6.3.5 Monitoring LAT Network Performance and Error Statistics 6.4 Setting Up a Dedicated Service Environment 6.5 Setting Up an Application Device Environment 6.6 Retrieving and Setting Terminal Characteristics 7 System Security 7.1 Security Features Overview 7.2 User Names and Identification Codes 7.3 Authorization Service 7.3.1 Including the Authorization Service 7.3.2 Authorization Service Utility Routines 7.3.3 Establishing Circuits for Authorization Service Communication 7.3.4 Adding Users to the Authorization Database 7.3.5 Modifying Records in the Authorization Database 7.3.6 Removing User Records from the Authorization Database 7.3.7 Retrieving Authorization Database Information 7.4 User Identities 7.5 File Service Security A File, Network, and Security Service Status Values EXAMPLES 2-1 Initializing a Disk 3-1 Retrieving a CSMA/CD LAN Configuration 3-2 Retrieving Ethernet Controller Attributes 3-3 Connecting and Disconnecting an Ethernet Protocol 3-4 Example Showing Call to NI ALLOCATE BUFFER 3-5 Transmitting a Message over a CSMA/CD LAN 3-6 Use of NI TRANSMIT STATUS 3-7 Receiving Messages over a CSMA/CD LAN 3-8 Sample Network Interface Application 4-1 Setting Fields for the NETMAN START NETWORK Routine 4-2 NETMAN START NETWORK and NETMAN STOP NETWORK 4-3 Switching Ethernet Controllers 4-4 Establishing a Circuit for Downline Load Communication 4-5 Managing and Monitoring Downline Load Database Node Entries 4-6 Managing and Monitoring Downline Load Database Line Entries 4-7 Trigger Booting a VAXELN Target Node 4-8 Downline Loading a VAXELN System Image 5-1 Addition and Deletion of an ARP Cache Entry 5-2 The FIND ARP ENTRY Routine 5-3 The INET SHOW ARP ENTRIES Routine 5-4 The INET DELETE ROUTE Routine 5-5 The INET CHECK ROUTE Routine 5-6 The INET SHOW ROUTE Routine 5-7 The INET SET INTERFACE Routine 5-8 The INET SHOW INTERFACE Routine 5-9 How to Monitor an Internet Interface 5-10 The INET SHOW TCP STATISTICS Routine 5-11 The INET SHOW TCP CONNECTIONS Routine 5-12 The FTP CREATE DIRECTORY Routine 5-13 The FTP DELETE FILE Routine 5-14 The FTP DIRECTORY LIST Routine 5-15 The FTP REMOVE DIRECTORY Routine 5-16 The FTP RENAME FILE Routine 5-17 The FTP GET FILE Routine 5-18 The FTP PUT FILE Routine 5-19 The STI SOCKET Routine 5-20 The STI BIND Routine 5-21 The STI GET SDC and STI SOCKET CONTROL Routines 5-22 The STI CONNECT Routine 5-23 The STI LISTEN Routine 5-24 The STI ACCEPT Routine 5-25 The STI SEND Routine 5-26 The STI SENDTO Routine 5-27 The STI RECV Routine 5-28 The STI RECVFROM Routine 5-29 The STI SELECT Routine 5-30 The STI SHUTDOWN Routine 5-31 The STI CLOSE Routine 5-32 Sample UDP Server 5-33 Sample UDP Client 5-34 Sample TCP/IP Server 5-35 Sample TCP/IP Client 6-1 Connecting to a Local LAT Control Port 6-2 Creating an Application LAT Port 6-3 Connecting to a DDA Port 6-4 The LAT SHOW CHAR Routine 6-5 The LAT SET NODE Routine 6-6 The LAT CREATE SERVICE Routine 6-7 The LAT SET SERVICE Routine 6-8 The LAT START NODE Routine 6-9 The LAT STOP NODE Routine 6-10 The LAT SHOW PORT Routine 6-11 The LAT SHOW SERVERS Routine 6-12 The LAT SHOW COUNTERS Routine 6-13 LAT Dedicated Service 6-14 LAT Application Service 7-1 Establishing a Circuit to the Authorization Service 7-2 Adding a Record to the Authorization Database 7-3 Example Showing Use of the AUTH MODIFY USER Routine 7-4 Example Showing Use of the AUTH REMOVE USER Routine 7-5 The AUTH SHOW USER Routine in Pascal 7-6 The AUTH SHOW USER Routine in Ada 7-7 Example Showing Use of the GET USER Routine FIGURES 1-1 VAXELN System Software 2-1 DAP Message Transmission (Read Request) 3-1 A Two-Node VAXELN Network Using the Datagram Service 4-1 A Two-Node VAXELN Network Using the DECnet Service 4-2 Target-Initiated Downline Load Request 4-3 Trigger Boot Request 4-4 Downline Load Request 5-1 Client-Server Model 5-2 Internet Layers 5-3 Routing Table 5-4 Routing Algorithm 6-1 Sample VAXELN LAT Configuration 6-2 VAXELN LAT Port 6-3 Dedicated Service Environment 6-4 Application Device Environment 7-1 Authorization Service Example 7-2 Protection Mask TABLES 1-1 File, Network, and Security Services 2-1 Storage Device Types 3-1 Ethernet Controller Device Types 3-2 Sample Ethernet Controller Device Names 3-3 Portal Message Formats 3-4 Portal Multiplexing Fields 4-1 Downline Load Routines 4-2 Downline Load Database Node Characteristics 4-3 Downline Load Field Names and Mask Values 4-4 Downline Load Database Line Characteristics 4-5 Additional Downline Load Field Names and Mask Values 4-6 Field Names and Mask Values for DLL TRIGGER Routine 4-7 Field Names and Mask Values for the DLL LOAD Routine 5-1 UDP Characteristics 5-2 TCP Characteristics 5-3 Network Class Number Ranges 5-4 Broadcast Addresses 5-5 Socket Protocol Types 5-6 Field Names and Mask Values Used by the INET SHOW ARP ENTRIES Routine 5-7 Field Names and Mask Values Used by the INET SET ROUTE Routine 5-8 Field Names and Mask Values for the INET CHECK ROUTE Routine 5-9 Field Names and Mask Values for the INET SHOW ROUTE Routine 5-10 Routines to Manage Internet Network Interfaces 5-11 Field Names and Mask Values for the INET SET INTERFACE Routine 5-12 Routines for Monitoring Internet Network Changes 5-13 Internet SHOW Routines 5-14 Information Returned by Internet SHOW Routines 5-15 State Field Names and Mask Values for the INET SHOW TCP CONNECTIONS Routine 5-16 Option Field Names and Mask Values for the INST SHOW TCP CONNECTIONS Routine 5-17 List of Available FTP Routines 5-18 VAXELN TELNET Control Commands 5-19 Terminal Types Recognized by the TELNET Server 5-20 DDA Routines Supported by TELNET 5-21 Default DDA Terminal Characteristics Used by TELNET 5-22 Byte Order Conversion Routines 5-23 Internet Address Manipulation Routines 5-24 Socket Interface Routines 5-25 Calling Sequence for Socket Communication 5-26 Routines to Get and Set Socket Characteristics 5-27 Socket-Level Socket Options 6-1 LAT Utility Routines Requiring a LAT Control Port 6-2 LAT Utility Routines Requiring a DDA Port 6-3 Performance and Error Counters Stored by the LAT Driver 7-1 Authorization Service Utility Routines 7-2 Authorization Utility Definition Modules A-1 Status Values/Exception Names