libwired  2.0
UNIX C library for the Wired protocol
Presentation of libwired

Introduction

This is the source-code documentation of libwired. This library was created and is mainly intended for use by the Wired network suite. It contains collections and other data structures, and portable abstractions for many OS services, like threads, sockets, files, etc.

libwired is written in ANSI-C to ensure portability for many operating systems. The programming interface is mainly written following object-oriented C techniques. The implementation logic and vocabulary are very close to GNUstep/Cocoa APIs.

The Wired protocol is a BBS-oriented network protocol (similar to Hotline, Carracho, KDX, etc.). It provides communication features like chat, messaging, and file tranfers in a very secure server/client architecture.

Requirements

OpenSSL

http://www.openssl.org/source/

libxml2

http://xmlsoft.org/

sqlite3

http://www.sqlite.org/

Architecture

The Wired library is composed of several logical modules.

 libwired/
     base/
     collections/
     crypto/
     data/
     file/
     misc/
     net/
     p7/
     system/
     thridparty/
     thread/

Base

The base module mainly provides base types, functions and macros for the Wired object-oriented runtime and library management.

Collections

The collection module regroups Wired classes to manage collections of objects, like array, set, dictionary and their related object enumerating operations.

Crypto

The crypto module handles cryptographic features, mainly built around OpenSSL and CommonCrypto libraries, in order to make the Wired network protocol secure.

Data

The data module regroups object representations of low-level data types like raw data, strings, dates, numbers, etc.

File

The data module provides file management features by taking care of operating systems implemenations.

Misc

The misc module regroups miscellaneous classes used by the Wired library for errors management, regular expressions, config files management, etc.

Net

The net module regroups low-level implementation for point-to-point network communications using sockets.

P7

The p7 module regroups classes related to the network implementation of the Wired protocol version 2.0, based on a XML specification.

System

The system module provides an interface to interact with operating system features like process, logs, tasks, terminal, etc.

Third-Party

The thirdparty module regroups wrappers for third-party libraries. Here it is about libxml2 and sqlite3 libraries.

Thread

The thread module provides support for threads and locks based on pthread library if this component is provided by the target operating system.



 All Data Structures Files Functions Variables Typedefs Enumerator Defines