1
-----------------------------------------------------------------------------
3
-- Module : System.Win32.Console
4
-- Copyright : (c) University of Glasgow 2006
5
-- License : BSD-style (see the file LICENSE)
7
-- Maintainer : Esa Ilari Vuokko <ei@vuokko.info>
8
-- Stability : provisional
9
-- Portability : portable
11
-- A collection of FFI declarations for interfacing with Win32 Console API
13
-----------------------------------------------------------------------------
15
module System.Win32.Console (
16
-- * Console code pages
22
CtrlEvent, cTRL_C_EVENT, cTRL_BREAK_EVENT,
23
generateConsoleCtrlEvent
26
import System.Win32.Types
28
foreign import stdcall unsafe "windows.h GetConsoleCP"
29
getConsoleCP :: IO UINT
31
foreign import stdcall unsafe "windows.h SetConsoleCP"
32
setConsoleCP :: UINT -> IO ()
34
foreign import stdcall unsafe "windows.h GetConsoleOutputCP"
35
getConsoleOutputCP :: IO UINT
37
foreign import stdcall unsafe "windows.h SetConsoleOutputCP"
38
setConsoleOutputCP :: UINT -> IO ()
40
type CtrlEvent = DWORD
43
, cTRL_BREAK_EVENT = 1
46
generateConsoleCtrlEvent :: CtrlEvent -> DWORD -> IO ()
47
generateConsoleCtrlEvent e p
49
"generateConsoleCtrlEvent"
50
$ c_GenerateConsoleCtrlEvent e p
52
foreign import stdcall safe "windows.h GenerateConsoleCtrlEvent"
53
c_GenerateConsoleCtrlEvent :: CtrlEvent -> DWORD -> IO BOOL