| --- |
| title: facil.io - lib sock - a making sockets in C easy to use. |
| toc: true |
| layout: api |
| --- |
| # A Simple Socket Library for non-blocking Sockets |
| |
| This documentation is incomplete. I would love your help to finish it up. Until that time, please read the documentation in [the `sock.h` header file](https://github.com/boazsegev/facil.io/blob/master/lib/facil/core/sock.h). |
| |
| ## Overview |
| |
| The `sock` linrary was born to solve [many concerns](sock_why) that pop up when using the system sockets API directly. |
| |
| It supports TCP/IP sockets as well as unix doamin sockets. Pipes can also be attached to the library. |
| |
| The `sock.h` API can be divided into a few different categories: |
| |
| - General helper functions |
| |
| - Accepting connections and opening new sockets. |
| |
| - Sending and receiving data. |
| |
| - Read/Write Hooks. |
| |
| ### example |
| |
| ## Constants |
| |
| ## Types |
| |
| ## General Functions |
| |
| ## Socket Initialization and State |
| |
| ## Sending / Receiving Data |
| |
| ## Read/Write Hooks |
| |
| ## Important Notes |