- History
- History of how c-client came about.
- Overview
- Read this before designing an application that uses c-client.
- c-client Structures
- Documentation of several important c-client structs which are
used in, and returned by, c-client calls.
- String Structures
- Documentation of the concept of a "string structure", which
provides random access to strings without requiring that the
string be in memory.
- c-client Support Functions
- Documentation of support functions for c-client; these deal
with c-client functionality.
Only mail_parameters() is of interest to most application
developers. Advanced application developers, particularly
for limited memory systems, may also need to know about the
readfn_t, mailgets_t, mailcache_t, and tcptimeout_t function
pointer types, and possibly also the mail_valid_net_parse()
function.
- Mailbox Access Functions
- Documentation of functions which deal with mailboxes;
listing, subscribing, creating, deleting, renaming, status
inquiries, opening, and closing mailboxes.
- Handle Functions
- Documentation of mail stream handles, which provide protection
for an advanced application which may have multiple pointers to
a single mail stream. If a stream has a handle on it, closing
the stream does not release its memory, so pointers to it in
the application remain valid. Freeing the last handle will free
the entire stream.
This is only of interest for advanced application developers.
- Message Data Fetching Functions
- Documentation on message data fetching in an open mailbox,
including parsed representations of RFC-822 and MIME headers
and message text. Also how to fetch message attributes (flags,
internal date, sizes).
- Message Status Manipulation Functions
- Documentation on altering message flags in an open mailbox.
- Mailbox Searching
- Documentation on searching an open mailbox for messages which
match certain criteria (e.g. "messages sent July 4 from Jones
with text `Paris'").
- Miscellaneous Mailbox and Message Functions
- Documentation on other operations that would be used by an
application but that don't fit into any of the above categories.
- Date/Time Handling Functions
- Documentation on functions that deal with date/time strings.
This is only of interest for advanced application developers
and for implementors of new c-client drivers.
- Utility Functions
- Documentation on internal utility functions.
This is primarily of interest for implementors of new c-client
drivers, but advanced application developers may also use some
of these functions.
- Data Structure Instantiation/Destruction functions
- Documentation on creating and destroy c-client structures.
This is primarily of interest for implementors of new c-client
drivers. However, application developers will need some of
these functions to create and destroy structures which are used
as arguments to various application functions.
- Authentication Functions
- Documentation on support for network protocol authentication
functions.
This is only of interest for implementors of new c-client
drivers which deal with authentication mechanisms.
- Network Access Functions
- Documentation on creating and destroy c-client structures.
This is primarily of interest for implementors of new c-client
drivers which deal with a network. However, advanced
application developers may need to use this information if they
wish to insert their own layer into a network session.
- Subscription Management Functions
- Documentation on managing the local (client-based) subscription
database file.
This is primarily of interest to advanced application developers.
- Miscellaneous Utility Functions
- Documentation on various useful utility functions, such as "make
a copy of this string."
- SMTP Functions
- Documentation on posting email messages via SMTP protocol.
- NNTP Functions
- Documentation on posting netnews messages via NNTP protocol.
- RFC 822 Support Functions
- Documentation on public RFC-822/MIME functions.
This is primarily of interest for implementors of new c-client
drivers and advanced application developers.
- Operating System-Dependent Public Interface
- Documentation on OS-dependent functions. With the exception of
fs_get(), fs_give(), and fs_resize(), which should be called
instead of malloc(), free(), and realloc(), these functions are
primarily of interest for implementors of new c-client drivers.
- Main Program Callbacks
- Documentation of functions which the main program must provide
as callbacks from c-client.
- Driver Interface
- Documentation of the driver dispatch vector and the functions
which a driver must supply.
This is primarily of interest for implementors of new c-client
drivers.
- Driver Support Functions
- Documentation of support functions which are called by drivers.
This is primarily of interest for implementors of new c-client
drivers.