Microkernel thing OS experiment (Zig ⚡)
1# limine-zig
2
3Zig bindings for the [The Limine Boot Protocol](https://github.com/limine-bootloader/limine/blob/trunk/PROTOCOL.md).
4
5To use this library, add it to your `build.zig.zon` file manually or use `zig fetch`:
6
7```sh
8zig fetch --save git+https://github.com/48cf/limine-zig#trunk
9```
10
11Then, import the library in your `build.zig`:
12
13```zig
14const limine_zig = b.dependency("limine_zig", .{
15 // The API revision of the Limine Boot Protocol to use, if not provided
16 // it defaults to 0. Newer revisions may change the behavior of the bootloader.
17 .api_revision = 3,
18 // Whether to allow using deprecated features of the Limine Boot Protocol.
19 // If set to false, the build will fail if deprecated features are used.
20 .allow_deprecated = false,
21 // Whether to expose pointers in the API. When set to true, any field
22 // that is a pointer will be exposed as a raw address instead.
23 .no_pointers = false,
24});
25
26// Get the Limine module
27const limine_module = limine_zig.module("limine");
28
29// Import the Limine module into the kernel
30kernel.addImport("limine", limine_module);
31```
32
33You can find an example kernel using this library [here](https://github.com/48cf/limine-zig-template).
34
35To use this library, you need at least Zig 0.14.0.