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