-
Notifications
You must be signed in to change notification settings - Fork 578
FSKit macOS xcode27.0 b5
Alex Soto edited this page Aug 10, 2026
·
1 revision
#FSKit.framework
diff -ruN /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSVolume.h /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSVolume.h
--- /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSVolume.h 2026-07-15 00:41:25
+++ /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSVolume.h 2026-08-06 01:06:55
@@ -381,19 +381,11 @@
@end
+/// Methods common to `FSVolumeHandler` and `FSVolumeOperations`
+FSKIT_API_AVAILABILITY_V1
+NS_SWIFT_NAME(FSVolume.CommonOperations)
+@protocol FSVolumeCommonOperations
-/// Methods that all volumes implement to provide required capabilities.
-///
-/// Conform to this protocol in your subclass of ``FSVolume``.
-/// To provide additional capabilities, conform to the other `FSVolume` operations protocols, such as ``FSVolumeOpenCloseOperations`` and ``FSVolumeReadWriteOperations``.
-///
-/// > Note: This protocol extends ``FSVolumePathConfOperations``, so your volume implementation must also conform to that protocol.
-///
-/// > Deprecated: Use ``FSVolume/Handler`` instead.
-FSKIT_API_INTRODUCED_V1_DEPRECATED_V3_WITH_REPLACEMENT("FSVolumeHandler")
-NS_SWIFT_NAME(FSVolume.Operations)
-@protocol FSVolumeOperations <NSObject, FSVolumePathConfOperations>
-
/// A property that provides the supported capabilities of the volume.
@property (readonly, nonatomic) FSVolumeSupportedCapabilities *supportedVolumeCapabilities;
@@ -412,16 +404,75 @@
///
/// FSKit reads this value after the file system replies to the `loadResource` message.
/// Changing the returned value during the runtime of the volume has no effect.
-@property BOOL enableOpenUnlinkEmulation FSKIT_API_AVAILABILITY_V2;
+@property (readonly) BOOL enableOpenUnlinkEmulation FSKIT_API_AVAILABILITY_V2;
/// A property that allows the file system to request for specific mount options from FSKit.
///
/// FSKit reads this value after the volume replies to the ``mount(options:)`` call.
/// Changing the returned value during the runtime of the volume has no effect.
-@property FSMountOptions requestedMountOptions FSKIT_API_AVAILABILITY_V2_4;
+@property (readonly) FSMountOptions requestedMountOptions FSKIT_API_AVAILABILITY_V2_4;
@required
+/// Mounts this volume, using the specified options.
+///
+/// FSKit calls this method as a signal that some process is trying to mount this volume.
+/// Your file system receives a call to ``activate(options:)`` prior to receiving any mount calls.
+///
+/// - Parameters:
+/// - options: Options to apply to the mount. These can include security-scoped file paths. There are no defined options currently.
+/// - reply: A block or closure to indicate success or failure. If mounting fails, pass an error as the one parameter to the reply handler. If mounting succeeds, pass `nil`. For an `async` Swift implementation, there's no reply handler; simply return normally.
+-(void)mountWithOptions:(FSTaskOptions *)options
+ replyHandler:(void(^)(NSError * _Nullable error))reply
+NS_SWIFT_NAME(mount(options:replyHandler:));
+
+/// Unmounts this volume.
+///
+/// Clear and flush all cached state in your implementation of this method.
+///
+/// - Parameters:
+/// - reply: A block or closure to indicate success or failure. If unmounting fails, pass an error as the one parameter to the reply handler. If unmounting succeeds, pass `nil`. For an `async` Swift implementation, there's no reply handler; simply return normally.
+-(void)unmountWithReplyHandler:(void(^)(void))reply
+NS_SWIFT_NAME(unmount(replyHandler:));
+
+/// Synchronizes the volume with its underlying resource.
+///
+/// After calling this method, FSKit assumes that the volume has sent all pending I/O or metadata to its resource.
+///
+/// - Parameters:
+/// - flags: Timing flags, as defined in `mount.h.` These flags let the file system know whether to run the operation in a blocking or nonblocking fashion.
+/// - reply: A block or closure to indicate success or failure. If synchronization fails, pass an error as the one parameter to the reply handler. If synchronization succeeds, pass `nil`. For an `async` Swift implementation, there's no reply handler; simply throw an error or return normally.
+-(void)synchronizeWithFlags:(FSSyncFlags)flags
+ replyHandler:(void(^)(NSError * _Nullable error))reply
+NS_SWIFT_NAME(synchronize(flags:replyHandler:));
+
+/// Reclaims an item, releasing any resources allocated for the item.
+///
+/// FSKit guarantees that for every ``FSItem`` returned by the volume, a corresponding reclaim operation occurs after the upper layers no longer reference that item. To use this behavior, call ``FSItem/tryReclaim(_:)`` in your implementation of this method.
+///
+/// > Note: Block device file systems may assess whether an underlying resource terminates before processing reclaim operations. On unary file systems, for example, the associated volumes unmount when such resources disconnect from the system. The unmount triggers a reclaiming of all items. Some implementations benefit greatly from short-circuiting in such cases. With a terminated resource, all I/O results in an error, making short-circuiting the most efficient response.
+///
+/// - Parameters:
+/// - item: The item to reclaim.
+/// - reply: A block or closure to indicate success or failure. If removal fails, pass an error as the one parameter to the reply handler. If removal succeeds, pass `nil`. For an `async` Swift implementation, there's no reply handler; simply throw an error or return normally.
+-(void)reclaimItem:(FSItem *)item
+ replyHandler:(void(^)(NSError * _Nullable error))reply
+NS_SWIFT_NAME(reclaimItem(_:replyHandler:));
+
+@end
+
+/// Methods that all volumes implement to provide required capabilities.
+///
+/// Conform to this protocol in your subclass of ``FSVolume``.
+/// To provide additional capabilities, conform to the other `FSVolume` operations protocols, such as ``FSVolumeOpenCloseOperations`` and ``FSVolumeReadWriteOperations``.
+///
+/// > Note: This protocol extends ``FSVolumePathConfOperations``, so your volume implementation must also conform to that protocol.
+///
+/// > Deprecated: Use ``FSVolume/Handler`` instead.
+FSKIT_API_INTRODUCED_V1_DEPRECATED_V3_WITH_REPLACEMENT("FSVolumeHandler")
+NS_SWIFT_NAME(FSVolume.Operations)
+@protocol FSVolumeOperations <NSObject, FSVolumeCommonOperations, FSVolumePathConfOperations>
+
/// Activates the volume using the specified options.
///
/// When FSKit calls this method, allocate any in-memory state required to represent the file system.
@@ -456,38 +507,6 @@
replyHandler:(void (^)(NSError * _Nullable err))reply
NS_SWIFT_NAME(deactivate(options:replyHandler:));
-/// Mounts this volume, using the specified options.
-///
-/// FSKit calls this method as a signal that some process is trying to mount this volume.
-/// Your file system receives a call to ``activate(options:)`` prior to receiving any mount calls.
-///
-/// - Parameters:
-/// - options: Options to apply to the mount. These can include security-scoped file paths. There are no defined options currently.
-/// - reply: A block or closure to indicate success or failure. If mounting fails, pass an error as the one parameter to the reply handler. If mounting succeeds, pass `nil`. For an `async` Swift implementation, there's no reply handler; simply return normally.
--(void)mountWithOptions:(FSTaskOptions *)options
- replyHandler:(void(^)(NSError * _Nullable error))reply
-NS_SWIFT_NAME(mount(options:replyHandler:));
-
-/// Unmounts this volume.
-///
-/// Clear and flush all cached state in your implementation of this method.
-///
-/// - Parameters:
-/// - reply: A block or closure to indicate success or failure. If unmounting fails, pass an error as the one parameter to the reply handler. If unmounting succeeds, pass `nil`. For an `async` Swift implementation, there's no reply handler; simply return normally.
--(void)unmountWithReplyHandler:(void(^)(void))reply
-NS_SWIFT_NAME(unmount(replyHandler:));
-
-/// Synchronizes the volume with its underlying resource.
-///
-/// After calling this method, FSKit assumes that the volume has sent all pending I/O or metadata to its resource.
-///
-/// - Parameters:
-/// - flags: Timing flags, as defined in `mount.h.` These flags let the file system know whether to run the operation in a blocking or nonblocking fashion.
-/// - reply: A block or closure to indicate success or failure. If synchronization fails, pass an error as the one parameter to the reply handler. If synchronization succeeds, pass `nil`. For an `async` Swift implementation, there's no reply handler; simply throw an error or return normally.
--(void)synchronizeWithFlags:(FSSyncFlags)flags
- replyHandler:(void(^)(NSError * _Nullable error))reply
-NS_SWIFT_NAME(synchronize(flags:replyHandler:));
-
/// Looks up an item within a directory.
///
/// If no item matching `name` exists in the directory indicated by `directory`, complete the request with an error with a domain of <doc://com.apple.documentation/documentation/Foundation/NSPOSIXErrorDomain> and a code of `ENOENT`.
@@ -505,18 +524,7 @@
NSError * _Nullable error))reply
NS_SWIFT_NAME(lookupItem(named:inDirectory:replyHandler:));
-/// Reclaims an item, releasing any resources allocated for the item.
-///
-/// FSKit guarantees that for every ``FSItem`` returned by the volume, a corresponding reclaim operation occurs after the upper layers no longer reference that item. To use this behavior, call ``FSItem/tryReclaim(_:)`` in your implementation of this method.
-///
-/// > Note: Block device file systems may assess whether an underlying resource terminates before processing reclaim operations. On unary file systems, for example, the associated volumes unmount when such resources disconnect from the system. The unmount triggers a reclaiming of all items. Some implementations benefit greatly from short-circuiting in such cases. With a terminated resource, all I/O results in an error, making short-circuiting the most efficient response.
-///
-/// - Parameters:
-/// - item: The item to reclaim.
-/// - reply: A block or closure to indicate success or failure. If removal fails, pass an error as the one parameter to the reply handler. If removal succeeds, pass `nil`. For an `async` Swift implementation, there's no reply handler; simply throw an error or return normally.
--(void)reclaimItem:(FSItem *)item
- replyHandler:(void(^)(NSError * _Nullable error))reply
-NS_SWIFT_NAME(reclaimItem(_:replyHandler:));
+// `reclaimItem(_:replyHandler:)` is in `FSVolume.CommonOperations`
/// Creates a new file or directory item.
///
@@ -731,7 +739,7 @@
/// > Important: This protocol replaces the ``FSVolumeOperations`` protocol. It exposes the same functionality, while using ``FSVolumeHandlerResult`` objects. These objects add the ability to reply with ``FSItemAttributes`` and free space from the relevant methods.
FSKIT_API_AVAILABILITY_V3
NS_SWIFT_NAME(FSVolume.Handler)
-@protocol FSVolumeHandler <NSObject, FSVolumePathConfOperations>
+@protocol FSVolumeHandler <NSObject, FSVolumeCommonOperations, FSVolumePathConfOperations>
// A property that provides the supported capabilities of the volume.
@property (readonly, nonatomic) FSVolumeSupportedCapabilities *supportedVolumeCapabilities;
@@ -739,28 +747,6 @@
/// A property that provides up-to-date statistics of the volume.
@property (readonly, nonatomic) FSStatFSResult * volumeStatistics;
-@optional
-
-/// A property that allows the file system to use open-unlink emulation.
-///
-/// _Open-unlink_ functionality refers to a file system's ability to support an open file being fully unlinked from the file system namespace.
-/// If a file system doesn't support this functionality, FSKit can emulate it instead; this is called "open-unlink emulation".
-///
-/// Implement this property to return `true` (Swift) or `YES` (Objective-C) to allow FSKit to perform open-unlink emulation.
-/// If you don't implement this property at all, FSKit doesn't perform open-unlink emulation for this volume.
-///
-/// FSKit reads this value after the file system replies to the `loadResource` message.
-/// Changing the returned value during the runtime of the volume has no effect.
-@property (readonly) BOOL enableOpenUnlinkEmulation;
-
-/// A property that allows the file system to request for specific mount options from FSKit.
-///
-/// FSKit reads this value after the volume replies to the ``mount(options:replyHandler:)`` call.
-/// Changing the returned value during the runtime of the volume has no effect.
-@property (readonly) FSMountOptions requestedMountOptions;
-
-@required
-
/// Activates the volume using the specified options.
///
/// When FSKit calls this method, allocate any in-memory state required to represent the file system.
@@ -772,9 +758,9 @@
/// - Parameters:
/// - options: Options to apply to the activation. These can include security-scoped file paths. There are no defined options currently.
/// - reply: A block or closure to indicate success or failure. If activation succeeds, pass an instance of ``FSActivateResult`` containing the root ``FSItem``, along with a `nil` error. If activation fails, pass the relevant error as the second parameter; FSKit ignores the ``FSActivateResult`` instance in this case. For an `async` Swift implementation, there's no reply handler; simply return the result instance or throw an error.
--(void)activateWithOptions:(FSTaskOptions *)options
- replyHandler:(void (^)(FSActivateResult * _Nullable result, NSError * _Nullable error))FSKIT_CALLED_ONCE reply
-NS_SWIFT_NAME(activate(options:replyHandler:));
+-(void)activateVolumeWithOptions:(FSTaskOptions *)options
+ replyHandler:(void (^)(FSActivateResult * _Nullable result, NSError * _Nullable error))FSKIT_CALLED_ONCE reply
+NS_SWIFT_NAME(activateVolume(options:replyHandler:));
/// Tears down a previously initialized volume instance.
///
@@ -790,38 +776,29 @@
/// - Parameters:
/// - options: Options to apply to the deactivation.
/// - reply: A block or closure to indicate success or failure. If activation fails, pass an error as the one parameter to the reply handler. If activation succeeds, pass `nil`. For an `async` Swift implementation, there's no reply handler; simply throw an error or return normally.
--(void)deactivateWithOptions:(FSDeactivateOptions)options
- replyHandler:(void (^)(NSError * _Nullable error))FSKIT_CALLED_ONCE reply
-NS_SWIFT_NAME(deactivate(options:replyHandler:));
+-(void)deactivateVolumeWithOptions:(FSDeactivateOptions)options
+ replyHandler:(void (^)(NSError * _Nullable error))FSKIT_CALLED_ONCE reply
+NS_SWIFT_NAME(deactivateVolume(options:replyHandler:));
-/// Mounts this volume, using the specified options.
-///
-/// FSKit calls this method as a signal that some process is trying to mount this volume.
-/// Your file system receives a call to ``activate(options:replyHandler:)`` prior to receiving any mount calls.
-///
-/// - Parameters:
-/// - options: Options to apply to the mount. These can include security-scoped file paths. There are no defined options currently.
-/// - reply: A block or closure to indicate success or failure. If mounting fails, pass an error as the one parameter to the reply handler. If mounting succeeds, pass `nil`. For an `async` Swift implementation, there's no reply handler; simply return normally.
+// `mount(options:replyHandler:)` is in `FSVolume.CommonOperations`
+//
+// Define it here so that we can decorate it with FSKIT_CALLED_ONCE
+
-(void)mountWithOptions:(FSTaskOptions *)options
replyHandler:(void(^)(NSError * _Nullable error))FSKIT_CALLED_ONCE reply
NS_SWIFT_NAME(mount(options:replyHandler:));
-/// Unmounts this volume.
-///
-/// Clear and flush all cached state in your implementation of this method.
-///
-/// - Parameters:
-/// - reply: A block or closure to indicate success or failure. If unmounting fails, pass an error as the one parameter to the reply handler. If unmounting succeeds, pass `nil`. For an `async` Swift implementation, there's no reply handler; simply return normally.
+// `unmount(replyHandler:)` is in `FSVolume.CommonOperations`
+//
+// Define it here so that we can decorate it with FSKIT_CALLED_ONCE
+
-(void)unmountWithReplyHandler:(void(^)(void))FSKIT_CALLED_ONCE reply
NS_SWIFT_NAME(unmount(replyHandler:));
-/// Synchronizes the volume with its underlying resource.
-///
-/// After calling this method, FSKit assumes that the volume has sent all pending I/O or metadata to its resource.
-///
-/// - Parameters:
-/// - flags: Timing flags, as defined in `mount.h.` These flags let the file system know whether to run the operation in a blocking or nonblocking fashion.
-/// - reply: A block or closure to indicate success or failure. If synchronization fails, pass an error as the one parameter to the reply handler. If synchronization succeeds, pass `nil`. For an `async` Swift implementation, there's no reply handler; simply throw an error or return normally.
+// `synchronize(flags:replyHandler:)` is in `FSVolume.CommonOperations`
+//
+// Define it here so that we can decorate it with FSKIT_CALLED_ONCE
+
-(void)synchronizeWithFlags:(FSSyncFlags)flags
replyHandler:(void(^)(NSError * _Nullable error))FSKIT_CALLED_ONCE reply
NS_SWIFT_NAME(synchronize(flags:replyHandler:));
@@ -843,15 +820,10 @@
replyHandler:(void(^)(FSLookupItemResult * _Nullable result, NSError * _Nullable error))FSKIT_CALLED_ONCE reply
NS_SWIFT_NAME(lookupItem(named:in:context:replyHandler:));
-/// Reclaims an item, releasing any resources allocated for the item.
-///
-/// FSKit guarantees that for every ``FSItem`` returned by the volume, a corresponding reclaim operation occurs after the upper layers no longer reference that item. To use this behavior, call ``FSItem/tryReclaim(_:)`` in your implementation of this method.
-///
-/// > Note: Block device file systems may assess whether an underlying resource terminates before processing reclaim operations. On unary file systems, for example, the associated volumes unmount when such resources disconnect from the system. The unmount triggers a reclaiming of all items. Some implementations benefit greatly from short-circuiting in such cases. With a terminated resource, all I/O results in an error, making short-circuiting the most efficient response.
-///
-/// - Parameters:
-/// - item: The item to reclaim.
-/// - reply: A block or closure to indicate success or failure. If removal fails, pass an error as the one parameter to the reply handler. If removal succeeds, pass `nil`. For an `async` Swift implementation, there's no reply handler; simply throw an error or return normally.
+// `reclaimItem(_:replyHandler:)` is in `FSVolume.CommonOperations`
+//
+// Define it here so that we can decorate it with FSKIT_CALLED_ONCE
+
-(void)reclaimItem:(FSItem *)item
replyHandler:(void(^)(NSError * _Nullable error))FSKIT_CALLED_ONCE reply
NS_SWIFT_NAME(reclaimItem(_:replyHandler:));
diff -ruN /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSVolumeHandlerResult.h /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSVolumeHandlerResult.h
--- /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSVolumeHandlerResult.h 2026-07-15 00:41:25
+++ /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSVolumeHandlerResult.h 2026-08-06 01:06:55
@@ -40,7 +40,7 @@
/// The result of an activate call.
///
-/// Use this type in your implementation of ``FSVolume/Handler/activate(options:replyHandler:)``.
+/// Use this type in your implementation of ``FSVolume/Handler/activateVolume(options:replyHandler:)``.
FSKIT_API_AVAILABILITY_V3
@interface FSActivateResult : FSVolumeHandlerResult