Kannel is a WAP gateway. It attempts to provide this essential part of the WAP infrastructure freely to everyone so the market potential for WAP services, both from wireless operators and specialized service providers, will be realized as efficiently as possible. It also works as an SMS gateway for GSM networks. Almost all GSM phones can use it to send and receive SMS messages, so this is a way to serve many more clients than just those using a WAP phone. Kannel was among the first WAP gateways to be certified as WAP 1.1 compliant.
Botan is a crypto library written in C++. It provides a variety of cryptographic algorithms, including common ones such as AES, MD5, SHA, HMAC, RSA, Diffie-Hellman, DSA, and ECDSA, as well as many others that are more obscure or specialized. It also offers SSL/TLS (client and server), X.509v3 certificates and CRLs, and PKCS #10 certificate requests. A message processing system that uses a filter/pipeline metaphor allows for many common cryptographic tasks to be completed with just a few lines of code. Assembly and SIMD optimizations for common CPUs offers speedups for critical algorithms like AES and SHA-1.
C/Invoke is a library which can call C functions at runtime with no prior knowledge of the function prototypes. This capability is used to allow any language to call native libraries without writing a separate module in C, similar to the P/Invoke functionality of the .NET framework.
CrissCross is a small cross-platform C++ library for console and file I/O, CPU identification (CPUID), hashing (MD2, MD4, MD5, SHA-1, SHA-256, SHA-512, Tiger), sockets (TCP and UDP only currently), and data structures (LList, DArray, RedBlackTree, AVLTree, SplayTree, etc). It is designed to run on Windows, Linux, FreeBSD, OpenBSD, NetBSD, Mac OS X, and even the Nintendo DS. Other platforms may become supported upon request. The main idea is to provide the ability to write a program using identical calls on the major platforms without needing to rewrite code.
cpuid.c is a very simple C abstraction that provides an interface to common cpuid feature flags. It can be useful when implementing dynamic CPU feature dispatch that relies on optional processor feature extensions or basic processor-specific variables. This package is meant to be a very simple feature detection interface that you can easily integrate into your project. It is not meant to be complex and it is geared for projects implementing dynamic CPU feature dispatch.