Log in / create account Page Discussion History Go to the site toolbox

Projects/Libmowgli

From Atheme

Contents

Introduction

libmowgli is a class library containing performance and usability oriented extensions to C. It is designed to work in conjunction with GTK+'s GLib, but also functions well as a standalone library.

Features

libmowgli 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_dictionary: A keyword-backed definition hashtable class.
  • mowgli_error_backtrace: Provide feedback to users on what caused the error they are recieving.
  • mowgli_exception: Assertions with user feedback.
  • 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_ioevent: Portable I/O completion ports for many OSes.
  • 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_memorypool: A class which allows for memory pooling.
  • 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_spinlock: Portable spinlocks.

Download

Latest stable release:

  • 0.7.0:
    • tgz (MD5: 402c2de0da7f83f5e3390397ad994b20) (SHA256: f9dc4959fe14c3ff5627e35363c815090f75afb0f7d733d48556bb20d8f6c4e6)
    • tbz2 (MD5: b4666d37ae78358ca5d1833f4e706b3c) (SHA256: fdd3bb2f576d3a000d9c7406744d6bdc3e2380ed1c242111a67092ec3e0ac3b4)

Previous releases:

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.)

Copying

Copyright (c) 2005-2007 Atheme Project (http://www.atheme.org)

Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice is present in all copies.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Site Toolbox:

Personal tools
This page was last modified 13:54, 6 July 2008. - This page has been accessed 727 times. - Disclaimers - About Atheme
Powered by MediaWiki