LibHID is a user-space HID access library written in C. It provides a
generic and flexible way to access and interact with USB HID devices,
much like libusb does for plain USB devices. It is based on libusb, thus
it requires no HID support in the kernel. Furthermore, it aims to
support all operating system supported by libusb: Linux, BSD, OS X, and
Windows.
Searpc is a simple C language RPC framework based on GObject system.
Searpc handles the serialization/deserialization part of RPC, the
transport part is left to users.
The serialization/deserialization uses JSON format via json-glib
library. A serialized json object is returned from server to client
after executing the RPC function. Each RPC function defined in the
server side should take an extra GError argument to report error.
libshbuf implements a new kind of IPC: the "shared buffer", a faster, more
flexible replacement for standard Unix FIFOs. It offers the following
advantages:
- Normally better latency and throughput
- Full access to the buffer at any time
- Connecting processes need not to be children of each other
- Arbitrary buffer lengths
- Memory mapped
- "Backlog"
The implementation is based on SysV shared memory, semaphores and message
queues. It makes use of POSIX pthreads.
The GNU Binutils are a collection of binary tools. The main ones are:
* ld - the GNU linker.
* as - the GNU assembler.
Most of these programs use BFD, the Binary File Descriptor library, to do
low-level manipulation. Many of them also use the opcodes library to assemble
and disassemble machine instructions.
This port may be used as a replacement for the system binutils and support
features from the latest versions of GCC.
For cross-compilation, see the devel/cross-binutils port.
php-memoize is a PHP extension which transparently caches PHP functions, much
like Perl's Memoize module.
It comes with the following storage modules which can be enabled at compile
time:
- memory: Simple per-request module with no dependencies.
Since this is a per-request cache, neither TTLs specified in the
`memoize()` call or `memoize.default_ttl` are used.
- memcached: Uses libmemcached or the memcached PHP extension
The Xdebug extension helps you debugging your script by providing a lot of
valuable debug information. The debug information that Xdebug can provide
includes the following:
* stack and function traces in error messages with:
o full parameter display for user defined functions
o function name, file name and line indications
o support for member functions
* memory allocation
* protection for infinite recursions
Xdebug also provides:
* profiling information for PHP scripts
* script execution analysis
* capabilities to debug your scripts interactively with a debug client
Log4J, a fast and flexible logging library for Java.
Log4J is an open source library based on the work of many authors.
It allows the developer to control which log statements are output
with arbitrary granularity. It is fully configurable at runtime
using external configuration files. Best of all, Log4J has a gentle
learning curve. Beware: judging from user feedback, it is also quite
addictive.
Netli Configuration library (NCNF) is the module for C applications to
efficiently read and use the configuration file contents. NCNF converts
the on-disk configuration file structure to the memory-based tree of
configuration objects. Basic NCNF API does not make a distinction
between different types of configuration objects. However, there are a
couple of additional functions present to ease the use of certain types
of configuration objects.
What is it?
-----------
NAnt is a .NET-based build tool. In theory it is kind of like make without
make's wrinkles. In practice it's a lot like Ant.
If you are not familiar with Jakarta Ant, you can get more information at the
Ant project web site (http://ant.apache.org/).
Why NAnt?
---------
Because Ant was too Java-specific.
Because Ant needed the Java runtime. NAnt only needs the .NET or Mono runtime.
This OCaml-library consists of a set of modules which implement
automatically resizing (= reallocating) data structures that consume
a contiguous part of memory. This allows appending and removing of
elements to/from arrays (both boxed and unboxed), strings (-> buffers),
bit strings and weak arrays while still maintaining fast constant-time
access to elements.
There are also functors that allow the generation of similar modules
which use different reallocation strategies.