---
title: "getFileSystemInfo(forPath:isRemovable:isWritable:isUnmountable:description:type:)"
framework: appkit
role: symbol
role_heading: Instance Method
path: "appkit/nsworkspace/getfilesysteminfo(forpath:isremovable:iswritable:isunmountable:description:type:)"
---

# getFileSystemInfo(forPath:isRemovable:isWritable:isUnmountable:description:type:)

Returns information about the file system at the specified path.

## Declaration

```swift
func getFileSystemInfo(forPath fullPath: String, isRemovable removableFlag: UnsafeMutablePointer<ObjCBool>?, isWritable writableFlag: UnsafeMutablePointer<ObjCBool>?, isUnmountable unmountableFlag: UnsafeMutablePointer<ObjCBool>?, description: AutoreleasingUnsafeMutablePointer<NSString?>?, type fileSystemType: AutoreleasingUnsafeMutablePointer<NSString?>?) -> Bool
```

## Parameters

- `fullPath`: The path to the file system mount point.
- `removableFlag`: On input, a Boolean variable; on return, this variable contains doc://com.apple.documentation/documentation/Swift/true if the file system is on removable media.
- `writableFlag`: On input, a Boolean variable; on return, this variable contains doc://com.apple.documentation/documentation/Swift/true if the file system writable.
- `unmountableFlag`: On input, a Boolean variable; on return, this variable contains doc://com.apple.documentation/documentation/Swift/true if the file system is unmountable.
- `description`: On input, a pointer to a string object variable; on return, if the method was successful, this variable contains a string object that describes the file system. You should not rely on this description for program logic but can use it in message strings. Values can include “hard,” “nfs,” and “foreign.”
- `fileSystemType`: On input, a pointer to a string object variable; on return, if the method was successful, this variable contains the file system type. Values can include “HFS,” “UFS,” or other values.

## Return Value

Return Value true if the information was returned; otherwise, false.

## Discussion

Discussion You can safely call this method from any thread of your app.

## See Also

### Requesting Information

- [urlForApplication(toOpen:)](appkit/nsworkspace/urlforapplication(toopen:)-7qkzf.md)
- [urlForApplication(toOpen:)](appkit/nsworkspace/urlforapplication(toopen:)-95cvp.md)
- [urlForApplication(withBundleIdentifier:)](appkit/nsworkspace/urlforapplication(withbundleidentifier:).md)
- [urlsForApplications(toOpen:)](appkit/nsworkspace/urlsforapplications(toopen:)-ualk.md)
- [urlsForApplications(toOpen:)](appkit/nsworkspace/urlsforapplications(toopen:)-60rkm.md)
- [urlsForApplications(withBundleIdentifier:)](appkit/nsworkspace/urlsforapplications(withbundleidentifier:).md)
- [isFilePackage(atPath:)](appkit/nsworkspace/isfilepackage(atpath:).md)
- [frontmostApplication](appkit/nsworkspace/frontmostapplication.md)
- [runningApplications](appkit/nsworkspace/runningapplications.md)
- [menuBarOwningApplication](appkit/nsworkspace/menubarowningapplication.md)
- [getInfoForFile(_:application:type:)](appkit/nsworkspace/getinfoforfile(_:application:type:).md)
