{-# LANGUAGE CPP #-} {- | Module : System.Win32.HardLink.Internal Copyright : 2013 shelarcy License : BSD-style Maintainer : shelarcy@gmail.com Stability : Provisional Portability : Non-portable (Win32 API) Handling hard link using Win32 API. [NTFS only] Note: You should worry about file system type when use this module's function in your application: * NTFS only supprts this functionality. * ReFS doesn't support hard link currently. -} module System.Win32.HardLink.Internal where import System.Win32.File ( LPSECURITY_ATTRIBUTES ) import System.Win32.String ( LPCTSTR ) import System.Win32.Types ( BOOL ) #include "windows_cconv.h" foreign import WINDOWS_CCONV unsafe "windows.h CreateHardLinkW" c_CreateHardLink :: LPCTSTR -- ^ Hard link name -> LPCTSTR -- ^ Target file path -> LPSECURITY_ATTRIBUTES -- ^ This parameter is reserved. You should pass just /nullPtr/. -> IO BOOL