Programmer's Guide to the WvStreams Libraries
Net Integration Technologies R & D
Copyright © 2002 Net Integration Technologies, Inc.
Table of Contents
Introduction
I.
The Utilities Library
Introduction
1.
Basic String Handling
String Utilities (strutils.cc)
Version String Manipulation (verstring.cc)
Hexadecimal formating tools (WvHex.cc)
Crypto stuff (strcrypt.cc)
2.
WvString - dynamic character strings
Introduction
WvString Examples
WvStringTable
WvStringList
3.
WvLinkList - type-safe linked lists and iterators
How to create a WvLinkList?
4.
WvHashTable - type-safe hash tables and iterators
How to create a WvHashTable?
5.
WvBuffer - dynamically-resizing binary buffers
WvBuffer (WvBuffer.cc)
WvBufferStore - basic buffer storage class
6.
WvDirIter
7.
WvEncoder - A top-level data encoder class
An encoding tool (WvBase64.cc)
Another encoding tool (WvBackSlash.cc)
8.
WvCrash - automatic stack backtrace generation
9.
WvTclString
II.
The Streams Library
10.
WvStream - communications fundamentals
Basic WvStream Examples
Reading and Writing
Waiting on a stream with select()
Callback Functions
Delays and Timeouts
11.
Some Simple Streams
WvFile - accessing Unix files
WvFileWatcher - waiting for a file to change
WvPipe - talking to subtasks
WvModem - baud rates and terminal modes
12.
Dealing with Log Messages
WvLog - printing log messages
WvLogRcv - receiving and disposing of log messages
WvLogBuffer - saving log messages to a buffer
WvLogFile - sending log messages to a file
WvSyslog - sending log messages to syslog
An example of WvPipe and WvLog together
13.
WvStreamList - dealing with multiple streams
Don't do this
Do this instead
An Interesting Example
14.
Some Magical Streams
WvStreamClone - a stream within a stream
WvSplitStream - separating read and write streams
WvLoopback - talking to yourself across fork()
15.
Some Unusual Streams
WvTimeStream - timed events
WvTimeOutStream - timed out
WvProtoStream - a protocol state machine
16.
The Magic of WvCallBack
WvCallback - What does it do?
WvCallback - How to create your own WvCallback?
III.
The IPStreams (TCP/IP sockets interface) Library
17.
Support Classes
WvAddr - storing an arbitrary network address
WvResolver - Background DNS name resolution
18.
Interfacing to Linux Kernel Features
WvInterface - manipulating network interfaces
WvIPRoute - manipulating the routing table
WvIPFirewall - basic ipchains firewall interface
WvIPAliaser - using Linux IP aliasing
WvTunDev - using Linux tunnel devices
WvDcp -
19.
WvUDP - using udp datagrams
20.
WvUDP2 - logically separate udp datagram connections
21.
WvTCP - using tcp streams
22.
WvHTTP - HTTP URL downloader
23.
WvURL
24.
WvUnixConn
IV.
The ConfigFile (.ini manager) Library
25.
Configuration Entries
26.
Configuration Sections
27.
Configuration Files (The WvConf Class)
V.
Network Mapping and Intelligence - the NetMap Library
28.
WvNetCap - network packet capture
29.
WvNetMap - raw host information
30.
WvNetIntelligence - network map reduction
31.
WvPingProbe - active probing
32.
WvNetGuide - route manipulation and overrides
Next
Introduction