Spec-Zone.ru › Haskell 7

Foreign.C.Error

Copyright (c) The FFI task force 2001
License BSD-style (see the file libraries/base/LICENSE)
Maintainer ffi@haskell.org
Stability временная
Portability портативный
Safe Haskell Надежный
Language Haskell2010

Содержание

  • Представления Haskell значений errno
    • Общие символы errno
    • Функции Errno
    • Защитные условия для операций IO, которые могут завершиться неудачей

Описание

Поддержка маршалинга, специфичная для C: обработка кодов ошибок C "errno".

Представления Haskell значений errno

newtype Errno Source

Представление Haskell для значений errno. Реализация преднамеренно открыта, чтобы пользователи могли добавлять свои собственные определения значений Errno.

Конструкторы

Errno CInt

Экземпляры

Eq Errno

Общие символы errno

Различные операционные системы и/или библиотеки C часто поддерживают разные значения errno. Этот модуль определяет общие значения, но из-за открытого определения Errno пользователи могут добавлять определения, которые не являются предопределенными.

eOK :: Errno Source

e2BIG :: Errno Source

eACCES :: Errno Source

eADDRINUSE :: Errno Source

eADDRNOTAVAIL :: Errno Source

eADV :: Errno Source

eAFNOSUPPORT :: Errno Source

eAGAIN :: Errno Source

eALREADY :: Errno Source

eBADF :: Errno Source

eBADMSG :: Errno Source

eBADRPC :: Errno Source

eBUSY :: Errno Source

eCHILD :: Errno Source

eCOMM :: Errno Source

eCONNABORTED :: Errno Source

eCONNREFUSED :: Errno Source

eCONNRESET :: Errno Source

eDEADLK :: Errno Source

eDESTADDRREQ :: Errno Source

eDIRTY :: Errno Source

eDOM :: Errno Source

eDQUOT :: Errno Source

eEXIST :: Errno Source

eFAULT :: Errno Source

eFBIG :: Errno Source

eFTYPE :: Errno Source

eHOSTDOWN :: Errno Source

eHOSTUNREACH :: Errno Source

eIDRM :: Errno Source

eILSEQ :: Errno Source

eINPROGRESS :: Errno Source

eINTR :: Errno Source

eINVAL :: Errno Source

eIO :: Errno Source

eISCONN :: Errno Source

eISDIR :: Errno Source

eLOOP :: Errno Source

END_OF_DOCUMENT_MARKER

eMFILE :: Errno Source

eMLINK :: Errno Source

eMSGSIZE :: Errno Source

eMULTIHOP :: Errno Source

eNAMETOOLONG :: Errno Source

eNETDOWN :: Errno Source

eNETRESET :: Errno Source

eNETUNREACH :: Errno Source

eNFILE :: Errno Source

eNOBUFS :: Errno Source

eNODATA :: Errno Source

eNODEV :: Errno Source

eNOENT :: Errno Source

eNOEXEC :: Errno Source

eNOLCK :: Errno Source

eNOLINK :: Errno Source

eNOMEM :: Errno Source

eNOMSG :: Errno Source

eNONET :: Errno Source

eNOPROTOOPT :: Errno Source

eNOSPC :: Errno Source

eNOSR :: Errno Source

eNOSTR :: Errno Source

eNOSYS :: Errno Source

eNOTBLK :: Errno Source

eNOTCONN :: Errno Source

eNOTDIR :: Errno Source

eNOTEMPTY :: Errno Source

eNOTSOCK :: Errno Source

eNOTSUP :: Errno Source

Since: 4.7.0.0

eNOTTY :: Errno Source

eNXIO :: Errno Source

eOPNOTSUPP :: Errno Source

ePERM :: Errno Source

ePFNOSUPPORT :: Errno Source

ePIPE :: Errno Source

ePROCLIM :: Errno Source

ePROCUNAVAIL :: Errno Source

ePROGMISMATCH :: Errno Source

ePROGUNAVAIL :: Errno Source

ePROTO :: Errno Source

ePROTONOSUPPORT :: Errno Source

ePROTOTYPE :: Errno Source

eRANGE :: Errno Source

eREMCHG :: Errno Source

eREMOTE :: Errno Source

eROFS :: Errno Source

eRPCMISMATCH :: Errno Source

eRREMOTE :: Errno Source

eSHUTDOWN :: Errno Source

eSOCKTNOSUPPORT :: Errno Source

eSPIPE :: Errno Source

eSRCH :: Errno Source

eSRMNT :: Errno Source

eSTALE :: Errno Source

eTIME :: Errno Source

eTIMEDOUT :: Errno Source

eTOOMANYREFS :: Errno Source

eTXTBSY :: Errno Source

eUSERS :: Errno Source

eWOULDBLOCK :: Errno Source

eXDEV :: Errno Source

Errno функции

isValidErrno :: Errno -> Bool Source

Возвращает True значение, если заданное значение Errno является допустимым в данной системе. Это означает, что Eq экземпляр Errno также зависит от системы, поскольку он определен только для допустимых значений Errno.

