Skip to content

punishermalade/clibnpm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Collection of C librairies

The main goal of this repository is to improve my C coding skills and beign able to have re-usable binaries that will save time when building a new project.

All the project contains their own makefile, to enable quick build on any system. All the librairies are designed to be static. This decision was driven by the desire to have portable executable. That will make a final executable bigger in size but it will be able to run without worrying about runtime dependencies.

libnpmcrypto

Based on the LibTomCrypt cryptographic library, this package contains a simplified code base. The goal is to let the developer choose the encryption algorithms that it only needs. Just copy the header file with the corresponding source file and compile it with the target project.

This library is ideal when all the source code needs to be included at compilation time and not having a distinct static library for crypto operation.

Ciphers Advanced Encryption Standard (ECB, CBC modes)

Digest MD5 SHA1 SHA256 SHA512

Pseudo-Random Number Generation Fortuna

libnpmtoolkit

Provides a logger and a stringutils module. The logger follows the same concept as the logger in Android. It is possible to set the verbosity level to control the amount of logs to be shown in the console. The stringutils provides common functions to manipulate string, which can be cumbersome in C sometimes.

To build the libraires, go to the libnpmtoolkit folder in a console and type:

root> make install

A 'dist' folder is created and you just need to import the .a and the header file into your project.

libnpmnetwork

Provides a server implmentation that create a server socket and start listening to a specific port on the host machine. This is all that server does. It needs a request handler (as a function pointer) to handle any incoming client connection. This design will let any developer to concentrate on the functionnality they want to offer instead of having a lot of boilerplate code just to start the server.

To build the librairies, go to the libnpmnetwork folder in a console and type:

root> make install

A 'dist' folder is created and you just need to import the .a and the header file into your project.

About

Collection of C libraries

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages