GSK Reference Manual
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.
Runtime Toggled Debug Logging
-- methods to quickly turn logging on and off for portions of GSK.
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
memory-based streams
-- streams whose data is "memory", inside pointer-accessed data.
Standard Objects: the URL class
GskUrl
-- A Universal Resource Locator (or Identifier) object.
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: the FTP client and server
gskftpcommon
--
Standard Streams: standard compression algorithms
GskZlibDeflator
-- a zlib compressor.
GskZlibInflator
-- a zlib decompressor
gskzlib
--
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
--
gskdate
-- Date parsing and printing code.
Questionable ideas
gsktree
-- A robustly iterateable tree.
gskfork
-- Functions to call to clean up after forking.
Core Library Support >>>