//===- FileSystem.inc -----------------------------------------------------===// // // The MCLinker Project // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #include <string> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <fcntl.h> namespace mcld{ namespace sys{ namespace fs{ namespace detail{ std::string static_library_extension = ".a"; std::string shared_library_extension = ".so"; std::string executable_extension = ""; std::string relocatable_extension = ".o"; std::string assembly_extension = ".s"; std::string bitcode_extension = ".bc"; int open(const Path& pPath, int pOFlag) { return ::open(pPath.native().c_str(), pOFlag); } int open(const Path& pPath, int pOFlag, int pPerm) { return ::open(pPath.native().c_str(), pOFlag, pPerm); } ssize_t pread(int pFD, void* pBuf, size_t pCount, size_t pOffset) { return ::pread(pFD, pBuf, pCount, pOffset); } ssize_t pwrite(int pFD, const void* pBuf, size_t pCount, size_t pOffset) { return ::pwrite(pFD, pBuf, pCount, pOffset); } int ftruncate(int pFD, size_t pLength) { return ::ftruncate(pFD, pLength); } } // namespace of detail } // namespace of fs } // namespace of sys } // namespace of mcld