Added Licensing.
This added the new License and stamped all the files with it.
This commit is contained in:
70
README.md
70
README.md
@ -1,5 +1,65 @@
|
||||
# Binding #
|
||||
There are many common data types and functions used when interfacing
|
||||
with C libraries. The Binding library attempts to define the more commonly
|
||||
needed types and functions to help speed up the process of wrapping
|
||||
these libraries.
|
||||
# Binding
|
||||
|
||||
`binding` is a foundational Rust crate providing safe and ergonomic
|
||||
abstractions for Foreign Function Interface (FFI) bindings. It serves as the
|
||||
core layer for building robust, cross-platform Rust bindings to native C APIs,
|
||||
enabling seamless integration between Rust and C codebases.
|
||||
|
||||
---
|
||||
|
||||
## Features
|
||||
|
||||
- Safe abstractions over unsafe FFI calls
|
||||
- Ergonomic trait-driven interfaces for common binding patterns
|
||||
- Cross-platform support for Windows and Linux
|
||||
- Designed with zero-cost abstractions in mind, maintaining performance
|
||||
- Facilitates building high-quality Rust wrappers around C libraries
|
||||
|
||||
---
|
||||
|
||||
## Add to Your Project
|
||||
|
||||
This library is hosted on the CyberMages registry. To add it to your project,
|
||||
the CyberMages registry must be added to your Cargo configuration as described
|
||||
in the [Cargo Book](https://doc.rust-lang.org/cargo/reference/registries.html).
|
||||
|
||||
First, add the registry to your Cargo config (`.cargo/config.toml` or
|
||||
`$CARGO_HOME/config.toml`):
|
||||
|
||||
```toml
|
||||
[registries.cybermages]
|
||||
index = "sparse+https://workshop.cybermages.tech/api/packages/CyberMages/cargo/"
|
||||
```
|
||||
|
||||
Then add `binding` as a dependency in your `Cargo.toml`:
|
||||
|
||||
```toml
|
||||
[dependencies]
|
||||
binding = { version = "0.x", registry = "cybermages" }
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Getting Started
|
||||
|
||||
## Motivation
|
||||
|
||||
Working with native C libraries from Rust often requires careful handling of
|
||||
unsafe code and complex boilerplate. The `binding` crate aims to reduce this
|
||||
friction by providing reusable, well-tested abstractions that improve safety,
|
||||
readability, and maintainability of Rust FFI code.
|
||||
|
||||
---
|
||||
|
||||
## Copyright & License
|
||||
|
||||
Copyright 2017 CyberMages LLC
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this library except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS
|
||||
|
Reference in New Issue
Block a user