HP OpenVMS Systems Documentation

Content starts here

HP TCP/IP Services for OpenVMS
Sockets API and System Services Programming


Begin Index

Contents (summary)
Preface Preface
Chapter 1 Application Programming Interfaces
Chapter 2 Writing Network Applications
Chapter 3 Using the Sockets API
Chapter 4 Sockets API Reference
Chapter 5 Using the $QIO System Service
Chapter 6 OpenVMS System Services Reference
Appendix A Socket Options
Appendix B IOCTL Requests
Appendix C Data Types
Appendix D Error Codes
Appendix E Porting Applications to IPv6
  Index
  Figures
  Examples
  Tables


Contents


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


Previous Next Contents Index