SUPER-UX Network Programmer's Guide
Contents
Proprietary Notice
Documentation Log
Introduction
Chapter 1 Introduction
- 1.1 ISO Reference Model
- 1.2 Network Protocols on SUPER-UX
- 1.2.1 Lower-Layer Protocols
- 1.2.2 Upper-Layer Protocols
- 1.3 Application Interfaces
Chapter 2 Socket Interface
- 2.1 Introductory Interprocess Communication Tutorial
- 2.1.1 Goals
- 2.1.2 Processes
- 2.1.3 Pipes
- 2.1.4 Socketpairs
- 2.1.5 Domains and Protocols
- 2.1.6 Datagrams in the UNIX Domain
- 2.1.7 Datagrams in the Internet Domain
- 2.1.8 Connections
- 2.1.9 Reads, Writes, and Recvs
- 2.1.10 Choices
- 2.1.11 What to Do Next
- 2.2 Advanced Interprocess Communication Tutorial
- 2.2.1 Introduction
- 2.2.2 Basics
- 2.2.2.1 Socket Types
- 2.2.2.2 Socket Creation
- 2.2.2.3 Binding Local Names
- 2.2.2.4 Connection Establishment
- 2.2.2.5 Data Transfer
- 2.2.2.6 Discarding Sockets
- 2.2.2.7 Connectionless Sockets
- 2.2.2.8 Input/Output Multiplexing
- 2.2.3 Network Library Routines
- 2.2.3.1 Host Names
- 2.2.3.2 Network Names
- 2.2.3.3 Protocol Names
- 2.2.3.4 Service Names
- 2.2.3.5 Miscellaneous
- 2.2.4 Client/Server Model
- 2.2.4.1 Servers
- 2.2.4.2 Clients
- 2.2.4.3 Connectionless Servers
- 2.2.5 Advanced Topics
- 2.2.5.1 Socket Options and ioctls
- 2.2.5.2 Out-of-Band Data
- 2.2.5.3 Nonblocking Sockets
- 2.2.5.4 Interrupt Driven Socket I/O
- 2.2.5.5 Pseudo Terminals
- 2.2.5.6 Selecting Specific Protocols
- 2.2.5.7 Address Binding
- 2.2.5.8 Broadcasting and Determining Network Configuration
- 2.2.5.9 Socket Options
- 2.2.5.10 Signal and Process
- 2.2.5.11 inetd
Chapter 3 Transport Interface (TLI)
- 3.1 Introduction
- 3.1.1 Service Modes
- 3.1.1.1 Connection-Mode Service
- 3.1.1.2 Connectionless-Mode Service
- 3.1.2 State Transitions
- 3.2 Connection-Mode Service
- 3.2.1 Local Management
- 3.2.1.1 The Client
- 3.2.1.2 The Server
- 3.2.2 Connection Establishment
- 3.2.2.1 The Client
- 3.2.2.2 Event Handling
- 3.2.2.3 The Server
- 3.2.3 Data Transfer
- 3.2.3.1 The Client
- 3.2.3.2 The Server
- 3.2.4 Connection Release
- 3.2.4.1 The Client
- 3.2.4.2 The Server
- 3.3 Connectionless-Mode Service
- 3.3.1 Local Management
- 3.3.2 Data Transfer
- 3.3.3 Datagram Errors
- 3.4 A Read/Write Interface
- 3.4.1 write
- 3.4.2 read
- 3.4.3 Close
- 3.5 Advanced Topics
- 3.5.1 Asynchronous Execution Mode
- 3.5.2 Advanced Programming Example
- 3.6 State Transitions
- 3.6.1 Transport Interface States
- 3.6.2 Outgoing Events
- 3.6.3 Incoming Events
- 3.6.4 Transport User Actions
- 3.6.5 State Tables
- 3.7 Guidelines for Protocol Independence
- 3.8 Examples
- 3.8.1 Connection-Mode Client
- 3.8.2 Connection-Mode Server
- 3.8.3 Connectionless-Mode Transaction Server
- 3.8.4 Read/Write Client
- 3.8.5 Event-Driven Server
Chapter 4 Remote Procedure Calls (RPC)
- 4.1 Remote Procedure Call Guide
- 4.1.1 Introductory Examples
- 4.1.1.1 Highest Layer
- 4.1.1.2 Intermediate Layer
- 4.1.1.3 Assigning Program Numbers
- 4.1.1.4 Passing Arbitrary Data Types
- 4.1.2 Lower Layers of RPC
- 4.1.2.1 More on the Server Side
- 4.1.2.2 Memory Allocation with XDR
- 4.1.2.3 The Calling Side
- 4.1.3 Other RPC Features
- 4.1.3.1 Select on the Server Side
- 4.1.3.2 Broadcast RPC
- 4.1.3.3 Batching
- 4.1.3.4 Authentication
- 4.1.3.5 Using inetd
- 4.1.4 More Examples
- 4.1.4.1 Versions
- 4.1.4.2 TCP
- 4.1.4.3 Callback Procedures
- 4.2 Remote Procedure Call Protocol Specification
- 4.2.1 Requirements
- 4.2.1.1 Remote Programs and Procedures
- 4.2.1.2 Authentication
- 4.2.1.3 Program Number Assignment
- 4.2.2 Other Uses and Abuses of the RPC Protocol
- 4.2.3 The RPC Message Protocol
- 4.3 Authentication Parameter Specification
- 4.3.1 Null Authentication
- 4.3.2 UNIX Authentication
- 4.4 Record Marking Standard
- 4.5 Port Mapper Program Protocol
- 4.5.1 The Port Mapper RPC Protocol
Chapter 5 eXternal Data Representation (XDR)
- 5.1 Introduction
- 5.2 Justification
- 5.3 XDR Library Primitives
- 5.3.1 Number Filters
- 5.3.2 Floating-Point Filters
- 5.3.3 Enumeration Filters
- 5.3.4 No Data
- 5.3.5 Constructed Data Type Filters
- 5.3.5.1 Strings
- 5.3.5.2 Byte Arrays
- 5.3.5.3 Arrays
- 5.3.5.4 Opaque Data
- 5.3.5.5 Fixed-Sized Arrays
- 5.3.5.6 Discriminated Unions
- 5.3.5.7 Pointers
- 5.3.6 Nonfilter Primitives
- 5.3.7 XDR Operation Directions
- 5.4 XDR Stream Access
- 5.4.1 Standard I/O Streams
- 5.4.2 Memory Streams
- 5.4.3 Record (TCP/IP) Streams
- 5.5 XDR Stream Implementation
- 5.5.1 The XDR Object
- 5.6 XDR Standard
- 5.6.1 Basic Block Size
- 5.6.2 Integer
- 5.6.3 Unsigned Integer
- 5.6.4 Enumerations
- 5.6.5 Booleans
- 5.6.6 Hyper Integer and Hyper Unsigned
- 5.6.7 Floating Point and Double Precision
- 5.6.8 Opaque Data
- 5.6.9 Counted Byte Strings
- 5.6.10 Fixed Arrays
- 5.6.11 Counted Arrays
- 5.6.12 Structures
- 5.6.13 Discriminated Unions
- 5.6.14 Missing Specifications
- 5.6.15 Library Primitive/XDR Standard Cross Reference
- 5.7 Advanced Topics
- 5.7.1 Linked Lists
- 5.8 The Record Marking Standard
Chapter 6 RPCGEN
- 6.1 The RPCGEN Protocol Complier
- 6.2 Converting Local Procedures into Remote Procedures
- 6.3 Generating XDR Routines
- 6.4 The C-Preprocessor
- 6.5 RPC Language
- 6.5.1 Definitions
- 6.5.2 Structures
- 6.5.3 Unions
- 6.5.4 Enumerations
- 6.5.5 Typedef
- 6.5.6 Constants
- 6.5.7 Programs
- 6.5.8 Declarations
- 6.5.9 Special Cases
Index
Figures
- 1-1 ISO Reference Model
- 1-2 SUPER-UX Network Protocols
- 2-1 Sharing a Pipe between Parent and Child
- 2-2 Sharing a Socketpair between Parent and Child
- 2-3 Establishing a Stream Connection
- 3-1 Transport Interface
- 3-2 Channel between User and Provider
- 3-3 Transport Connection
- 3-4 Listening and Responding Transport Endpoints
- 4-1 Network Communication with RPC
Tables
- 2-1 C Run-Time Routines
- 2-2 Socket Options
- 2-3 ioctl for Network Programs
- 3-1 Local Management Routines
- 3-2 Connection Establishment Routines
- 3-3 Connection-Mode Data Transfer Routines
- 3-4 Connection Release Routines
- 3-5 Connectionless-Mode Data Transfer Routines
- 3-6 Transport Interface State Transitions
- 3-7 Transport Interface Outgoing Events
- 3-8 Transport Interface Incoming Events
- 3-9 Common Local Management States
- 3-10 Connectionless-Mode States
- 3-11 Connection-Mode States
- 5-1 Library Primitives/XDR Standard Cross Reference