odirect 0.3.0

Minimal cross-platform direct I/O abstraction for Rust.
Documentation
# odirect

Minimal cross-platform direct I/O abstraction for Rust.

## Features

- Linux: `O_DIRECT`
- macOS: `F_NOCACHE`
- Windows: `FILE_FLAG_NO_BUFFERING`

## Installation

```toml
[dependencies]
odirect = "0.3.0"
```

## Usage

```rust
use odirect::{open_direct_file, AccessMode};

fn main() {
    let file = open_direct_file(
        "data.bin",
        AccessMode::ReadWrite,
    );

    match file {
        Ok(_) => println!("opened successfully"),
        Err(e) => println!("error: {}", e),
    }
}
```

## Supported Access Modes

```rust
AccessMode::Read
AccessMode::Write
AccessMode::ReadWrite
```

## Notes

Direct/unbuffered I/O behavior differs across operating systems.

- Linux uses `O_DIRECT`
- macOS uses `F_NOCACHE`
- Windows uses `FILE_FLAG_NO_BUFFERING`

Some platforms may require aligned buffers and aligned reads/writes when performing direct I/O operations.