Fossil IO is an extensive and versatile library meticulously crafted to manage input, output, and error handling across a multitude of platforms. This library offers a comprehensive array of functions dedicated to secure data handling, efficient file stream management, and detailed error reporting. Developed in the C programming language, Fossil IO is engineered to support high-performance and reliable I/O operations, ensuring uniform and predictable behavior across various operating systems, including Windows, macOS, and Linux. By leveraging Fossil IO, developers can achieve consistent and secure I/O operations, making it an indispensable tool for cross-platform software development.
- Cross-Platform Compatibility: Provides consistent I/O operations across major operating systems, including Windows, macOS, and Linux.
- Secure Input and Output: Includes functions for secure data handling, preventing common vulnerabilities such as buffer overflows and format string attacks.
- Modular Design: Comprises separate modules for error handling, output, input, file streams, and SOAP functions, allowing for easy integration and customization.
- Efficient File Handling: Supports file stream operations with a focus on secure and reliable file I/O.
- Error Reporting: Includes a comprehensive set of error codes and a lookup function to provide detailed error messages.
To get started, ensure you have the following installed:
- Meson Build System: If you don’t have Meson
1.8.0
or newer installed, follow the installation instructions on the official Meson website. - Conan Package Manager: If you prefer using Conan, ensure it is installed by following the instructions on the official Conan website.
To add a git-wrap, place a .wrap
file in subprojects
with the Git repo URL and revision, then use dependency('fossil-io')
in meson.build
so Meson can fetch and build it automatically.
Add the fossil-io.wrap
file in your subprojects
directory and include the following content:
[wrap-git]
url = https://github.com/fossillogic/fossil-io.git
revision = v0.2.4
[provide]
dependency_names = fossil-io
Note: For the best experience, always use the latest releases. Visit the releases page for the latest versions.
Fossil IO offers configurable options to tailor the build process to your needs:
- Running Tests: To enable testing, configure the build with
-Dwith_test=enabled
.
Example:
meson setup builddir -Dwith_test=enabled
The project is designed so that test cases serve two purposes:
- ✅ Unit Tests – validate the framework’s correctness.
- 📖 Usage Samples – demonstrate how to use these libraries through test cases.
This approach keeps the codebase compact and avoids redundant “hello world” style examples.
Instead, the same code that proves correctness also teaches usage.
This mirrors the Meson build system itself, which tests its own functionality by using Meson to test Meson.
In the same way, Fossil Logic validates itself by demonstrating real-world usage in its own tests via Fossil Test.
meson test -C builddir -v
Running the test suite gives you both verification and practical examples you can learn from.
For contributions, issue reporting, or support, please open an issue on the project repository or visit the Fossil Logic Docs for more information. Your feedback and contributions are appreciated.