[ Previous | Next | Table of Contents | Index | Library Home | Legal | Search ]

Communications Programming Concepts


Table of Contents

About This Book

  • Who Should Use This Book
  • Highlighting
  • ISO 9000
  • Related Publications
  • Trademarks
  • Chapter 1. Data Link Control

  • Generic Data Link Control Environment Overview
  • Meeting the GDLC Criteria
  • Implementing GDLC Interface
  • GDLC Interface ioctl Entry Point Operations
  • Service Access Points
  • Link Stations
  • Local-Busy Mode
  • Short-Hold Mode
  • Testing and Tracing Links
  • Statistics
  • GDLC Special Kernel Services
  • GDLC Problem Determination
  • DLC Status Information
  • DLC Error Log
  • DLC Link Station Trace Facility
  • Trace Channels
  • Trace Entry Size
  • Trace Reports
  • Trace Entries
  • LAN Monitor Trace
  • Data Link Control Programming and Reference Information
  • DLC Reference Information
  • DLC Entry Points
  • Kernel Services for DLC
  • Kernel Routines for DLC
  • DLC Extended Parameters for Subroutines and Kernel Services
  • Application Subroutines
  • DLC Operations
  • DLC Programming Procedures
  • Token-Ring Data Link Control Overview
  • DLCTOKEN Device Manager Nodes
  • DLCTOKEN Device Manager Functions
  • DLCTOKEN Protocol Support
  • Station Types
  • Response Modes
  • Token-Ring Data Packet
  • DLCTOKEN Name-Discovery Service
  • LAN Find Data Format
  • LAN Found Data Format
  • Bridge Route Discovery
  • DLCTOKEN Direct Network Services
  • DLCTOKEN Connection Contention
  • Initiating DLCTOKEN Link Sessions
  • Stopping DLCTOKEN Link Sessions
  • DLCTOKEN Programming Interfaces
  • DLC_ENABLE_SAP
  • DLC_START_LS
  • DLC_ALTER
  • DLC_QUERY_SAP
  • DLC_QUERY_LS
  • DLC_ENTER_SHOLD
  • DLC_EXIT_SHOLD
  • DLC_ADD_GROUP
  • DLC_ADD_FUNC_ADDR
  • DLC_DEL_FUNC_ADDR
  • DLC_DEL_GRP
  • IOCINFO
  • IEEE 802.3 Ethernet Data Link Control Overview
  • DLC8023 Device Manager Nodes
  • DLC8023 Device Manager Functions
  • DLC8023 Protocol Support
  • Station Types
  • Response Modes
  • IEEE 802.3 Data Packet
  • DLC8023 Name-Discovery Services
  • LAN Find Data Format
  • LAN Found Data Format
  • DLC8023 Direct Network Services
  • DLC8023 Connection Contention
  • DLC8023 Link Sessions
  • Link Session Termination
  • DLC8023 Programming Interfaces
  • DLC_ENABLE_SAP
  • DLC_START_LS
  • DLC_ALTER
  • DLC_QUERY_SAP
  • DLC_QUERY_LS
  • DLC_ENTER_SHOLD
  • DLC_EXIT_SHOLD
  • DLC_ADD_GROUP
  • DLC_ADD_FUNC_ADDR
  • DLC_DEL_FUNC_ADDR
  • DLC_DEL_GRP
  • IOCINFO
  • Standard Ethernet Data Link Control Overview
  • DLCETHER Device Manager Nodes
  • DLCETHER Device Manager Functions
  • DLCETHER Protocol Support
  • Station Type
  • Response Modes
  • Ethernet Data Packet
  • DLCETHER Name-Discovery Services
  • LAN Find Data Format
  • LAN Found Data Format
  • DLCETHER Direct Network Services
  • DLCETHER Connection Contention
  • DLCETHER Link Session Initiation
  • DLCETHER Link Session Termination
  • DLCETHER Programming Interfaces
  • DLC_ENABLE_SAP
  • DLC_START_LS
  • DLC_ALTER
  • DLC_QUERY_SAP
  • DLC_QUERY_LS
  • DLC_ENTER_SHOLD
  • DLC_EXIT_SHOLD
  • DLC_ADD_GRP
  • DLC_ADD_FUNC_ADDR
  • DLC_DEL_FUNC_ADDR
  • DLC_DEL_GRP
  • IOCINFO
  • Synchronous Data Link Control Overview
  • DLCSDLC Device Manager Functions
  • DLCSDLC Protocol Support
  • Station Types
  • Operation Modes
  • Transmission Frames
  • Response Modes
  • Station Link Address Field
  • Control Field (Commands Supported)
  • Control Field (Responses Supported)
  • DLCSDLC Programming Interfaces
  • DLC_ENABLE_SAP
  • DLC_START_LS
  • DLC_ALTER
  • DLC_QUERY_SAP
  • DLC_QUERY_LS
  • DLC_ENTER_SHOLD
  • DLC_EXIT_SHOLD
  • DLC_ADD_GRP
  • DLC_ADD_FUNC_ADDR
  • DLC_DEL_FUNC_ADDR
  • IOCINFO
  • DLCSDLC Asynchronous Function Subroutine Calls
  • Qualified Logical Link Control (DLCQLLC) Overview
  • DLCQLLC Device Manager Functions
  • DLCQLLC Programming Interfaces
  • DLC_ENABLE_SAP
  • DLC_START_LS
  • Example of Protocol-Specific Configuration Parameters
  • Facilities Structure
  • DLC_ALTER
  • DLC_QUERY_SAP
  • DLC_QUERY_LS
  • DLC_ENTER_SHOLD
  • DLC_EXIT_SHOLD
  • DLC_ADD_GRP
  • DLC_ADD_FUNC_ADDR
  • DLC_DEL_FUNC_ADDR
  • IOCINFO
  • DLCQLLC Asynchronous Function Subroutine Calls
  • Data Link Control FDDI (DLC FDDI) Overview
  • DLC FDDI Device Manager Nodes
  • DLC FDDI Device Manager Functions
  • DLC FDDI Protocol Support
  • Station Type
  • Response Modes
  • FDDI Data Packet
  • DLC FDDI Name-Discovery Services
  • LAN Find Data Format
  • LAN Found Data Format
  • DLC FDDI Direct Network Services
  • DLC FDDI Connection Contention
  • DLC FDDI Link Sessions
  • Link Session Termination
  • DLC FDDI Programming Interfaces
  • DLC_ENABLE_SAP
  • DLC_START_LS
  • DLC_ALTER
  • DLC_ENTER_SHOLD
  • DLC_EXIT_SHOLD
  • DLC_ADD_GROUP
  • DLC_ADD_FUNC_ADDR
  • DLC_DEL_FUNC_ADDR
  • DLC_DEL_GRP
  • DLC_QUERY_SAP
  • DLC_QUERY_LS
  • IOCINFO
  • Asynchronous Function Calls
  • Chapter 2. Data Link Provider Interface Implementation

  • Primitive Implementation Specifics
  • Packet Format Registration Specifics
  • Address Resolution Routine Registration Specifics
  • ioctl Specifics
  • Dynamic Route Discovery
  • DRD Configuration
  • Connectionless Mode Only DLPI Driver versus Connectionless/Connection-Oriented DLPI Driver
  • DLPI Primitives
  • Obtaining Copies of the DLPI Specifications
  • Chapter 3. New Database Manager

  • Using NDBM Subroutines
  • Diagnosing NDBM Problems
  • List of NDBM and DBM Programming References
  • NDBM Subroutines
  • DBM Subroutines
  • Chapter 4. eXternal Data Representation

  • eXternal Data Representation Overview for Programming
  • A Canonical Standard
  • Basic Block Size
  • Unsupported Representations
  • XDR Subroutine Format
  • XDR Library
  • XDR with RPC
  • XDR Operation Directions
  • XDR Language Specification
  • Lexical Notes
  • Declarations, Enumerations, Structures, and Unions
  • Syntax Notes
  • XDR Data Types
  • Integer Data Types
  • Signed and Unsigned Integers
  • Signed and Unsigned Hyperintegers
  • Enumeration Data Types
  • Boolean Data Types
  • Floating-Point Data Types
  • Single-Precision Floating Point
  • Double-Precision Floating Point
  • Opaque Data Types
  • Fixed-Length Opaque Data
  • Variable-Length Opaque Data
  • Array Data Types
  • Fixed-Length Array
  • Variable-Length Array
  • Strings
  • Structures
  • Discriminated Unions
  • Voids
  • Constants
  • Type Definitions
  • Optional Data
  • List of XDR Programming References
  • XDR Library Filter Primitives
  • XDR Library Non-Filter Primitives
  • Examples
  • XDR Library Filter Primitives
  • XDR Basic Filter Primitives
  • Number Filter Primitives
  • Floating-Point Filter Primitives
  • Enumeration Filter Primitives
  • Passing No Data
  • XDR Constructed Filter Primitives
  • String Filter Primitives
  • Array Filter Primitives
  • Opaque-Data Filter Primitives
  • Primitive for Pointers to Structures
  • Primitive for Discriminated Unions
  • XDR Non-Filter Primitives
  • Creating and Using XDR Data Streams
  • Standard I/O Streams
  • Memory Streams
  • Record Streams
  • Manipulating an XDR Data Stream
  • Implementing an XDR Data Stream
  • Destroying an XDR Data Stream
  • Passing Linked Lists Using XDR Example
  • Using an XDR Data Description Example
  • Showing the Justification for Using XDR Example
  • Using XDR Example
  • Using XDR Array Examples
  • Example A
  • Example B
  • Example C
  • Example D
  • Using an XDR Discriminated Union Example
  • Showing the Use of Pointers in XDR Example
  • Chapter 5. Network Computing System

  • Remote Procedure Call Runtime Library
  • Routines
  • Client Routines
  • Server Routines
  • Conversion Routines
  • The Location Broker
  • Location Broker Components
  • Location Broker Data
  • Location Broker Client Agent
  • Local Location Broker
  • Local Database
  • LLB Forwarding Agent
  • Global Location Broker
  • Chapter 6. Network Information Services (NIS and NIS+)

  • List of NIS and NIS+ Programming References
  • Subroutines
  • Files
  • NIS+ Commands
  • NIS+ Tables
  • NIS+ APIs
  • Chapter 7. Network Management

  • Simple Network Management Protocol
  • Management Information Base
  • Terminology Related to Management Information Base Variables
  • Working with Management Information Base Variables
  • Management Information Base Database
  • get-next Request
  • How a Manager Functions
  • How an Agent Functions
  • Traps
  • List of SNMP Agent Programming References
  • Programming Commands
  • Files and File Formats
  • SMUX Subroutines
  • SMUX Error Logging Subroutines Examples
  • adios Sample Subroutine
  • advise Sample Subroutine
  • Chapter 8. Remote Procedure Call

  • RPC Model
  • Transports and Semantics
  • RPC in the Binding Process
  • RPC Message Protocol
  • RPC Protocol Requirements
  • RPC Messages
  • RPC Call Message
  • Derived Types
  • RPC Reply Message
  • The Reply to an Accepted Request
  • The Reply to a Rejected Request
  • Marking Records in RPC Messages
  • RPC Authentication
  • RPC Authentication Protocol
  • NULL Authentication
  • UNIX Authentication
  • UNIX Authentication on the Client Side
  • UNIX Authentication on the Server Side
  • Data Encryption Standard (DES) Authentication
  • DES Authentication Naming Scheme
  • DES Authentication Verifiers
  • DES Authentication on the Server Side
  • DES Authentication on the Client Side
  • Nicknames
  • Clock Synchronization
  • DES Authentication Protocol
  • Diffie-Hellman Encryption
  • RPC Port Mapper Program
  • Registering Ports
  • Port Mapper Protocol
  • Port Mapper Procedures
  • Programming in RPC
  • Assigning Program Numbers
  • Assigning Version Numbers
  • Assigning Procedure Numbers
  • Using Registered RPC Programs
  • Using the Highest Layer of RPC
  • Using the Intermediate Layer of RPC
  • Using the registerrpc Routine
  • Using the callrpc Routine
  • Passing Arbitrary Data Types
  • Using the Lowest Layer of RPC
  • Allocating Memory with XDR
  • Starting RPC from the inetd Daemon
  • Compiling and Linking RPC Programs
  • RPC Features
  • Batching Remote Procedure Calls
  • Broadcasting Remote Procedure Calls
  • RPC Call-back Procedures
  • Using the select Subroutine on the Server Side
  • RPC Language
  • RPC Language Descriptions
  • Definitions
  • Structures
  • Unions
  • Enumerations
  • Type Definitions
  • Constants
  • Programs
  • Declarations
  • Simple Declarations
  • Fixed-length Array Declarations
  • Variable-length Array Declarations
  • Pointer Declarations
  • RPCL Syntax Requirements for Program Definition
  • Exceptions to the RPCL Rules
  • Booleans
  • Strings
  • Opaque Data
  • Voids
  • rpcgen Protocol Compiler
  • Converting Local Procedures into Remote Procedures
  • Generating XDR Routines
  • C Preprocessor
  • Changing Time Outs
  • Handling Broadcast on the Server Side
  • Other Information Passed to Server Procedures
  • List of RPC Programming References
  • Subroutines and Macros
  • Authenticating Remote Procedure Calls
  • Managing the Client
  • Managing the Server
  • Using RPC Utilities
  • Using DES Interface to the keyserv Daemon
  • Interfacing to the portmap Daemon
  • Describing and Encoding Remote Procedure Calls
  • Examples
  • Using UNIX Authentication Example
  • UNIX Authentication on the Client Side
  • UNIX Authentication on the Server Side
  • DES Authentication Example
  • DES Authentication on the Client Side
  • DES Authentication on the Server Side
  • Using the Highest Layer of RPC Example
  • Using the Intermediate Layer of RPC Example
  • Intermediate Layer of RPC on the Server Side
  • Intermediate Layer of RPC on the Client Side
  • Using the Lowest Layer of RPC Example
  • The Lowest Layer of RPC from the Server Side
  • The Lowest Layer of RPC from the Client Side
  • Showing How RPC Passes Arbitrary Data Types Example
  • Passing a Simple User-Defined Structure Example
  • Passing a Variable-Length Array Example
  • Passing a Fixed-Length Array Example
  • Passing Structure with Pointers Example
  • Using Multiple Program Versions Example
  • Broadcasting a Remote Procedure Call Example
  • Using the select Subroutine Example
  • rcp Process on TCP Example
  • RPC Callback Procedures Example
  • RPC Language ping Program Example
  • Converting Local Procedures into Remote Procedures Example
  • Generating XDR Routines Example
  • Chapter 9. Sockets

  • Sockets Overview
  • Critical Attributes
  • Sockets Background
  • Socket Facilities
  • Creating and Naming Sockets
  • Accepting and Making Socket Connections
  • Transferring Data
  • Shutting Down Socket Operations
  • Translating Network Addresses
  • Sockets Interface
  • Socket Interface to Network Facilities
  • Socket Subroutines
  • Socket Header Files
  • Socket Address Data Structures
  • Socket Communication Domains
  • Address Formats
  • Address Families
  • UNIX Domain Properties
  • Internet Domain Properties
  • XNS Domain Properties
  • The Operating System Network Device Driver (NDD) Domain Properties
  • Socket Addresses
  • Socket Address Storage
  • Socket Addresses in TCP/IP
  • Socket Addresses in the Operating System Network Device Driver (NDD)
  • Socket Types and Protocols
  • Socket Types
  • Socket Protocols
  • Socket Creation
  • Binding Names to Sockets
  • Binding Addresses to Sockets
  • Obtaining Socket Addresses
  • Socket Connections
  • Server Connections
  • Connectionless Datagram Services
  • Socket Options
  • Socket Data Transfer
  • Out-of-Band Data
  • Socket I/O Modes
  • Socket Shutdown
  • Closing Sockets
  • IP Multicasts
  • Network Address Translation
  • Name Resolution
  • Host Names
  • Network Names
  • Protocol Names
  • Service Names
  • Network Byte-Order Translation
  • Internet Address Translation
  • Network Host and Domain Names
  • Domain Name Resolution
  • Socket Examples
  • Socketpair Communication Example
  • Reading Internet Datagrams Example Program
  • Sending Internet Datagrams Example Program
  • Reading UNIX Datagrams Example Program
  • Sending UNIX Datagrams Example Program
  • Initiating Internet Stream Connections Example Program
  • Accepting Internet Stream Connections Example Program
  • Checking for Pending Connections Example Program
  • Initiating UNIX Stream Connections Example Program
  • Accepting UNIX Stream Connections Example Program
  • Sending Data on an ATM Socket PVC Client Example Program
  • Receiving Data on an ATM Socket PVC Server Example Program
  • Sending Data on an ATM Socket Rate-Enforced SVC Client Example Program
  • Receiving Data on an ATM Socket Rate-Enforced SVC Server Example Program
  • Sending Data on an ATM Socket SVC Client Example Program
  • Receiving Data on an ATM Socket SVC Server Example Program
  • Receiving Packets Over Ethernet Example Program
  • Sending Packets Over Ethernet Example Program
  • Analyzing Packets Over the Network Example Program
  • List of Socket Programming References
  • Kernel Service Subroutines
  • Network Library Subroutines
  • Header Files
  • Protocols
  • Chapter 10. STREAMS

  • STREAMS Introduction
  • Stream Head
  • Modules
  • Stream End
  • STREAMS Modularity
  • STREAMS Facilities
  • Benefits and Features of STREAMS
  • Creating Service Interfaces
  • Manipulating Modules
  • Protocol Substitution
  • Module Reusability
  • STREAMS Flow Control
  • STREAMS Synchronization
  • Synchronization Mechanism
  • Synchronization of timeout and bufcall Utilities
  • Synchronization Levels
  • No Synchronization Level
  • Queue-Level Synchronization
  • Queue Pair-Level Synchronization
  • Module-Level Synchronization
  • Arbitrary-Level Synchronization
  • Global-Level Synchronization
  • Per-stream Synchronization
  • Queue-Welding Mechanism
  • Welding Queues
  • Using STREAMS
  • Subroutines
  • System Calls
  • streamio Operations
  • STREAMS Tunable Parameters
  • Load-Time Parameters
  • Run-Time Parameters
  • streamio (STREAMS ioctl) Operations
  • Building STREAMS
  • Expanded Streams
  • Pushable Modules
  • STREAMS Messages
  • Message Blocks
  • Message Allocation
  • Message Types
  • Message Queue Priority
  • Sending and Receiving Messages
  • Put and Service Procedures
  • Put Procedures
  • Service Procedures
  • STREAMS Drivers and Modules
  • Environment
  • Drivers
  • Modules
  • 64-Bit Support
  • STREAMS Message Block MSG64BIT Flag
  • Transparent ioctls
  • log Device Driver
  • Kernel Interface
  • User Interface
  • Examples
  • Configuring Drivers and Modules in the Portable Streams Environment
  • Loading and Unloading PSE
  • Loading and Unloading a Driver or Module
  • PSE Configuration Routines
  • Example Module
  • An Asynchronous Protocol STREAMS Example
  • Initializing the Stream
  • Using Messages in the Example
  • Other User Functions
  • Kernel Processing
  • Read-Side Processing
  • Write-Side Processing
  • Analysis
  • Differences Between Portable Streams Environment and V.4 STREAMS
  • Extensions to STREAMS
  • Differences in PSE
  • List of Streams Commands
  • Configuring
  • Maintaining
  • List of STREAMS Programming References
  • Operation
  • Modules and Drivers
  • Subroutines
  • Function
  • System Calls
  • Utilities
  • Transport Service Library Interface Overview
  • TLI and XTI Characteristics
  • Chapter 11. Transmission Control Protocol/Internet Protocol

  • DHCP Server API
  • Loading User Objects
  • Predefined Structures
  • dhcpmessage
  • dhcpoption
  • dhcpclientid
  • dhcplogseverity
  • User-Defined Object Requirements
  • Initialize
  • Shutdown
  • Checkpoint Routines
  • User-Defined Object Optional Routine
  • Dynamic Load API
  • Services Map Type
  • Protocols Map Type
  • Hosts Map Type
  • Networks Map Type
  • Netgroup Map Type
  • Using the Dynamic Load API
  • Naming the User-Provided Module
  • Configuring a Dynamic API
  • Procedures
  • Lists of Programming References
  • Methods
  • Files and File Formats
  • RFCs
  • Name Server
  • Telnet
  • FTP
  • TFTP
  • SNMP
  • SMTP
  • Name/Finger
  • Time
  • TCP
  • UDP
  • ARP
  • IP
  • ICMP
  • Link (802.2)
  • IP Multicasts
  • Others
  • Chapter 12. Xerox Network Systems

  • Implementation
  • System Configuration
  • Routing
  • XNS Addresses
  • Network Systems Protocol Family
  • Usage Conventions
  • Addressing
  • Protocols
  • Sequence Packet Protocol
  • Usage Conventions
  • Using Socket Types with SPP
  • Socket Options for SPP
  • Error Codes
  • nsip Interface
  • Usage Conventions
  • Error Codes
  • Internet Datagram Protocol
  • Usage Conventions
  • Socket Options for IDP
  • Error Codes
  • Chapter 13. Packet Capture Library

  • Packet Capture Library Overview
  • Performing Packet Capture
  • Packet Capture Library Subroutines
  • Packet Capture Library Header Files
  • Packet Capture Library Data Structures
  • Packet Capture Library Filter Expressions
  • Allowable Primitives
  • Relational Operators of the Expression Parameter
  • Combining Primitives
  • Sample 1: Capturing Packet Data and Printing It in Binary Form to the Screen
  • Sample 2: Capturing Packet Data and Saving It to a File for Processing Later
  • Sample 3: Reading Previously Captured Packet Data from a Savefile and Processing It
  • Appendix A. Notices

    Index


    [ Previous | Next | Table of Contents | Index | Library Home | Legal | Search ]