W3cubDocs

/Haskell 9

System.Win32.WindowsString.Types

Copyright (c) Alastair Reid 1997-2003
License BSD-style (see the file libraries/base/LICENSE)
Maintainer Esa Ilari Vuokko <[email protected]>
Stability provisional
Portability portable
Safe Haskell Trustworthy
Language Haskell2010

Description

A collection of FFI declarations for interfacing with Win32.

c_wcslen :: CWString -> IO SIZE_T Source

errorWin :: String -> IO a Source

failIf :: (a -> Bool) -> String -> IO a -> IO a Source

failIfFalse_ :: String -> IO Bool -> IO () Source

failIfNeg :: (Num a, Ord a) => String -> IO a -> IO a Source

failIfNull :: String -> IO (Ptr a) -> IO (Ptr a) Source

failIfZero :: (Eq a, Num a) => String -> IO a -> IO a Source

failIf_ :: (a -> Bool) -> String -> IO a -> IO () Source

failUnlessSuccess :: String -> IO ErrCode -> IO () Source

failUnlessSuccessOr :: ErrCode -> String -> IO ErrCode -> IO Bool Source

failWith :: String -> ErrCode -> IO a Source

newTString :: WindowsString -> IO LPCTSTR Source

peekTString :: LPCTSTR -> IO WindowsString Source

peekTStringLen :: (LPCTSTR, Int) -> IO WindowsString Source

try :: String -> (LPTSTR -> UINT -> IO UINT) -> UINT -> IO WindowsString Source

useAsCWStringSafe :: WindowsPath -> (CWString -> IO a) -> IO a Source

Wrapper around useAsCString, checking the encoded FilePath for internal NUL codepoints as these are disallowed in Windows filepaths. See https://gitlab.haskell.org/ghc/ghc/-/issues/13660

withFilePath :: WindowsPath -> (LPTSTR -> IO a) -> IO a Source

withTString :: WindowsString -> (LPTSTR -> IO a) -> IO a Source

withTStringLen :: WindowsString -> ((LPTSTR, Int) -> IO a) -> IO a Source

_open_osfhandle :: CIntPtr -> CInt -> IO CInt Source

c_get_osfhandle :: CInt -> IO HANDLE Source

c_maperrno_func :: ErrCode -> IO Errno Source

castPtrToUINTPtr :: Ptr s -> UINT_PTR Source

castUINTPtrToPtr :: UINT_PTR -> Ptr a Source

ddwordToDwords :: DDWORD -> (DWORD, DWORD) Source

deleteObjectFinaliser :: FunPtr (Ptr a -> IO ()) Source

dwordsToDdword :: (DWORD, DWORD) -> DDWORD Source

eERROR_ENVVAR_NOT_FOUND :: ErrCode Source

eRROR_INSUFFICIENT_BUFFER :: ErrCode Source

eRROR_MOD_NOT_FOUND :: ErrCode Source

eRROR_PROC_NOT_FOUND :: ErrCode Source

getErrorMessage :: DWORD -> IO LPWSTR Source

getLastError :: IO ErrCode Source

hANDLEToHandle :: HANDLE -> IO Handle Source

Create a Haskell Handle from a Windows HANDLE.

Beware that this function allocates a new file descriptor. A consequence of this is that calling hANDLEToHandle on the standard Windows handles will not give you stdin, stdout, or stderr. For example, if you run this code:

import Graphics.Win32.Misc
stdoutHANDLE <- getStdHandle sTD_OUTPUT_HANDLE
stdout2 <- hANDLEToHandle stdoutHANDLE

Then although you can use stdout2 to write to standard output, it is not the case that stdout == stdout2.

hIWORD :: DWORD -> WORD Source

handleToWord :: HANDLE -> UINT_PTR Source

iNVALID_HANDLE_VALUE :: HANDLE Source

iNVALID_SET_FILE_POINTER :: DWORD Source

internal_getUniqueFileInfo :: HANDLE -> Ptr Word64 -> Ptr Word64 -> IO () Source

Returns -1 on error. Otherwise writes two values representing the file into the given ptrs.

internal_lockFile :: CUIntPtr -> Word64 -> Word64 -> CInt -> IO CInt Source

lANGIDFROMLCID :: LCID -> LANGID Source

lOWORD :: DWORD -> WORD Source

localFree :: Ptr a -> IO (Ptr a) Source

