Class StatusFlags
Bit-flag definitions for Status and helpers for
decoding them into human-readable labels. Mirrors the FILESTATUS_*
constants in FEX.Core.Common.pas.
Inherited Members
Namespace: FexViewer.Models
Assembly: FexViewer.dll
Syntax
public static class StatusFlags
Fields
FILESTATUS_ALLOCATED
File is allocated (not deleted).
Declaration
public const ulong FILESTATUS_ALLOCATED = 1
Field Value
| Type | Description |
|---|---|
| ulong |
FILESTATUS_CONTAINER
Entry is a container (e.g. archive root).
Declaration
public const ulong FILESTATUS_CONTAINER = 16
Field Value
| Type | Description |
|---|---|
| ulong |
FILESTATUS_CORRUPT
File or its metadata is corrupt.
Declaration
public const ulong FILESTATUS_CORRUPT = 256
Field Value
| Type | Description |
|---|---|
| ulong |
FILESTATUS_DELETED
File is marked deleted by the filesystem.
Declaration
public const ulong FILESTATUS_DELETED = 2
Field Value
| Type | Description |
|---|---|
| ulong |
FILESTATUS_DEVICE
Entry is a device node.
Declaration
public const ulong FILESTATUS_DEVICE = 131072
Field Value
| Type | Description |
|---|---|
| ulong |
FILESTATUS_ENCRYPTED
File content is encrypted.
Declaration
public const ulong FILESTATUS_ENCRYPTED = 536870912
Field Value
| Type | Description |
|---|---|
| ulong |
FILESTATUS_FILE
Entry is a regular file.
Declaration
public const ulong FILESTATUS_FILE = 32
Field Value
| Type | Description |
|---|---|
| ulong |
FILESTATUS_FOLDER
Entry is a directory.
Declaration
public const ulong FILESTATUS_FOLDER = 4
Field Value
| Type | Description |
|---|---|
| ulong |
FILESTATUS_FORENSIC
Marker indicating a forensic-copy entry.
Declaration
public const ulong FILESTATUS_FORENSIC = 512
Field Value
| Type | Description |
|---|---|
| ulong |
FILESTATUS_FRAGMENTED
File is fragmented across non-contiguous extents.
Declaration
public const ulong FILESTATUS_FRAGMENTED = 16384
Field Value
| Type | Description |
|---|---|
| ulong |
FILESTATUS_FREESPACE
Synthetic entry covering free / unallocated space.
Declaration
public const ulong FILESTATUS_FREESPACE = 1048576
Field Value
| Type | Description |
|---|---|
| ulong |
FILESTATUS_GDASSIGNED
Identifier was synthesized by GetData rather than the source filesystem.
Declaration
public const ulong FILESTATUS_GDASSIGNED = 64
Field Value
| Type | Description |
|---|---|
| ulong |
FILESTATUS_LOSTFILE
Orphaned / lost-cluster file recovered without a parent directory.
Declaration
public const ulong FILESTATUS_LOSTFILE = 8
Field Value
| Type | Description |
|---|---|
| ulong |
FILESTATUS_MOVED
Entry was relocated within the filesystem.
Declaration
public const ulong FILESTATUS_MOVED = 128
Field Value
| Type | Description |
|---|---|
| ulong |
FILESTATUS_PARTITION
Synthetic root node representing a partition.
Declaration
public const ulong FILESTATUS_PARTITION = 524288
Field Value
| Type | Description |
|---|---|
| ulong |
FILESTATUS_SYMLINK
Entry is a symbolic or hard link.
Declaration
public const ulong FILESTATUS_SYMLINK = 1024
Field Value
| Type | Description |
|---|---|
| ulong |
FILESTATUS_SYSTEM
Entry is a system file.
Declaration
public const ulong FILESTATUS_SYSTEM = 32768
Field Value
| Type | Description |
|---|---|
| ulong |
NON_USER_FILE_MASK
Combined bit-mask matching entries that are NOT regular user files
— system files, device nodes, partition roots, and free-space
markers. Use with (status & NON_USER_FILE_MASK) != 0 to
skip these during extraction.
Declaration
public const ulong NON_USER_FILE_MASK = 1736704
Field Value
| Type | Description |
|---|---|
| ulong |
Methods
Decode(ulong)
Returns the labels corresponding to every bit set in
status, ordered low bit to high bit.
Declaration
public static IReadOnlyList<string> Decode(ulong status)
Parameters
| Type | Name | Description |
|---|---|---|
| ulong | status | Status bit-field from Status. |
Returns
| Type | Description |
|---|---|
| IReadOnlyList<string> | Read-only list of human-readable flag names; empty if no bits are set. |
DecodeInteresting(ulong, string)
Returns a compact joined label string covering only the most "interesting" flags (Deleted / Folder / File / System / Encrypted / FreeSpace / Symlink / Corrupt). Useful for table output where the full bit-field would be too noisy.
Declaration
public static string DecodeInteresting(ulong status, string separator = ",")
Parameters
| Type | Name | Description |
|---|---|---|
| ulong | status | Status bit-field. |
| string | separator | Separator string. Default is |
Returns
| Type | Description |
|---|---|
| string | Joined label string, possibly empty. |
DecodeJoined(ulong, string)
Convenience overload of Decode(ulong) that joins the labels with the given separator.
Declaration
public static string DecodeJoined(ulong status, string separator = ",")
Parameters
| Type | Name | Description |
|---|---|---|
| ulong | status | Status bit-field. |
| string | separator | Separator string. Default is |
Returns
| Type | Description |
|---|---|
| string | Joined label string, possibly empty. |