Programmer's Guide

[Bookset] [Bookset] [Contents] [About]

About This Guide

    Credits

    Recommended reading

    What's new in TCP/IP 5.0

     New functionality

     New content

     Changed content

     Corrections

Socket Programming in QNX

    Introduction

    Compiling & linking

    Running programs

A Socket-based IPC Tutorial

    Introduction

     Design goals of socket-based IPC

      New meanings for read and write

    Pipes

     Example

      tut1.c

    Socketpairs

     Example

      tut2.c

    Domains and protocols

     Domain names

      Internet domain (AF_INET)

     Communication types

      Stream communication
      Datagram communication
      Stream vs Datagram communication types

     Protocols

    Datagrams in the Internet domain

     Specifying the IP address

     Port numbers

      Reading Internet domain datagrams
      tut3.c
      Sending an Internet domain datagram
      tut4.c

    Stream connections

     Establishing a stream connection

      Initiating an Internet domain stream connection
      tut5.c
      Accepting an Internet domain stream connection
      tut6.c
      The server
      Creating an optimized server
      tut7.c

    Transferring data through sockets

     Out-of-band data

      Sending OOB information
      Sending datagrams
      Varieties of read and write calls

    Selecting a communications method

      Pipes and socketpairs
      Internet domain sockets
      Datagram vs stream communication

    For more info...

An Advanced Socket Communication Tutorial

    Introduction

    Basics

     Socket types

     Creating sockets

     Binding local names

     Establishing connections

      Errors returned when establishing a connection
      Listening on a socket
      Accepting a connection

     Data transfer

     Discarding sockets

     Connectionless (datagram) sockets

      Using connect with datagrams
      Detecting errors

     Input/Output multiplexing

    Network address functions

     Mapping levels

     Hostnames

     Network names

     Protocol names

     Service names

     Miscellaneous

     Manipulation functions

    Client/server model

     Servers

      Remote login server
      Look up service definition
      Disassociate from controlling terminal

     Clients

      Remote login client code
      Locate service definition
      Locate host
      Establish connection

     Connectionless (datagram) servers

      Example --- rwhod
      Simplified rwhod server
      Receiving status packets
      Transmitting status packets

    Advanced topics

     Out-of-band data

      Peeking at out-of-band data
      Flushing terminal I/O on receipt of out-of-band data

     Nonblocking sockets

     Interrupt-driven socket I/O

      Use of asynchronous notification of I/O requests

     Signals and process groups

     Pseudo terminals

      Acquiring a pseudo terminal

     Selecting specific protocols

     Address binding

      Wildcard addresses
      Unspecified ports
      Example --- rlogin
      Multiple binds to same local port

     Broadcasting and determining network configuration

      if_example.c

     Socket options

     inetd daemon

Remote Procedure Call Programming

    What is RPC?

      Client/server model
      External Data Representation (XDR)

    The RPC programming book

    Using RPC

     Compiling & linking

     Running RPC programs

Writing Data Server Applications

    Data server library

    Example

The Virtual Packet Interface

    Virtual Packet Library

    Using the VPI as a network interface

     slattach.c

     if_sl.c

      slattach example
      slstart
      sloutput
      slbegin
      Address conversion functions

    Using the VPI as an IP Filter

