/memmap2-rs

cross-platform Rust API for memory mapped IO

Primary LanguageRustApache License 2.0Apache-2.0

memmap2

Build Status Windows Build status Crate Documentation Rust 1.13+

A Rust library for cross-platform memory mapped IO.

This is a fork of the memmap-rs crate.

Changes

  • Remove winapi dependency. memmap-rs/pull/89
  • Use LICENSE-APACHE instead of README.md for some tests since it's immutable.

Features

  • file-backed memory maps
  • anonymous memory maps
  • synchronous and asynchronous flushing
  • copy-on-write memory maps
  • read-only memory maps
  • stack support (MAP_STACK on unix)
  • executable memory maps
  • huge page support

Platforms

memmap2 should work on any platform supported by libc. memmap2 requires Rust stable 1.13 or greater.

memmap2 is continuously tested on:

  • x86_64-unknown-linux-gnu (Linux)
  • i686-unknown-linux-gnu
  • x86_64-unknown-linux-musl (Linux MUSL)
  • x86_64-apple-darwin (OSX)
  • i686-apple-darwin
  • x86_64-pc-windows-msvc (Windows)
  • i686-pc-windows-msvc
  • x86_64-pc-windows-gnu
  • i686-pc-windows-gnu

memmap2 is continuously cross-compiled against:

  • arm-linux-androideabi (Android)
  • aarch64-unknown-linux-gnu (ARM)
  • arm-unknown-linux-gnueabihf
  • mips-unknown-linux-gnu (MIPS)
  • x86_64-apple-ios (iOS)
  • i686-apple-ios

License

memmap2 is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE, LICENSE-MIT for details.

Copyright (c) 2015 Dan Burkert.