No description
Find a file
Philippe Pittoli 76e3144436 Ready for Zig v0.15.2. Details in commit message.
The library jumped to Zig v0.15.2 which implies a new build system.
`build.zig` now compiles libipc as both static and dynamic libraries,
and provides an entry point to use `libipc` as-is for Zig applications.

Some examples have been added to help new users play with the library.

Thanks to these fairly complete examples, two (very small) leaks related
to sentinel values (in arrays containing paths) were fixed.
2025-10-25 16:35:02 +02:00
examples Ready for Zig v0.15.2. Details in commit message. 2025-10-25 16:35:02 +02:00
src Ready for Zig v0.15.2. Details in commit message. 2025-10-25 16:35:02 +02:00
.gitignore Switching now works with provided bindings. 2024-06-16 16:02:03 +02:00
build.zig Ready for Zig v0.15.2. Details in commit message. 2025-10-25 16:35:02 +02:00
build.zig.zon Ready for Zig v0.15.2. Details in commit message. 2025-10-25 16:35:02 +02:00
ipc.pc Switching now works with provided bindings. 2024-06-16 16:02:03 +02:00
libipc.h Ready for Zig v0.15.2. Details in commit message. 2025-10-25 16:35:02 +02:00
makefile Ready for Zig v0.15.2. Details in commit message. 2025-10-25 16:35:02 +02:00
makefile.target Allow cross-compilation. 2024-03-21 13:02:02 +01:00
README.md Ready for Zig v0.15.2. Details in commit message. 2025-10-25 16:35:02 +02:00
TODO.md make dist 2024-06-21 21:33:41 +02:00

libipc

libipc - Simple, easy-to-use IPC library.

Compilation

Either make or zig build.

For more options, see either the makefile or build.zig.

Install

make install
# By default, install in the /usr/local/ prefix, but it can be changed.
make install PREFIX=/usr/

Usage

See the examples/ directory.

More examples in the dedicated repository.

Status

LibIPC reached a stable state and is usable. Performance is fine for most projects. The poll syscall is used instead of more recent and faster syscalls (epoll, kqueue, etc.) because it is simpler and available on most systems.

Since the API is great and performances are fine for what I do, I don't plan to change it, not even for faster syscalls. A new library will be implemented if I ever change my mind. So, again, the API should be fairly stable. Enjoy!