Class EncryptedFS

Hierarchy

  • CreateDestroyStartStop
    • EncryptedFS

Constructors

  • Parameters

    • __namedParameters: {
          blockSize: number;
          chrootParent?: EncryptedFS;
          chroots?: Set<EncryptedFS>;
          crypto?: {
              key: Buffer;
              ops: Crypto;
          };
          db: DB;
          dbOwned: boolean;
          fdMgr: FileDescriptorManager;
          iNodeMgr: INodeManager;
          iNodeMgrOwned: boolean;
          logger: Logger;
          rootIno: INodeIndex;
          umask: number;
      }
      • blockSize: number
      • Optional chrootParent?: EncryptedFS
      • Optional chroots?: Set<EncryptedFS>
      • Optional crypto?: {
            key: Buffer;
            ops: Crypto;
        }
        • key: Buffer
        • ops: Crypto
      • db: DB
      • dbOwned: boolean
      • fdMgr: FileDescriptorManager
      • iNodeMgr: INodeManager
      • iNodeMgrOwned: boolean
      • logger: Logger
      • rootIno: INodeIndex
      • umask: number

    Returns EncryptedFS

Properties

[initLock]: RWLockWriter
_cwd: CurrentDirectory
blockSize: number
chrootParent?: EncryptedFS
chroots: Set<EncryptedFS>
crypto?: {
    key: Buffer;
    ops: Crypto;
}

Type declaration

  • key: Buffer
  • ops: Crypto
db: DB
dbOwned: boolean
fdMgr: FileDescriptorManager
gid: number = permissions.DEFAULT_ROOT_GID
iNodeMgr: INodeManager
iNodeMgrOwned: boolean
logger: Logger
rootIno: INodeIndex
uid: number = permissions.DEFAULT_ROOT_UID
umask: number

Accessors

  • get [destroyed](): boolean
  • Returns boolean

  • get [eventHandled](): ReadonlyWeakSet<Event>
  • Returns ReadonlyWeakSet<Event>

  • get [eventHandlers](): ReadonlyMap<string, Set<EventHandlerInfo>>
  • Returns ReadonlyMap<string, Set<EventHandlerInfo>>

  • get [eventTarget](): EventTarget
  • Returns EventTarget

  • get [handleEventError](): ((evt) => void)
  • Returns ((evt) => void)

      • (evt): void
      • Parameters

        • evt: EventError

        Returns void

  • get [running](): boolean
  • Returns boolean

  • get [statusP](): Promise<Status>
  • Returns Promise<Status>

  • get [status](): Status
  • Returns Status