TCP/IP Libraries

    Alphabetical list of entries

    Entries by category

     Current host

     Data server

     Host database

     Internet address manipulation

     Miscellaneous

     Network database

     Network protocol database

     Network services database

     Protocols

     Remote hosts

     Resolver

     SNMP messages

     Sockets

     Socket messages

     SOCKS server

     Virtual Packet

    What's in a function description?

      Synopsis:
      Description:
      Returns:
      Errors:
      Examples:
      Classification:
       Function safety:
      Caveats:
      See also:

    accept

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    bind

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    bindresvport

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    connect

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    dn_comp

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     See also:

    dn_expand

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     See also:

    ds_clear

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Examples:

     Classification:

      Safety:

     See also:

    ds_create

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Examples:

     Classification:

      Safety:

     See also:

    ds_deregister

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Examples:

     Classification:

      Safety:

     See also:

    ds_flags

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    ds_get

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    ds_register

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Examples:

     Classification:

      Safety:

     See also:

    ds_set

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Examples:

     Classification:

      Safety:

     See also:

    endhostent

     Synopsis:

     Library:

     Description:

     Files:

     Classification:

      Safety:

     See also:

    endnetent

     Synopsis:

     Library:

     Description:

     Files:

     Classification:

      Safety:

     See also:

    endprotoent

     Synopsis:

     Library:

     Description:

     Files:

     Classification:

      Safety:

     See also:

    endservent

     Synopsis:

     Library:

     Description:

     Files:

     Classification:

      Safety:

     See also:

    gethostbyaddr

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Examples:

     Files:

     Classification:

      Safety:

     Caveats:

     See also:

    gethostbyaddr_r

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Files:

     Classification:

      Safety:

     See also:

    gethostbyname

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Files:

     Environment variables:

     Classification:

      Safety:

     Caveats:

     See also:

    gethostbyname_r

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Files:

     Classification:

      Safety:

     See also:

    gethostent

     Synopsis:

     Library:

     Description:

     Returns:

     Files:

     Classification:

      Safety:

     Caveats:

     See also:

    gethostent_r

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Files:

     Classification:

      Safety:

     See also:

    gethostname

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     Caveats:

     See also:

    getnetbyaddr

     Synopsis:

     Library:

     Description:

     Returns:

     Files:

     Classification:

      Safety:

     Caveats:

     See also:

    getnetbyname

     Synopsis:

     Library:

     Description:

     Returns:

     Files:

     Classification:

      Safety:

     See also:

    getnetent

     Synopsis:

     Library:

     Description:

     Returns:

     Files:

     Classification:

      Safety:

     See also:

    getpeername

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    getprotobyname

     Synopsis:

     Library:

     Description:

     Returns:

     Files:

     Classification:

      Safety:

     Caveats:

     See also:

    getprotobynumber

     Synopsis:

     Library:

     Description:

     Returns:

     Files:

     Classification:

      Safety:

     Caveats:

     See also:

    getprotoent

     Synopsis:

     Library:

     Description:

     Returns:

     Files:

     Classification:

      Safety:

     Caveats:

     See also:

    getservbyname

     Synopsis:

     Library:

     Description:

     Returns:

     Files:

     Classification:

      Safety:

     Caveats:

     See also:

    getservbyport

     Synopsis:

     Library:

     Description:

     Returns:

     Files:

     Classification:

      Safety:

     Caveats:

     See also:

    getservent

     Synopsis:

     Library:

     Description:

     Returns:

     Files:

     Classification:

      Safety:

     Caveats:

     See also:

    getsockname

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    getsockopt

     Synopsis:

     Library:

     Description:

      Options recognized at socket level
      IP_HDRINCL
      IP_TOS
      SO_BROADCAST
      SO_DEBUG
      SO_DONTROUTE
      SO_ERROR and SO_TYPE
      SO_KEEPALIVE
      SO_LINGER
      SO_OOBINLINE
      SO_RCVBUF and SO_SNDBUF
      SO_RCVLOWAT
      SO_RCVTIMEO
      SO_REUSEADDR
      SO_REUSEPORT
      SO_SNDLOWAT
      SO_SNDTIMEO
      SO_TIMESTAMP
      TCP_KEEPALIVE
      TCP_NODELAY

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    herror

     Synopsis:

     Library:

     Description:

     Classification:

      Safety:

     See also:

    hostent

     Synopsis:

     Description:

     Classification:

     See also:

    hstrerror

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     See also:

    htonl

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     See also:

    htons

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     See also:

    ICMP

     Synopsis:

     Description:

     Returns:

     Errors:

     See also:

    inet_addr

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     Caveats:

     See also:

    inet_aton

     Synopsis:

     Library:

     Description:

      Internet addresses

     Returns:

     Classification:

      Safety:

     See also:

    inet_lnaof

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     See also:

    inet_makeaddr

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     See also:

    inet_netof

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     See also:

    inet_network

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     See also:

    inet_ntoa

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     Caveats:

     See also:

    inet_ntoa_r

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    inet_ntop

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Examples:

     Classification:

      Safety:

     See also:

    inet_pton

     Synopsis:

     Library:

     Description:

      AF_INET addresses
      AF_INET6 addresses

     Returns:

     Errors:

     Examples:

     Classification:

      Safety:

     See also:

    ioctl

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

    IP

     Synopsis:

     Description:

      Multicasting
      Multicast Options

     Returns:

     Errors:

     See also:

    isfdtype

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    listen

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    netent

     Synopsis:

     Description:

     Classification:

     See also:

    ntohl

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     See also:

    ntohs

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     See also:

    protoent

     Synopsis:

     Description:

     Classification:

     See also:

    Raccept

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     See also:

    Rbind

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     See also:

    rcmd

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    Rconnect

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     See also:

    read_main_config_file

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Files:

     Environment variables:

     Classification:

      Safety:

     See also:

    recv

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    recvfrom

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    recvmsg

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    res_init

     Synopsis:

     Library:

     Description:

      Resolver configuration

     Returns:

     Errors:

     Files:

     Environment variables:

     Classification:

      Safety:

     See also:

    res_mkquery

     Synopsis:

     Library:

     Description:

     Returns:

     Files:

     Environment variables:

     Classification:

      Safety:

     See also:

    res_query

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Files:

     Environment variables:

     Classification:

      Safety:

     See also:

    res_querydomain

     Synopsis:

     Library:

     Description:

     Returns:

     Files:

     Environment variables:

     Classification:

      Safety:

     See also:

    res_search

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Files:

     Environment variables:

     Classification:

      Safety:

     See also:

    res_send

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Files:

     Environment variables:

     Classification:

      Safety:

     See also:

    Rgetsockname

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     See also:

    Rlisten

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     See also:

    ROUTE

     Synopsis:

     Description:

      Routing database entries
      Routing packets
      Routing control messages

     See also:

    Rrcmd

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     See also:

    rresvport

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    Rselect

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     See also:

    ruserok

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    send

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    sendmsg

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    sendto

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    servent

     Synopsis:

     Description:

     Classification:

     See also:

    sethostent

     Synopsis:

     Library:

     Description:

     Classification:

      Safety:

     Caveats:

     See also:

    sethostname

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     Caveats:

     See also:

    setnetent

     Synopsis:

     Library:

     Description:

     Files:

     Classification:

      Safety:

     Caveats:

     See also:

    setprotoent

     Synopsis:

     Library:

     Description:

     Files:

     Classification:

      Safety:

     Caveats:

     See also:

    setservent

     Synopsis:

     Library:

     Description:

     Files:

     Classification:

      Safety:

     Caveats:

     See also:

    setsockopt

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    shutdown

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    snmp_close

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    snmp_free_pdu

     Synopsis:

     Library:

     Description:

     Classification:

      Safety:

     See also:

    snmp_open

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    snmp_pdu

     Synopsis:

     Description:

     Classification:

     See also:

    snmp_pdu_create

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    snmp_read

     Synopsis:

     Library:

     Description:

     Classification:

      Safety:

     See also:

    snmp_select_info

     Synopsis:

     Library:

     Description:

      Asynchronous SNMP transactions:

     Returns:

     Classification:

      Safety:

     See also:

    snmp_send

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    snmp_session

     Synopsis:

     Description:

     Classification:

     See also:

    snmp_timeout

     Synopsis:

     Library:

     Description:

     Classification:

      Safety:

     See also:

    sockatmark

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    socket

     Synopsis:

     Library:

     Description:

      SOCK_STREAM sockets
      SOCK_DGRAM and SOCK_RAW sockets
      Using the ioctl call
      Socket-level options

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    socketpair

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    SOCKSinit

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     See also:

    sysctl

     Synopsis:

     Library:

     Description:

      CTL_NET
      PF_INET

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    TCP

     Synopsis:

     Description:

     Returns:

     Errors:

     See also:

    UDP

     Synopsis:

     Description:

     Returns:

     Errors:

     See also:

    UNIX

     Synopsis:

     Description:

      Addressing
      Protocols
      LOCAL_CREDS

     See also:

    vp_attach

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    vp_detach

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    vp_getpkt

     Synopsis:

     Library:

     Description:

      VPI as a network interface
      VPI as an IP filter

     Returns:

     Classification:

      Safety:

    vp_ifrname

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

    vp_ioctl

     Synopsis:

     Library:

     Description:

     Classification:

      Safety:

    vp_ktom

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     See also:

    vp_mclget

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     See also:

    vp_mfree

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     See also:

    vp_mfreem

     Synopsis:

     Library:

     Description:

     Classification:

      Safety:

     See also:

    vp_mget

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     See also:

    vp_mgethdr

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     See also:

    vp_mtok

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

     See also:

    vp_putpkt

     Synopsis:

     Library:

     Description:

     Returns:

     Errors:

     Classification:

      Safety:

     See also:

    vp_unit

     Synopsis:

     Library:

     Description:

     Returns:

     Classification:

      Safety:

SOCKS --- A Basic Firewall

    About SOCKS

    How to SOCKSify a client

    What SOCKS expects

Third-Party Copyright Notices

    BSD Networking Software Release

    Remote Procedure Call (RPC)

    SNMPv2

    SOCKS

      Portions Copyright (C) 1993, 1994 by NEC Systems Laboratory.

Summary of Safety Information


[Bookset] [Bookset] [Contents] [About]