DOC HOME
SITE MAP
MAN PAGES
GNU INFO
SEARCH
PRINT BOOK
Using network programming interfaces
Programming with the X/Open Transport Interface (XTI)
Overview of the Transport Interface
Modes of service
Connection-mode service
Local management
Connection establishment
Data transfer
Connection release
Connectionless-mode service
State transitions
Connection-mode service
Local management
Connection establishment
Data transfer
Connection release
Connectionless-mode service
Local management
Data transfer
Datagram errors
A read/write interface
write
read
close
Advanced topics
Asynchronous execution mode
Advanced programming example
State transitions
Transport interface states
Outgoing events
Incoming events
Transport user actions
State tables
Guidelines for protocol independence
Examples
An example connection-mode client
An example connection-mode server
An example connectionless-mode transaction server
An example read/write client
An example event-driven server
Programming with sockets
Basics
Socket types
Socket creation
Binding local names
Connection establishment
Data transfer
Closing sockets
Connectionless sockets
Input/output multiplexing
Supporting routines
Host names
Network names
Protocol names
Service names
Manipulating byte order
Client/Server model
Servers
Clients
Connectionless servers
Advanced topics
Out-of-band data
Non-blocking sockets
Interrupt driven socket I/O
Signals and process groups
Selecting specific protocols
Address binding
Broadcasting and determining network configuration
Socket options
Inetd
Moving to IPv6
The IPv6 sockaddr structure
Address and protocol families
Related functions
Passing sockets between applications
Porting IPv4 applications to IPv6
Porting IPv6 -- examples
Sockets migration and sockets-to-XTI conversion
Connection mode
Connectionless mode
Socket-based datagrams
Synchronous and asynchronous modes
Error handling
Sockets-to-XTI conversion
Moving sockets applications to Release 6.0.0
Programming with Remote Procedure Calls (RPC)
How RPC works
RPC versions and numbers
Network selection
Name-to-address translation
The rpcbind facility
Address registration
The rpcinfo command
The lower RPC levels
External Data Representation
Programming using the rpcgen command
Converting local procedures into remote procedures
Generating XDR routines with rpcgen
Using preprocessing directives
Common RPC programming techniques
Network types (transport selection)
Timeout changes
Client authentication
rpcgen command-line define statements
Server response to broadcast calls
Port monitor support
Dispatch tables
Debugging with rpcgen
RPC language reference
Definitions
Enumerations
Constants
Typedefs
Declarations
Structures
Unions
Programs
Special cases
Remote Procedure Call programming
Levels of the RPC package
The simplified interface to RPC
RPC library-based network services
Remote Procedure Call and registration
Passing arbitrary data types
The lower levels of RPC
The top level
The intermediate level
The expert level
The bottom level
Low-level data structures
Low-level program testing using raw RPC
Advanced RPC programming techniques
Server processing
Broadcast RPC
Batching
Authentication
AUTH_SYS authentication
AUTH_DES authentication
Using port monitors
Writing multithreaded RPC procedures
An example of registering multiple versions of a remote procedure
An example of a remote copy program using connection-oriented transports
An example of a server placing a call back to a client
An example of performing memory allocation with XDR
XDR/RPC protocol specification
Basic XDR assumptions
XDR data type declarations
Integer
Other XDR declarations
The XDR language specification
An example of an XDR data description
The Remote Procedure Calls (RPC) standard
The RPC model
RPC protocol requirements
Program number assignment
Other uses of the RPC protocol
The RPC message protocol
Authentication protocols
AUTH_NONE authentication
AUTH_SYS authentication
AUTH_DES authentication
Record marking standard
The RPC language
The RPC language specification
rpcbind protocol
rpcbind protocol specification (in RPC language)
rpcbind operation
References
Network services
Network selection
How network selection works
The /etc/netconfig file
The NETPATH environment variable
The network selection application programming interface
Routines that access netconfig via NETPATH
Routines that access netconfig directly
Code examples
Looping through all visible netconfig entries
Looping through user-defined netconfig entries
Looping through all netconfig entries
Specifying a single transport provider
Name-to-address mapping
The name-to-address mapping libraries
The tcpip.so library
The straddr.so library
Using the name-to-address mapping routines
netdir_getbyname
netdir_getbyaddr
netdir_free
taddr2uaddr
uaddr2taddr
netdir_options
netdir_perror
netdir_sperror
REXEC client support routines
Establishing a connection
Sending input to the remote application
Receiving output from the remote application
Terminating a connection
Releasing the connection number
Error variables
Identification and authentication facility
ID mapping
Multithreaded network programming
Thread-specific error variables
Signals
SIGPOLL and SIGPIPE
Order of linking
Developing SMUX peers for SNMP agents
Introduction
An SMUX overview
An example SMUX session
Initialization
Exchange of MIB information
Asynchronous events
Termination
How the SMUX protocol works
Initialization
Information exchange
Terminating an SMUX association
Implementing an SMUX peer
MIB modules
Defining MIB modules
Compiling MIB modules
#define statements
Global declarations
Initialization of global data
Writing get functions
Writing set functions
Generating traps
Configuration files
Compiling an SMUX peer
Executing an SMUX peer
Testing an SMUX peer
Packaging your SMUX peer
Description of reference peer foosmuxd
Reading compiled MIB modules
Initialization
Opening
Registering MIB modules
Main loop
Events
Get and set
Encoding and decoding PDUs
Terminating foosmuxd's SMUX association
Error recovery
Structure and syntax of managed objects
Syntax
INTEGER, Counter, Gauge, and TimeTicks
OctetString, DisplayString, and ClnpAddress
ObjectID
IPAddress and NetworkAddress
Objects
Instances
References
Glossary