UNPKG

nufatfs

Version:

A new async-friendly library for accessing FAT16 and FAT32 filesystems

68 lines 3.22 kB
import { Chain } from "./chained-structures"; import { ClusterAllocator } from "./cluster-allocator"; import { ClusterChainLink } from "./cluster-chain"; import { BaseBootSectorInfo, Driver, Fat32Extension, FatBootInfo, FatFSDirectoryEntry, FatFSInformation } from "./types"; export declare class FatError extends Error { } export type CachedFatDirectoryEntry = CachedDirectory | FatFSDirectoryEntry; export declare const FAT_MARKER_DELETED = 229; export declare const FORBIDDEN_ATTRIBUTES_FOR_FILE: number; export declare class CachedDirectory { private fat; initialCluster: number; underlying: FatFSDirectoryEntry | null; rawDirectoryEntries?: CachedFatDirectoryEntry[]; constructor(fat: LowLevelFatFilesystem, initialCluster: number, underlying: FatFSDirectoryEntry | null); getEntries(): Promise<CachedFatDirectoryEntry[]>; findEntry(name: string, typeRequired?: 'directory' | 'file'): Promise<CachedFatDirectoryEntry | null>; listDir(): Promise<string[] | null>; static readyMade(fat: LowLevelFatFilesystem, entries: FatFSDirectoryEntry[], initialCluster: number, underlying: FatFSDirectoryEntry | null): CachedDirectory; } export declare enum FatType { Fat12 = 0, Fat16 = 1, Fat32 = 2 } export declare class LowLevelFatFilesystem { driver: Driver; bootsectorInfo?: BaseBootSectorInfo; fatBootInfo?: FatBootInfo; fat32Extension?: Fat32Extension; fsInfo?: FatFSInformation; maxCluster: number; maxDataCluster: number; fatType: FatType; get isFat16Or12(): boolean; fat16ClusterAreaOffset: number; root?: CachedDirectory; isWritable: boolean; endOfChain: number[]; alteredFATSectors: Set<number>; private fatAltered; private fatContents?; private alteredDirectoryEntries; allocator?: ClusterAllocator; private clusterToSector; readFATClusterEntry(number: number): number; writeFATClusterEntry(number: number, next: number): void; private get dataSectorOffset(); get logicalSectorsPerFat(): number; get clusterSizeInBytes(): number; private constructor(); private load; getRootDirectoryData(): Promise<FatFSDirectoryEntry[]>; markAsAltered(entry: CachedDirectory): void; markFatAsAltered(): void; consumeAllDirectoryEntries(data: Uint8Array, includeDeleted?: boolean): FatFSDirectoryEntry[]; getClusterChainFromFAT(initialCluster: number): number[]; constructClusterChain(initialCluster: number, enableAllocator?: boolean, limitLength?: number): Chain<ClusterChainLink>; readAndConsumeAllDirectoryEntries(initialCluster: number): Promise<FatFSDirectoryEntry[]>; readClusters(clusterNumber: number, count: number): Promise<Uint8Array>; writeClusters(clusterNumber: number, data: Uint8Array): Promise<void>; redefineClusterChain(oldInitialCluster: number, newChain: number[]): Promise<void>; flush(): Promise<void>; traverseEntries(path: string): Promise<CachedFatDirectoryEntry[] | null>; traverse(path: string): Promise<CachedFatDirectoryEntry | null>; static _create(driver: Driver, bypassCoherencyCheck?: boolean, forceFSType?: FatType): Promise<LowLevelFatFilesystem>; } //# sourceMappingURL=low-level.d.ts.map