Programmer's Guide
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