MCPcopy Create free account
hub / github.com/WasmEdge/WasmEdge / open

Method open

lib/host/wasi/inode-win.cpp:687–705  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

685}
686
687WasiExpect<INode> INode::open(std::string Path, __wasi_oflags_t OpenFlags,
688 __wasi_fdflags_t FdFlags,
689 VFS::Flags VFSFlags) noexcept {
690 EXPECTED_TRY(auto Pack, getOpenFlags(OpenFlags, FdFlags, VFSFlags));
691 const auto [AttributeFlags, AccessFlags, CreationDisposition] = Pack;
692 const DWORD_ ShareFlags = FILE_SHARE_VALID_FLAGS_;
693 const auto FullPath = std::filesystem::u8path(Path);
694
695 INode Result(FullPath, AccessFlags, ShareFlags, CreationDisposition,
696 AttributeFlags);
697
698 if (unlikely(!Result.ok())) {
699 return WasiUnexpect(detail::fromLastError(GetLastError()));
700 }
701
702 Result.SavedFdFlags = FdFlags;
703 Result.SavedVFSFlags = VFSFlags;
704 return Result;
705}
706
707WasiExpect<void> INode::fdAdvise(__wasi_filesize_t Offset, __wasi_filesize_t,
708 __wasi_advice_t Advice

Callers 2

IFStreamMethod · 0.45
OFStreamMethod · 0.45

Calls 4

unlikelyFunction · 0.85
WasiUnexpectFunction · 0.85
fromLastErrorFunction · 0.85
okMethod · 0.45

Tested by

no test coverage detected