Table of Contents

Core Library Support
Lightweight Hookable Events - a blockable, optionally shutdown-able, trap-able structure inside a GObject.
Library Initialization - Perform general initialization with limited argument parsing.
Helpful Macros - Various macros to eliminate tedious typing, beyond those provided by glib.
Base Input/Output Object - A base class with input and output triggers, but no actual read or write methods. Those are left for derived classes to support.
Binary Input/Output Stream Base - A byte stream. This has methods to read and write data, and it inherits read/write notification from GskStream.
gskstreamconnection - Connection between the input of one stream and the output of another.
Main Loop (Generic Event Management) - Convenient way to be notified when certain types of event occur.
Socket Address Lookup by Name - A way to lookup addresses from names. (Like a generic DNS.)
Useful GTypes - some types useful to servers
GskBuffer - a fast, flexible in-memory data buffer
Old-Fashioned errno Handling - A few tricks which operate on the same type as errno, an int.
Error Codes - An exhaustive composite list of error codes.
Trivial Main Functions. - These are trivial interfaces to the main-loop.
Glib Helper Routines - Miscellaneous helper routines that could conceivably be moved to glib someday.
Datagram I/O - base class for datagram I/O classes
Binary Packet - A binary data packet.
Listening for Connections - Base class for server-type objects.
Client Stream - Create a GskStream which is connecting to a remote address.
Socket Addresses. - The location of a socket endpoint, in some domain.
gsklog - convenient logging methods around the glib mechanism
Debugging Hints - How to debug your program
Runtime Toggled Debug Logging - methods to quickly turn logging on and off for portions of GSK.
gskutils -
Object Hierarchy
Tutorials
Writing a Generic Server - How to write a server
Writing a Generic Client - How to write a client
Writing an HTTP Server - How to write a webserver
Writing a HTTP Client - How to write a web client
Standard Implementations
GskPacketQueueFd - A PacketQueue based on a file descriptor.
GskStreamFd - a file-descriptor based GskStream
GskStreamExternal - streams which connect to another process.
GskStreamListenerSocket - socket-based stream-listener.
gskbufferstream - Simple Buffering Stream
Standard Objects: the URL class
GskUrl - A Universal Resource Locator (or Identifier) object.
GskUrlTransfer - Transfer data with a location by URL.
GskUrlTransferHttp - An HTTP- or HTTPS-based transfer.
Standard Streams: the HTTP client and server
GskHttpHeader - Base class for HTTP headers.
GskHttpRequest - An HTTP header that is sent from client to server.
GskHttpResponse - An HTTP header that is sent from server to client.
GskHttpClient - The client end of an HTTP connection.
GskHttpServer - The server end of an HTTP connection.
Standard Streams: standard compression algorithms
GskZlibDeflator - a zlib compressor.
GskZlibInflator - a zlib decompressor
gskzlib -
Standard Streams: utility streams
GskStreamQueue -
memory-based streams - streams whose data is "memory", inside pointer-accessed data.
DNS library (client and server support)
gskdns -
gskdnsrrcache - A cache of Resource Record data.
gskdnsclient - This is a DNS client.
gskdnslocalresolver - a DNS resolver which uses just a local resource-record cache.
gskdnsresolver - An interface that DNS resolvers provide.
gskdnsserver - base class for a DNS server.
SSL interface
GskStreamSsl -
MIME handling
gskmimemultipartpiece -
GskMimeMultipartDecoder - read Content-Type multipart/*.
RPC protocols
gskxmlrpc - XMLRPC definitions
GskXmlrpcStream - a stream of XMLRPC method calls and responses.
Main Loops
GskMainLoopDevPoll - /dev/poll based event loop.
GskMainLoopKqueue - a kqueue-based event loop.
GskMainLoopPoll - a poll(2)-based main-loop.
GskMainLoopPollBase - a base class for file-descriptor-only polling mechanisms.
GskMainLoopSelect - a select(2)-based event loop.
Odds and Ends
Base-64 - Base-64 Encoding and Decoding
gskhash - hash computing objects
gskmempool - pooling memory allocators.
gsknetworkinterface - Obtain information about your local network interfaces.
gskdate - Date parsing and printing code.
Macro Madness
gsklistmacros - macro-based list macros
gskrbtreemacros - Flexible Red-Black Trees implemented as macros
gskqsortmacro - inline qsort macro
Questionable ideas
gsktree - A robustly iterateable tree.
gskfork - Functions to call to clean up after forking.