- Notifications
You must be signed in to change notification settings - Fork4
cprops - C Prototyping Tools
License
NotificationsYou must be signed in to change notification settings
sabit/libcprops
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
cprops - c prototyping tools============================The c prototyping tools library consists of implementations for several widely used data structures and patterns, rudimentary tcp / httpd functionality anda database abstraction layer. Object oriented development environments usually feature readymade implementations of such tools. Coding in c often allows better performance and closer control over applicationbehavior, which can be crucial in real life situations. libcprops provides generic tools for application development in plain c covering basic data structure implementations, persistence, threading and tcp communication. data structures---------------olinked listoheapopriority_listohashtableohashlistosorted hashoAVL treeored-black treeosplay treeoN-ary treeoPATRICIA tree - a character trieomultimap - a data structure to support multiple indicesapplication level-----------------ocp_mempool, cp_shared_mempool - memory poolocp_thread - thread poolocp_client, cp_socket - tcp socketsocp_httpclient, cp_httpsocket - an HTTP socket apiocp_dbms - a database abstraction layerFor your entertainment, the distribution comes with cpsvc, a web server basedon the cprops api and featuring support for CGI and cpsp, a c based page scripting environment. For more on cpsvc and cpsp see README under the svc/ directory.Dependencies============ * libcprops relies on the POSIX threads api for synchronization features. * ssl features are implemented with OpenSSL. * the build process uses libtool (seehttp://www.gnu.org/software/libtool/libtool.html) * cp_dbms postgres support is based on libpq * cp_dbms mysql support is based on libmysqlclient Compiling=========Once you've installed the library (see INSTALL), you should be able to compileand link against either libcprops.a or libcprops.so, depending on the configuration settings you chose. Here's how you might compile the includedtesthttpsrv.c program on linux:$ gcc -D_REENTRANT -D_XOPEN_SOURCE=500 -c testhttpsrv.c$ gcc -o testhttpsrv testhttpsrv.o -lcprops -lpthread -lsslon Solaris, add -lsocket to the link command.Documentation=============In the works. Man pages for data structures as well as socket, thread pool and http socket apis are available under man3 directory. To see an overview of the library before installing try $ man -M . cpropsThank you for choosing libcprops. If you find a bug, please email iaelion@users.sourceforge.net.