An easy-to-use, single-file socket library, written in C.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Aadhavan Srinivasan 5df38a4e97 Updated Makefile 2 years ago
docs/man3 Added man pages for library 2 years ago
.gitignore Added gitignore file 2 years ago
Makefile Updated Makefile 2 years ago
README.md Updated README 2 years ago
easysock.c Updated return values to better conform with the other functions 2 years ago
easysock.h Changed exit statements with return statements 2 years ago

README.md

An easy-to-use C socket library

Easysock is a single-file, easy-to-use socket library, that can be used for network programming in C. It has no dependencies other than the C standard library.


Compiling

The library can be compiled using the provided Makefile.

make

There are a few optional targets, which enable specific functionality.

allwarn - enable all warnings debug - compile with 'debug' flag static - compile as statically linked library - NOT IMPLEMENTED


They can be used as follows:

make [TARGET NAME]


Installation

The library can also be installed using the provided Mekfile.

make install

The install target supports two environment variables. DESTDIR, which specifies the installation directory, and PREFIX which specifies the installation prefix. They can be used as follows:

DESTDIR=/home/user PREFIX=/usr/local make install

This will install the library file in /home/user/usr/local/lib and the header file in /home/user/usr/local/include.


Usage

To use the library, simply include the header file:

#include <easysock.h>
...

and link the library: gcc example.c -o example -leasysock


Troubleshooting

The library isn't loaded on Arch Linux, "cannot open shared object file: No such file or directory"

This is becacuse Arch Linux doesn't include '/usr/local/lib' in its library search path by default. To add it, create a file ending in '.conf' under /etc/ld.so.conf.d/, and add '/usr/local/lib' to it. Then, run ldconfig as root.



This file was written using Dillinger.