Fix scoped type variables for expression type signatures
[ghc-hetmet.git] / includes / RtsMessages.h
index 3f0da3d..79c48d3 100644 (file)
  * 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 */