15460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao//===- FileSystem.inc -----------------------------------------------------===// 25460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// 35460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// The MCLinker Project 45460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// 55460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// This file is distributed under the University of Illinois Open Source 65460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// License. See LICENSE.TXT for details. 75460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// 85460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao//===----------------------------------------------------------------------===// 95460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao#include <string> 105460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao#include <sys/types.h> 115460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao#include <sys/stat.h> 12affc150dc44fab1911775a49636d0ce85333b634Zonr Chang#include <unistd.h> 135460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao#include <fcntl.h> 145460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 155460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaonamespace mcld{ 165460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaonamespace sys{ 175460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaonamespace fs{ 185460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaonamespace detail{ 195460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 205460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaostd::string static_library_extension = ".a"; 215460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaostd::string shared_library_extension = ".so"; 225460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaostd::string executable_extension = ""; 235460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaostd::string relocatable_extension = ".o"; 245460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaostd::string assembly_extension = ".s"; 255460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaostd::string bitcode_extension = ".bc"; 265460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 27affc150dc44fab1911775a49636d0ce85333b634Zonr Changint open(const Path& pPath, int pOFlag) 285460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao{ 29affc150dc44fab1911775a49636d0ce85333b634Zonr Chang return ::open(pPath.native().c_str(), pOFlag); 305460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 315460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 32affc150dc44fab1911775a49636d0ce85333b634Zonr Changint open(const Path& pPath, int pOFlag, int pPerm) 335460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao{ 34affc150dc44fab1911775a49636d0ce85333b634Zonr Chang return ::open(pPath.native().c_str(), pOFlag, pPerm); 355460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 365460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 37affc150dc44fab1911775a49636d0ce85333b634Zonr Changssize_t pread(int pFD, void* pBuf, size_t pCount, size_t pOffset) 385460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao{ 39affc150dc44fab1911775a49636d0ce85333b634Zonr Chang return ::pread(pFD, pBuf, pCount, pOffset); 40affc150dc44fab1911775a49636d0ce85333b634Zonr Chang} 41affc150dc44fab1911775a49636d0ce85333b634Zonr Chang 42affc150dc44fab1911775a49636d0ce85333b634Zonr Changssize_t pwrite(int pFD, const void* pBuf, size_t pCount, size_t pOffset) 43affc150dc44fab1911775a49636d0ce85333b634Zonr Chang{ 44affc150dc44fab1911775a49636d0ce85333b634Zonr Chang return ::pwrite(pFD, pBuf, pCount, pOffset); 45affc150dc44fab1911775a49636d0ce85333b634Zonr Chang} 46affc150dc44fab1911775a49636d0ce85333b634Zonr Chang 47affc150dc44fab1911775a49636d0ce85333b634Zonr Changint ftruncate(int pFD, size_t pLength) 48affc150dc44fab1911775a49636d0ce85333b634Zonr Chang{ 49affc150dc44fab1911775a49636d0ce85333b634Zonr Chang return ::ftruncate(pFD, pLength); 505460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 515460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 525460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} // namespace of detail 535460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} // namespace of fs 545460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} // namespace of sys 555460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} // namespace of mcld 565460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 57