mAKELANGID :: PrimaryLANGID -> SubLANGID -> LANGID Source

mAKELCID :: LANGID -> SortID -> LCID Source

maybeNum :: Num a => Maybe a -> a Source

maybePtr :: Maybe (Ptr a) -> Ptr a Source

newForeignHANDLE :: HANDLE -> IO ForeignHANDLE Source

nullFinalHANDLE :: ForeignPtr a Source

nullHANDLE :: HANDLE Source

nullHINSTANCE :: HINSTANCE Source

numToMaybe :: (Eq a, Num a) => a -> Maybe a Source

pRIMARYLANGID :: LANGID -> PrimaryLANGID Source

ptrToMaybe :: Ptr a -> Maybe (Ptr a) Source

sORTIDFROMLCID :: LCID -> SortID Source

sUBLANGID :: LANGID -> SubLANGID Source

setLastError :: ErrCode -> IO () Source

withHandleToHANDLE :: Handle -> (HANDLE -> IO a) -> IO a Source

Extract a Windows HANDLE from a Haskell Handle and perform an action on it.

withHandleToHANDLENative :: Handle -> (HANDLE -> IO a) -> IO a Source

withHandleToHANDLEPosix :: Handle -> (HANDLE -> IO a) -> IO a Source

withStablePtr :: a -> (StablePtr a -> IO b) -> IO b Source

nullPtr :: Ptr a

type ATOM = WORD Source

type Addr = Ptr () Source

type BOOL = Bool Source

type BYTE = Word8 Source

type DDWORD = Word64 Source

type DWORD = Word32 Source

type DWORD32 = Word32 Source

type DWORD64 = Word64 Source

type DWORD_PTR = ULONG_PTR Source

type ErrCode = DWORD Source

type FLOAT = Float Source

type ForeignHANDLE = ForeignPtr () Source

type HALF_PTR = Ptr INT32 Source

type HANDLE = Ptr () Source

type HINSTANCE = Ptr () Source

type HKEY = ForeignHANDLE Source

type HMODULE = Ptr () Source

type HRESULT = LONG Source

type INT = Int32 Source

type INT32 = Int32 Source

type INT64 = Int64 Source

type INT_PTR = Ptr CInt Source

type LANGID = WORD Source

type LARGE_INTEGER = Int64 Source

type LCID = DWORD Source

type LONG = Int32 Source

type LONG32 = Int32 Source

type LONG64 = Int64 Source

type LONG_PTR = CIntPtr Source

type LPARAM = LONG_PTR Source

type LPBOOL = Ptr BOOL Source

type LPBYTE = Ptr BYTE Source

type LPCSTR = LPSTR Source

type LPCTSTR = LPTSTR Source

type LPCTSTR_ = LPCTSTR Source

type LPCWSTR = LPWSTR Source

type LPDWORD = Ptr DWORD Source

type LPSTR = Ptr CChar Source

type LPTSTR = Ptr TCHAR Source

type LPVOID = Ptr () Source

type LPWSTR = Ptr CWchar Source

type LRESULT = LONG_PTR Source

type MbATOM = Maybe ATOM Source

type MbHANDLE = Maybe HANDLE Source

type MbHINSTANCE = Maybe HINSTANCE Source

type MbHMODULE = Maybe HMODULE Source

type MbINT = Maybe INT Source

type MbLPCSTR = Maybe LPCSTR Source

type MbLPCTSTR = Maybe LPCTSTR Source

type MbLPVOID = Maybe LPVOID Source

type MbString = Maybe String Source

type PKEY = HANDLE Source

type PUCHAR = Ptr UCHAR Source

type PrimaryLANGID = WORD Source

type SHORT = Int16 Source

type SIZE_T = ULONG_PTR Source

type SortID = WORD Source

type SubLANGID = WORD Source

type TCHAR = CWchar Source

type UCHAR = CUChar Source

type UINT = Word32 Source

type UINT32 = Word32 Source

type UINT64 = Word64 Source

type UINT_PTR = Word Source

type ULONG = Word32 Source

type ULONG32 = Word32 Source

type ULONG64 = Word64 Source

type ULONG_PTR = CUIntPtr Source

type USHORT = Word16 Source

type WORD = Word16 Source

type WPARAM = UINT_PTR Source

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.12.1/docs/libraries/Win32-2.14.1.0-d391/System-Win32-WindowsString-Types.html