X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=includes%2FRtsMessages.h;h=79c48d3b98ad71395d5da7d865a50ca14485c924;hp=3f0da3d7ede53fb1de4e969afb27e97ed29204d2;hb=80564ddc183ea98856994112858f0b9f3e178f94;hpb=0065d5ab628975892cea1ec7303f968c3338cbe1 diff --git a/includes/RtsMessages.h b/includes/RtsMessages.h index 3f0da3d..79c48d3 100644 --- a/includes/RtsMessages.h +++ b/includes/RtsMessages.h @@ -26,13 +26,13 @@ * barf() invokes (*fatalInternalErrorFn)(). This function is not * expected to return. */ -extern void barf(char *s, ...) +extern void barf(const char *s, ...) GNUC3_ATTRIBUTE(__noreturn__); -extern void vbarf(char *s, va_list ap) +extern void vbarf(const char *s, va_list ap) GNUC3_ATTRIBUTE(__noreturn__); -extern void _assertFail(char *filename, unsigned int linenum) +extern void _assertFail(const char *filename, unsigned int linenum) GNUC3_ATTRIBUTE(__noreturn__); /* @@ -41,10 +41,24 @@ extern void _assertFail(char *filename, unsigned int linenum) * * errorBelch() invokes (*errorMsgFn)(). */ -extern void errorBelch(char *s, ...) +extern void errorBelch(const char *s, ...) GNUC3_ATTRIBUTE(format (printf, 1, 2)); -extern void verrorBelch(char *s, va_list ap); +extern void verrorBelch(const char *s, va_list ap); + +/* + * An error condition which is caused by and/or can be corrected by + * the user, and which has an associated error condition reported + * by the system (in errno on Unix, and GetLastError() on Windows). + * The system error message is appended to the message generated + * from the supplied format string. + * + * sysErrorBelch() invokes (*sysErrorMsgFn)(). + */ +extern void sysErrorBelch(const char *s, ...) + GNUC3_ATTRIBUTE(format (printf, 1, 2)); + +extern void vsysErrorBelch(const char *s, va_list ap); /* * A debugging message. Debugging messages are generated either as a @@ -53,15 +67,15 @@ extern void verrorBelch(char *s, va_list ap); * * debugBelch() invokes (*debugMsgFn)(). */ -extern void debugBelch(char *s, ...) +extern void debugBelch(const char *s, ...) GNUC3_ATTRIBUTE(format (printf, 1, 2)); -extern void vdebugBelch(char *s, va_list ap); +extern void vdebugBelch(const char *s, va_list ap); /* Hooks for redirecting message generation: */ -typedef void RtsMsgFunction(char *, va_list); +typedef void RtsMsgFunction(const char *, va_list); extern RtsMsgFunction *fatalInternalErrorFn; extern RtsMsgFunction *debugMsgFn; @@ -72,5 +86,6 @@ extern RtsMsgFunction *errorMsgFn; extern RtsMsgFunction rtsFatalInternalErrorFn; extern RtsMsgFunction rtsDebugMsgFn; extern RtsMsgFunction rtsErrorMsgFn; +extern RtsMsgFunction rtsSysErrorMsgFn; #endif /* RTSMESSAGES_H */