Preface |
Preface
|
Preface
|
Chapter 1 |
1
|
Application Programming Interfaces
|
1.1
|
BSD Sockets
|
1.2
|
OpenVMS System Services
|
1.3
|
Application Development Files
|
1.3.1
|
Definition Files
|
1.3.2
|
Libraries
|
1.3.3
|
Programming Examples
|
1.4
|
Compiling and Linking C Language Programs
|
1.4.1
|
Compiling and Linking Programs Using BSD Version 4.4
|
1.4.2
|
C Compilation Warnings
|
1.5
|
Using 64-Bit Addresses (Alpha and I64 Only)
|
Chapter 2 |
2
|
Writing Network Applications
|
2.1
|
The Client/Server Communication Process
|
2.1.1
|
Using the TCP Protocol
|
2.1.2
|
Using the UDP Protocol
|
2.2
|
Creating a Socket
|
2.2.1
|
Creating Sockets (Sockets API)
|
2.2.2
|
Creating Sockets (System Services)
|
2.3
|
Binding a Socket (Optional for Clients)
|
2.3.1
|
Binding a Socket (Sockets API)
|
2.3.2
|
Binding a Socket (System Services)
|
2.4
|
Making a Socket a Listener (TCP Protocol)
|
2.4.1
|
Setting a Socket to Listen (Sockets API)
|
2.4.2
|
Setting a Socket to Listen (System Services)
|
2.5
|
Initiating a Connection (TCP Protocol)
|
2.5.1
|
Initiating a Connection (Sockets API)
|
2.5.2
|
Initiating a Connection (System Services)
|
2.6
|
Accepting a Connection (TCP Protocol)
|
2.6.1
|
Accepting a Connection (Sockets API)
|
2.6.2
|
Accepting a Connection (System Services)
|
2.7
|
Getting Socket Options
|
2.7.1
|
Getting Socket Information (Sockets API)
|
2.7.2
|
Getting Socket Information (System Services)
|
2.8
|
Setting Socket Options
|
2.8.1
|
Setting Socket Options (Sockets API)
|
2.8.2
|
Setting Socket Options (System Services)
|
2.9
|
Reading Data
|
2.9.1
|
Reading Data (Sockets API)
|
2.9.2
|
Reading Data (System Services)
|
2.10
|
Receiving IP Multicast Datagrams
|
2.11
|
Reading Out-of-Band Data (TCP Protocol)
|
2.11.1
|
Reading OOB Data (Sockets API)
|
2.11.2
|
Reading OOB Data (System Services)
|
2.12
|
Peeking at Queued Messages
|
2.12.1
|
Peeking at Data (Sockets API)
|
2.12.2
|
Peeking at Data (System Services)
|
2.13
|
Writing Data
|
2.13.1
|
Writing Data (Sockets API)
|
2.13.2
|
Writing Data (System Services)
|
2.14
|
Writing OOB Data (TCP Protocol)
|
2.14.1
|
Writing OOB Data (Sockets API)
|
2.14.2
|
Writing OOB Data (System Services)
|
2.15
|
Sending Datagrams (UDP Protocol)
|
2.15.1
|
Sending Datagrams (System Services)
|
2.15.2
|
Sending Broadcast Datagrams (Sockets API)
|
2.15.3
|
Sending Broadcast Datagrams (System Services)
|
2.15.4
|
Sending Multicast Datagrams
|
2.16
|
Using the Berkeley Internet Name Domain Service
|
2.16.1
|
BIND Lookups (Sockets API)
|
2.16.2
|
BIND Lookups (System Services)
|
2.17
|
Closing and Deleting a Socket
|
2.17.1
|
Closing and Deleting (Sockets API)
|
2.17.2
|
Closing and Deleting (System Services)
|
2.18
|
Shutting Down Sockets
|
2.18.1
|
Shutting Down a Socket (Sockets API)
|
2.18.2
|
Shutting Down a Socket (System Services)
|
2.19
|
Canceling I/O Operations
|
Chapter 3 |
3
|
Using the Sockets API
|
3.1
|
Internet Protocols
|
3.1.1
|
TCP Sockets
|
3.1.1.1
|
Wildcard Addressing
|
3.1.2
|
UDP Sockets
|
3.2
|
Structures
|
3.2.1
|
addrinfo Structure
|
3.2.2
|
cmsghdr Structure
|
3.2.3
|
hostent Structure
|
3.2.4
|
in_addr Structure
|
3.2.5
|
in6_addr Structure (IPv6)
|
3.2.6
|
iovec Structure
|
3.2.7
|
linger Structure
|
3.2.8
|
msghdr Structure
|
3.2.8.1
|
BSD Version 4.3
|
3.2.8.2
|
BSD Version 4.4
|
3.2.9
|
netent Structure
|
3.2.10
|
protoent Structure
|
3.2.11
|
servent Structure
|
3.2.12
|
sockaddr Structure
|
3.2.12.1
|
BSD Version 4.3
|
3.2.12.2
|
BSD Version 4.4
|
3.2.13
|
sockaddr_in Structure
|
3.2.14
|
sockaddr_in6 Structure (IPv6)
|
3.2.14.1
|
BSD Version 4.3
|
3.2.14.2
|
BSD Version 4.4
|
3.2.15
|
timeval Structure
|
3.3
|
Header Files
|
3.4
|
Constants and Address Variables (IPv6)
|
3.5
|
Interface Identification (IPv6)
|
3.5.1
|
Sending IPv6 Multicast Datagrams
|
3.5.2
|
Receiving IPv6 Multicast Datagrams
|
3.5.3
|
Address Translation and Conversion Functions
|
3.5.4
|
Address-Testing Macros
|
3.6
|
Advanced API (IPv6)
|
3.6.1
|
Using IPv6 Raw Sockets
|
3.6.1.1
|
Accessing ICMPv6 Messages
|
3.6.1.2
|
Accessing the IPv6 Header
|
3.6.1.3
|
Accessing the IPv6 Routing Header
|
3.6.1.4
|
Accessing the IPv6 Options Headers
|
3.7
|
Calling a Socket Function from an AST State
|
3.8
|
Using 64-Bit Buffer Addresses (Alpha and I64 Only)
|
3.9
|
Standard I/O Functions
|
3.10
|
Guidelines for Compiling and Linking IPv6 Applications
|
3.11
|
Compatibility with the OpenVMS C Run-Time Library
|
3.12
|
Error Checking: errno Values
|
3.12.1
|
errno values
|
3.12.2
|
Relationship Between errno and h_errno
|