| Crates.io | dma-heap |
| lib.rs | dma-heap |
| version | 0.4.1 |
| created_at | 2021-06-02 13:31:19.100795+00 |
| updated_at | 2025-05-26 07:33:15.647737+00 |
| description | Linux DMA-Buf Heap Abstraction Library |
| homepage | |
| repository | https://github.com/mripard/dma-heap/ |
| max_upload_size | |
| id | 405294 |
| size | 22,316 |
The DMA-Buf Heap interface in Linux is aimed at providing a way for the user-space to allocate memory buffers that can be efficiently shared between multiple devices through the DMA-Buf mechanism. It aims at superseeding the ION Interface previously found in Android.
This library provides a safe abstraction over this interface for Rust.
use std::os::unix::io::OwnedFd;
use dma_heap::{Heap, HeapKind};
let heap = Heap::new(HeapKind::Cma)
.unwrap();
// Buffer will automatically be freed when `buffer` goes out of scope.
let buffer: OwnedFd = heap.allocate(1024).unwrap();