> For the complete documentation index, see [llms.txt](https://libec.erayd.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://libec.erayd.net/usage.md).

# Usage

```c
#include <ec.h>

int main(void) {
    if(ec_init() != 0) {
        //init failed
    }
    ...
}
```

`ec.h` is the only header required, and declares all user-accessible functionality. `-lec` will link to it.

`ec_init()` should be called before any other function in the library.

All functions other than `ec_init()` are thread-safe, but data structures should not be shared by multiple threads without appropriate protection.
