libmowgli-2 icon indicating copy to clipboard operation
libmowgli-2 copied to clipboard

mowgli development framework (version 2) -- generic runtime for atheme applications

libmowgli - A useful collection of routines for programming -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

libmowgli is a free but copyrighted library, check COPYING for details.

Contents

  1. What is libmowgli?
  2. Installation
  3. Bug Reports

What is libmowgli?

libmowgli is a class library containing performance and usability oriented extensions to C.

It contains: - mowgli.alloc: A safe wrapper around malloc/free. - mowgli.argstack: Safe serialization of valists. - mowgli.assert: Various assertion routines that can be used. - mowgli.bitvector: Bitmasks with an unlimited level of precision. - mowgli.patricia: A dictionary implementation based on a modified patricia tree algorithm (uses nibbles instead of bits for branching). - mowgli.error_backtrace: Provide feedback to users on what caused the error they are recieving. - mowgli.formatter: A simple token formatter which is sometimes useful. - mowgli.global_storage: A simple global storage library. - mowgli.hash: A portable implementation of the FNV-1 hash. - mowgli.heap: An optimistic heap-based memory allocator - mowgli.hook: A simple hooks API you can use for your application, which allows for hooks to provide both application data and user data. - mowgli.json: A simple, flexible, reentrant JSON parser - mowgli.list: A high performance linked lists implementation with O(1) scalability for most common operations. - mowgli.logger: An internal class for handling logging of exceptions. - mowgli.module: A wrapper around dlopen(3) and dlsym(3). - mowgli.object: A simple class which provides reference counted pointers and polymorphism of structs. - mowgli.object_class: Classing and subclassing for objects. - mowgli.object_metadata: Metadata for objects. - mowgli.object_messaging: Messaging and signalling for objects. - mowgli.queue: A simple class which implements double-ended queues. - mowgli.random: A high performance psuedo-random number generator. - mowgli.signal: A wrapper for sigaction(2). - mowgli.eventloop: A portable event loop implementation. - mowgli.vio: An abstraction layer for I/O. - mowgli.linebuf: A line-buffering implementation for clients. - mowgli.thread: Minimal thread abstraction.

More classes will be added with later releases. Please use GitHub's issue tracker if you have suggestions on what should be implemented.

Installation

Installation is fairly typical:

$ ./configure $ make $ sudo make install

(If sudo isn't on your system, su to root. On GNU systems you can even do "su -c 'make install'", which is basically the same thing as using sudo.)

Bug Reports

Bugs can be reported using the GitHub issue tracker on the libmowgli-2 project page: https://github.com/atheme/libmowgli-2/issues