base-4.21.0.0: Core data structures and operations
Copyright(c) The University of Glasgow 2017
Licensesee libraries/base/LICENSE
Maintainerlibraries@haskell.org
Stabilityinternal
Portabilitynon-portable
Safe HaskellSafe-Inferred
LanguageHaskell2010

GHC.IO.Windows.Handle

Description

Raw read/write operations on Windows Handles

Synopsis

Basic Types

data NativeHandle Source #

Instances

Instances details
BufferedIO (Io NativeHandle) Source #

See librariesbaseGHCIOBufferedIO.hs

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.IO.Windows.Handle

IODevice (Io NativeHandle) Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.IO.Windows.Handle

RawIO (Io NativeHandle) Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.IO.Windows.Handle

RawHandle (Io NativeHandle) 
Instance details

Defined in GHC.Internal.IO.Windows.Handle

Show (Io NativeHandle) Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.IO.Windows.Handle

data ConsoleHandle Source #

Instances

Instances details
BufferedIO (Io ConsoleHandle) Source #

See librariesbaseGHCIOBufferedIO.hs

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.IO.Windows.Handle

IODevice (Io ConsoleHandle) Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.IO.Windows.Handle

RawIO (Io ConsoleHandle) Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.IO.Windows.Handle

RawHandle (Io ConsoleHandle) 
Instance details

Defined in GHC.Internal.IO.Windows.Handle

Show (Io ConsoleHandle) Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.IO.Windows.Handle

data IoHandle a Source #

Bit of a Hack, but we don't want every handle to have a cooked entry but all copies of the handles for which we do want one need to share the same value. We can't store it separately because we don't know when the handle will be destroyed or invalidated.

Instances

Instances details
BufferedIO (Io ConsoleHandle) Source #

See librariesbaseGHCIOBufferedIO.hs

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.IO.Windows.Handle

BufferedIO (Io NativeHandle) Source #

See librariesbaseGHCIOBufferedIO.hs

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.IO.Windows.Handle

IODevice (Io ConsoleHandle) Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.IO.Windows.Handle

IODevice (Io NativeHandle) Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.IO.Windows.Handle

RawIO (Io ConsoleHandle) Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.IO.Windows.Handle

RawIO (Io NativeHandle) Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.IO.Windows.Handle

RawHandle (Io ConsoleHandle) 
Instance details

Defined in GHC.Internal.IO.Windows.Handle

RawHandle (Io NativeHandle) 
Instance details

Defined in GHC.Internal.IO.Windows.Handle

Show (Io ConsoleHandle) Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.IO.Windows.Handle

Show (Io NativeHandle) Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.IO.Windows.Handle

type HANDLE = Ptr () Source #

type Io a = IoHandle a Source #

Utility functions

convertHandle :: Io ConsoleHandle -> Bool -> Io NativeHandle Source #

Convert a ConsoleHandle into a general FileHandle This will change which DeviceIO is used.

toHANDLE :: RawHandle a => a -> HANDLE Source #

fromHANDLE :: RawHandle a => HANDLE -> a Source #

Standard Handles

File utilities

openFile Source #

Arguments

:: FilePath

file to open

-> IOMode

mode in which to open the file

-> Bool

open the file in non-blocking mode?

-> IO (Io NativeHandle, IODeviceType) 

Open a file and make an NativeHandle for it. Truncates the file to zero size when the IOMode is WriteMode.

openFileAsTemp Source #

Arguments

:: FilePath

file to open

-> Bool

open the file in non-blocking mode?

-> Bool

Exclusive mode

-> IO (Io NativeHandle, IODeviceType) 

Open a file as a temporary file and make an NativeHandle for it. Truncates the file to zero size when the IOMode is WriteMode.

release :: RawHandle a => a -> IO () Source #