Programmer's Guide to the WvStreams Libraries

Worldvisions Weaver Project


Table of Contents
Introduction
I. The Utilities Library
Introduction
1. Basic String Handling
String Utilities (strutils.cc)
Version String Manipulation (verstring.cc)
Base64 Encoding Tools (base64.cc)
2. WvString - dynamic character strings
Introduction
WvString Examples
3. WvLinkList - type-safe linked lists and iterators
4. WvHashTable - type-safe hash tables and iterators
5. WvBuffer - dynamically-resizing binary buffers
6. WvLockFile - tty lock file creation
II. The Streams Library
7. WvStream - communications fundamentals
Basic WvStream Examples
Reading and Writing
Waiting on a stream with select()
Callback Functions
Delays and Timeouts
8. Some Simple Streams
WvFile - accessing Unix files
WvFileWatcher - waiting for a file to change
WvPipe - talking to subtasks
WvModem - baud rates and terminal modes
9. Dealing with Log Messages
WvLog - printing log messages
WvLogRcv - receiving and disposing of log messages
WvLogBuffer - saving log messages to a buffer
WvSyslog - sending log messages to syslog
10. WvStreamList - dealing with multiple streams
Don't do this
Do this instead
An Interesting Example
11. Some Magical Streams
WvStreamClone - a stream within a stream
WvSplitStream - separating read and write streams
WvLoopback - talking to yourself across fork()
12. Some Unusual Streams
WvTimeStream - timed events
WvProtoStream - a protocol state machine
III. The IPStreams (TCP/IP sockets interface) Library
13. Support Classes
WvAddr - storing an arbitrary network address
WvResolver - Background DNS name resolution
14. Interfacing to Linux Kernel Features
WvInterface - manipulating network interfaces
WvIPRoute - manipulating the routing table
WvIPFirewall - basic ipchains firewall interface
WvIPAliaser - using Linux IP aliasing
15. WvUDP - using udp datagrams
16. WvUDP2 - logically separate udp datagram connections
17. WvTCP - using tcp streams
18. WvHTTP - HTTP URL downloader
IV. The ConfigFile (.ini manager) Library
19. Configuration Entries
20. Configuration Sections
21. Configuration Files
V. Network Mapping and Intelligence - the NetMap Library
22. WvNetCap - network packet capture
23. WvNetMap - raw host information
24. WvNetIntelligence - network map reduction
25. WvPingProbe - active probing
26. WvNetGuide - route manipulation and overrides