<!--
{
  "availability" : [
    "macOS: 15.4.0 - 27.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "FSKit",
  "identifier" : "/documentation/FSKit/FSVolume/ReadWriteOperations",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "FSKit"
    ],
    "preciseIdentifier" : "c:objc(pl)FSVolumeReadWriteOperations"
  },
  "title" : "FSVolume.ReadWriteOperations"
}
-->

# FSVolume.ReadWriteOperations

Methods implemented for read and write operations that deliver data to and from the extension.

```
protocol ReadWriteOperations : NSObjectProtocol
```

## Overview

Most volumes conform to either this protocol or [`FSVolumeKernelOffloadedIOOperations`](/documentation/FSKit/FSVolumeKernelOffloadedIOOperations).
You can conform to both if you need to provide kernel-offloaded I/O only for certain files.
In that case, files with the [`inhibitKernelOffloadedIO`](/documentation/FSKit/FSItem/Attribute/inhibitKernelOffloadedIO) attribute set use this protocol, and those without it use [`FSVolumeKernelOffloadedIOOperations`](/documentation/FSKit/FSVolumeKernelOffloadedIOOperations).
A volume that doesn’t conform to either protocol can’t support any I/O operation.

> Deprecated: Use ``doc://FSKit/documentation/FSKit/FSVolume/ReadWriteHandler`` instead.

## Topics

### Reading and writing

[`read(from:at:length:into:replyHandler:)`](/documentation/FSKit/FSVolume/ReadWriteOperations/read(from:at:length:into:replyHandler:))

Reads the contents of the given file item.

[`FSMutableFileDataBuffer`](/documentation/FSKit/FSMutableFileDataBuffer)

A wrapper object for a data buffer.

[`write(contents:to:at:replyHandler:)`](/documentation/FSKit/FSVolume/ReadWriteOperations/write(contents:to:at:replyHandler:))

Writes contents to the given file item.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)