Methods

  • This call must handle concurrent races to create the file inode

    Parameters

    • path: Path
    • flags: string | number
    • mode: number = permissions.DEFAULT_FILE_PERM
    • Optional tran: DBTransaction

    Returns Promise<[FileDescriptor, FdIndex]>

  • Parameters

    • type: string
    • callback: null | EventListenerOrEventListenerObject
    • Optional options: boolean | AddEventListenerOptions

    Returns void

  • Checks the permissions fixng the current uid and gid. If the user is root, they can access anything.

    Parameters

    • access: number
    • stat: Stat

    Returns boolean

  • Parameters

    • path: Path
    • uid: number
    • gid: number
    • Optional callback: Callback

    Returns Promise<void>

  • Parameters

    • path: Path
    • uid: number
    • gid: number
    • Optional callback: Callback

    Returns Promise<void>

  • Parameters

    • fdIndex: FdIndex
    • Optional callback: Callback

    Returns Promise<void>

  • Parameters

    • path: Path
    • Optional options: OptionsStream

    Returns ReadStream

  • Parameters

    • path: Path
    • Optional options: OptionsStream

    Returns WriteStream

  • Returns Promise<void>

  • Parameters

    • event: Event

    Returns boolean

  • Parameters

    Returns Promise<boolean | void>

  • Parameters

    • fdIndex: FdIndex
    • offset: number
    • len: number
    • Optional callback: Callback

    Returns Promise<void>

  • Parameters

    • fdIndex: FdIndex
    • mode: number
    • Optional callback: Callback

    Returns Promise<void>

  • Parameters

    • fdIndex: FdIndex
    • uid: number
    • gid: number
    • Optional callback: Callback

    Returns Promise<void>

  • Parameters

    • fdIndex: FdIndex
    • Optional callback: Callback

    Returns Promise<void>

  • Parameters

    • fdIndex: FdIndex
    • Optional len: number

    Returns Promise<void>

  • Parameters

    Returns Promise<void>

  • Parameters

    • fdIndex: FdIndex
    • len: number
    • callback: Callback

    Returns Promise<void>

  • Parameters

    • fdIndex: FdIndex
    • atime: string | number | Date
    • mtime: string | number | Date
    • Optional callback: Callback

    Returns Promise<void>

  • Processes data types and collapses it to a Buffer. The data types can be Buffer or Uint8Array or string.

    Parameters

    • data: Data
    • encoding: undefined | BufferEncoding = undefined

    Returns Buffer

  • Takes a default set of options, and merges them shallowly into the user provided options. Object spread syntax will ignore an undefined or null options object.

    Parameters

    • defaultOptions: {
          encoding?: BufferEncoding;
          flag?: string;
          mode?: number;
          recursive?: boolean;
      }
      • Optional encoding?: BufferEncoding
      • Optional flag?: string
      • Optional mode?: number
      • Optional recursive?: boolean
    • Optional options: BufferEncoding | Options

    Returns Options

  • Processes path types and collapses it to a string. The path types can be string or Buffer or URL.

    Parameters

    Returns string

  • Acquires the file path from an URL object.

    Parameters

    • url: URL

    Returns string

  • Parameters

    • path: Path
    • uid: number
    • gid: number
    • Optional callback: Callback

    Returns Promise<void>

  • Parameters

    • fdIndex: FdIndex
    • position: number
    • Optional seekFlags: number

    Returns Promise<number>

  • Parameters

    • fdIndex: FdIndex
    • position: number
    • callback: Callback<[number]>

    Returns Promise<void>

  • Parameters

    • fdIndex: FdIndex
    • position: number
    • seekFlags: number
    • callback: Callback<[number]>

    Returns Promise<void>

  • Parameters

    • pathSPrefix: string
    • Optional options: Options

    Returns Promise<string | Buffer>

  • Parameters

    • pathSPrefix: string
    • callback: Callback<[string | Buffer]>

    Returns Promise<void>

  • Parameters

    • pathSPrefix: string
    • options: Options
    • callback: Callback<[string | Buffer]>

    Returns Promise<void>

  • Makes an inode

    This call must handle concurrent races to create the inode

    Parameters

    • path: Path
    • type: number
    • major: number
    • minor: number
    • Optional mode: number

    Returns Promise<void>

  • Parameters

    • path: Path
    • type: number
    • major: number
    • minor: number
    • callback: Callback

    Returns Promise<void>

  • Parameters

    • path: Path
    • type: number
    • major: number
    • minor: number
    • mode: number
    • callback: Callback

    Returns Promise<void>

  • Navigates the filesystem tree from root. You can interpret the results like: target == null => Non-existent segment name === '' => Target is at root name === '.' => dir is the same as target name === '..' => dir is a child directory

    Parameters

    • pathS: string
    • resolveLastLink: boolean = true
    • activeSymlinks: Set<INodeIndex> = ...
    • origPathS: string = pathS

    Returns Promise<Navigated>

  • Navigates the filesystem tree from a given directory. You should not use this directly unless you first call _navigate and pass the remaining path to _navigateFrom. Note that the pathStack is always the full path to the target.

    Each navigateFrom call usually has its own transaction context It does not preserve transaction context on recursive calls to this.navigate or this.navigateFrom. This is because navigation on from a particular inode is a self-contained operation.

    Callers must pass an existing transaction context if they are navigating from an inode that was just created within that transaction context, this is necessary because otherwise there will be a deadlock when this.navigateFrom starts their own transaction context on that inode

    Parameters

    • curdir: INodeIndex
    • pathS: string
    • resolveLastLink: boolean = true
    • activeSymlinks: Set<INodeIndex> = ...
    • pathStack: string[] = []
    • origPathS: string = pathS
    • Optional tran: DBTransaction

    Returns Promise<Navigated>

  • Parameters

    • path: Path
    • flags: string | number
    • Optional mode: number

    Returns Promise<FdIndex>

  • Parameters

    • path: Path
    • flags: string | number
    • callback: Callback<[FdIndex]>

    Returns Promise<void>

  • Parameters

    • path: Path
    • flags: string | number
    • mode: number
    • callback: Callback<[FdIndex]>

    Returns Promise<void>

  • Parameters

    • fdIndex: FdIndex
    • buffer: Data
    • Optional offset: number
    • Optional length: number
    • Optional position: number

    Returns Promise<number>

  • Parameters

    Returns Promise<void>

  • Parameters

    • fdIndex: FdIndex
    • buffer: Data
    • offset: number
    • callback: Callback<[number]>

    Returns Promise<void>

  • Parameters

    • fdIndex: FdIndex
    • buffer: Data
    • offset: number
    • length: number
    • callback: Callback<[number]>

    Returns Promise<void>

  • Parameters

    • fdIndex: FdIndex
    • buffer: Data
    • offset: number
    • length: number
    • position: number
    • callback: Callback<[number]>

    Returns Promise<void>

  • Parameters

    • type: string
    • callback: null | EventListenerOrEventListenerObject
    • Optional options: boolean | EventListenerOptions

    Returns void

  • Parameters

    • workerManager: DBWorkerManagerInterface

    Returns void

  • Parameters

    • __namedParameters: {
          fresh?: boolean;
      } = {}
      • Optional fresh?: boolean

    Returns Promise<void>

  • Returns Promise<void>

  • Makes a symlink

    This call must handle concurrent races to create the symlink inode

    Parameters

    • dstPath: Path
    • srcPath: Path
    • Optional type: string

    Returns Promise<void>

  • Parameters

    Returns Promise<void>

  • Parameters

    Returns Promise<void>

  • Parameters

    • path: Path
    • atime: string | number | Date
    • mtime: string | number | Date
    • Optional callback: Callback

    Returns Promise<void>

  • Parameters

    • fdIndex: FdIndex
    • data: Data
    • Optional offsetOrPos: number
    • Optional lengthOrEncoding: string | number
    • Optional position: number

    Returns Promise<number>

  • Parameters

    Returns Promise<void>

  • Parameters

    • fdIndex: FdIndex
    • data: Data
    • offsetOrPos: number
    • callback: Callback<[number]>

    Returns Promise<void>

  • Parameters

    • fdIndex: FdIndex
    • data: Data
    • offsetOrPos: number
    • lengthOrEncoding: string | number
    • callback: Callback<[number]>

    Returns Promise<void>

  • Parameters

    • fdIndex: FdIndex
    • data: Data
    • offsetOrPos: number
    • lengthOrEncoding: string | number
    • position: number
    • callback: Callback<[number]>

    Returns Promise<void>

  • Parameters

    • __namedParameters: {
          blockSize?: number;
          dbKey: Buffer;
          dbPath: string;
          fdMgr?: FileDescriptorManager;
          fresh?: boolean;
          iNodeMgr?: INodeManager;
          logger?: Logger;
          umask?: number;
      }
      • Optional blockSize?: number
      • dbKey: Buffer
      • dbPath: string
      • Optional fdMgr?: FileDescriptorManager
      • Optional fresh?: boolean
      • Optional iNodeMgr?: INodeManager
      • Optional logger?: Logger
      • Optional umask?: number

    Returns Promise<EncryptedFS>

  • Parameters

    • __namedParameters: {
          blockSize?: number;
          db: DB;
          fdMgr?: FileDescriptorManager;
          fresh?: boolean;
          iNodeMgr?: INodeManager;
          logger?: Logger;
          umask?: number;
      }
      • Optional blockSize?: number
      • db: DB
      • Optional fdMgr?: FileDescriptorManager
      • Optional fresh?: boolean
      • Optional iNodeMgr?: INodeManager
      • Optional logger?: Logger
      • Optional umask?: number

    Returns Promise<EncryptedFS>

Generated using TypeDoc