Documentation

Miri.Input.EvalUnixFsConstruction

Source construction for the pinned Unix filesystem shim family. Compiler ABI facts, guest memory, descriptors and directory storage stay in the actual EvalWorld. This layer accepts only raw host filesystem effects; policy remains in the existing UnixFs interpreter modules.

structure Miri.Input.EvalUnixFsConstruction.HostEffects (S H D O Path HM Time E ReadDir Entry : Type) :

Actual host operations not represented by the current source seed. Values are raw std::fs/path/ReadDir observations; this record has no guest-memory, compiler-layout, errno, descriptor-table, directory-table or shim-policy callbacks.

Instances For
    def Miri.Input.EvalUnixFsConstruction.metadataFromSource {U C Os Kind Path E H D O HM Time ReadDir Entry : Type} [DecidableEq Memory.MiriMemoryKind] (p : CompilerProviders.Prepared) (access : Interpreter.ValidityMachine.Access Memory.MiriMemoryKind U) (projection : Interpreter.PlaceProjectionHooks Memory.Provenance (Interpreter.MachineHooks.State Memory.MiriMemoryKind (Interpreter.ValidityMachine.UserState U)) C Interpreter.MachineHooks.FrameExtra) (choice : C) (strings : Interpreter.OsStrings.Hooks Memory.Provenance (Interpreter.MachineHooks.State Memory.MiriMemoryKind (Interpreter.ValidityMachine.UserState U)) Os Kind) (pathFromOs : Os → Path) (errors : Interpreter.IoError.Hooks (Interpreter.MachineHooks.State Memory.MiriMemoryKind (Interpreter.ValidityMachine.UserState U)) E) (registry : Interpreter.ReadinessMachine.Hooks Memory.MiriMemoryKind (Interpreter.ValidityMachine.UserState U) H D O) (files : Interpreter.Files.Hooks (Interpreter.MachineHooks.State Memory.MiriMemoryKind (Interpreter.ValidityMachine.UserState U)) H D O E HM) (otherMetadata : O → M (Interpreter.MachineHooks.State Memory.MiriMemoryKind (Interpreter.ValidityMachine.UserState U)) (Except (Interpreter.IoError.HostError E) HM ⊕ String)) (host : HostEffects (Interpreter.MachineHooks.State Memory.MiriMemoryKind (Interpreter.ValidityMachine.UserState U)) H D O Path HM Time E ReadDir Entry) (os : String) (isolatedOp : EvalUnixConstruction.IsolatedOp) :

    Canonical stat metadata access, including compiler-owned exact named layouts/constants and FD lookups from the existing source descriptor table.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      Build the path string codec over the same EvalWorld memory, but expose the actual allocator kind: realpath(NULL) calls Miri's C allocator, while the ordinary environment-string builder only exposes its narrower env kinds.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Canonical pathname shim hooks. All ABI reads/writes use the existing guest access and compiler layouts; the only supplied values are actual raw host path operations and the same source OS-string representation.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def Miri.Input.EvalUnixFsConstruction.fdFromSource {S H D O Path HM Time E Kind ReadDir Entry : Type} (paths : Interpreter.UnixFsPaths.Hooks S (Interpreter.Files.Ref (Interpreter.Files.Description H D O)) D Path HM Time E Kind) (files : Interpreter.Files.Hooks S H D O E HM) (communicate : Bool) (host : HostEffects S H D O Path HM Time E ReadDir Entry) :

          Bind file-only filesystem operations to the canonical Files implementation and the same owned descriptor references used by readiness and close.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For

            Source timespec input and host file-time operations. Field identities and layouts come from the selected compiler; reads still pass through the active borrow/race/initialization access engine.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              def Miri.Input.EvalUnixFsConstruction.directoriesFromSource {U C Payload H D O Path HM Time E ReadDir Entry : Type} [DecidableEq Memory.MiriMemoryKind] (p : CompilerProviders.Prepared) (access : Interpreter.PlaceMachine.AccessConfig Memory.MiriMemoryKind (Interpreter.ValidityMachine.UserState U)) (projection : Interpreter.PlaceProjectionHooks Memory.Provenance (Interpreter.MachineHooks.State Memory.MiriMemoryKind (Interpreter.ValidityMachine.UserState U)) C Interpreter.MachineHooks.FrameExtra) (choice : C) (memory : EvalHostRuntimeConstruction.EnvironmentMemory (Interpreter.ValidityMachine.Control U) C Payload) (paths : Interpreter.UnixFsPaths.Hooks (Interpreter.MachineHooks.State Memory.MiriMemoryKind (Interpreter.ValidityMachine.UserState U)) (Interpreter.Files.Ref (Interpreter.Files.Description H D O)) D Path HM Time E (Memory.MemoryKind Memory.MiriMemoryKind)) (registry : Interpreter.ReadinessMachine.Hooks Memory.MiriMemoryKind (Interpreter.ValidityMachine.UserState U) H D O) (readiness : Interpreter.Readiness.Hooks (Interpreter.MachineHooks.State Memory.MiriMemoryKind (Interpreter.ValidityMachine.UserState U)) (Interpreter.Files.Ref (Interpreter.Files.Description H D O))) (fd : Interpreter.UnixFd.Hooks (Interpreter.MachineHooks.State Memory.MiriMemoryKind (Interpreter.ValidityMachine.UserState U)) H D O E HM) (store : Interpreter.UnixFsMachine.DirectoryStore (Interpreter.ValidityMachine.UserState U) ReadDir) (host : HostEffects (Interpreter.MachineHooks.State Memory.MiriMemoryKind (Interpreter.ValidityMachine.UserState U)) H D O Path HM Time E ReadDir Entry) :

              Reuse the one rooted runtime DIR table and allocate/write dirent results through compiler-provided layouts and the active source memory access.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                Source mkstemp hooks over the actual RNG selection and owned FD registry. The random action is passed separately from host FS leaves because its state is the interpreter's machine choice tape, not host nondeterminism.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For