getErrno :: IO Errno Source

Получить текущее значение errno в текущей нити.

resetErrno :: IO () Source

Сбросить текущее значение errno текущей нити до eOK.

errnoToIOError Source

Аргументы

:: String

местоположение, где произошла ошибка

-> Errno

номер ошибки

-> Maybe Handle

необязательная обработка, связанная с ошибкой

-> Maybe String

необязательное имя файла, связанное с ошибкой

-> IOError

Создать IOError на основе заданного значения Errno. Необязательная информация может быть использована для повышения точности сообщений об ошибках.

throwErrno Source

Аргументы

:: String

текстовое описание местоположения ошибки

-> IO a

Выбросить IOError , соответствующую текущему значению getErrno.

Ограничения для операций IO, которые могут завершиться ошибкой

throwErrnoIf Source

Аргументы

:: (a -> Bool)

предикат, применяемый к значению результата операции IO

-> String

текстовое описание местоположения

-> IO a

операция IO , которая должна быть выполнена

-> IO a

Выбросить IOError , соответствующую текущему значению getErrno , если значение результата операции IO удовлетворяет заданному предикату.

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

как throwErrnoIf, но результат операции IO игнорируется после обработки ошибки.

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

как throwErrnoIf, но повторить операцию IO при получении кода ошибки eINTR - это соответствует стандартной циклической перепроверке прерванных системных вызовов POSIX.

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

как throwErrnoIfRetry, но результат игнорируется.

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

Выбросить IOError , соответствующую текущему значению getErrno , если операция IO возвращает результат -1.

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

как throwErrnoIfMinus1, но результат игнорируется.

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

Выбросить IOError , соответствующую текущему значению getErrno , если операция IO возвращает результат -1, но повторяет попытку в случае прерванной операции.

throwErrnoIfMinus1Retry_ :: (Eq a, Num a) => Строка -> IO a -> IO () Source

как throwErrnoIfMinus1, но отбрасывает результат.

throwErrnoIfNull :: Строка -> IO (Указатель a) -> IO (Указатель a) Source

Выбрасывает IOError, соответствующую текущему значению getErrno, если операция IO возвращает nullPtr.

throwErrnoIfNullRetry :: Строка -> IO (Указатель a) -> IO (Указатель a) Source

Выбрасывает IOError , соответствующую текущему значению getErrno, если операция IO возвращает nullPtr, но выполняет повторную попытку в случае прерывания операции.

throwErrnoIfRetryMayBlock Source

Аргументы

:: (a -> Bool)

предикат, применяемый к результату операции IO

-> Строка

текстовое описание местоположения

-> IO a

операция IO для выполнения

-> IO b

действие, выполняемое перед повторной попыткой, если немедленная повторная попытка заблокирует

-> IO a

как throwErrnoIfRetry, но дополнительно, если операция возвращает код ошибки eAGAIN или eWOULDBLOCK, выполняется альтернативное действие перед повторной попыткой.

throwErrnoIfRetryMayBlock_ :: (a -> Bool) -> Строка -> IO a -> IO b -> IO () Source

как throwErrnoIfRetryMayBlock, но отбрасывает результат.

throwErrnoIfMinus1RetryMayBlock :: (Eq a, Num a) => Строка -> IO a -> IO b -> IO a Source

как throwErrnoIfMinus1Retry, но проверяет операции, которые могут заблокировать.

throwErrnoIfMinus1RetryMayBlock_ :: (Eq a, Num a) => Строка -> IO a -> IO b -> IO () Source

как throwErrnoIfMinus1RetryMayBlock, но отбрасывает результат.

throwErrnoIfNullRetryMayBlock :: Строка -> IO (Указатель a) -> IO b -> IO (Указатель a) Source

как throwErrnoIfNullRetry, но проверяет операции, которые могут заблокировать.

throwErrnoPath :: Строка -> Путь -> IO a Source

как throwErrno, но исключения включают указанный путь при необходимости.

throwErrnoPathIf :: (a -> Bool) -> Строка -> Путь -> IO a -> IO a Source

как throwErrnoIf, но исключения включают указанный путь при необходимости.

throwErrnoPathIf_ :: (a -> Bool) -> Строка -> Путь -> IO a -> IO () Source

как throwErrnoIf_, но исключения включают указанный путь при необходимости.

throwErrnoPathIfNull :: Строка -> Путь -> IO (Указатель a) -> IO (Указатель a) Source

как throwErrnoIfNull, но исключения включают указанный путь при необходимости.

throwErrnoPathIfMinus1 :: (Eq a, Num a) => Строка -> Путь -> IO a -> IO a Source

как throwErrnoIfMinus1, но исключения включают указанный путь при необходимости.

throwErrnoPathIfMinus1_ :: (Eq a, Num a) => Строка -> Путь -> IO a -> IO () Source

как throwErrnoIfMinus1_, но исключения включают указанный путь при необходимости.

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/7.10.3/docs/html/libraries/base-4.8.2.0/Foreign-C-Error.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API