add README

This commit is contained in:
ari melody 2025-05-05 18:22:23 +01:00
parent b6a4bb5a58
commit 11a8556250
Signed by: ari
GPG key ID: 60B5F0386E3DDB7E

34
README.md Normal file
View file

@ -0,0 +1,34 @@
# C plugins
learning how to write a dynamic plugin loader in C!
## how does it work?
the core application will scan a nearby `plugins` directory for plugins.
the core expects this directory structure:
- `pluginhost`
- `plugins`
- `plugin1`
- `plugin1.so`
- `plugin2`
- `plugin2.so`
each plugin must minimally contain two functions:
- `int ari_plugin_load(void)`
- `int ari_plugin_unload(void)`
once loading all plugins, the core will call these functions within each
detected plugin, and exit.
## how to use
> [!WARNING]
> this software only supports linux at the moment. no plans to support other
> platforms at this time!
- `make` to build the core application
- `make all_plugins` to build all plugins
- `make all` to build both!
- `make clean` to tidy up the environment
- once built, run `./pluginhost` to test the application.