1.0.10.1: Cleanup code
[sbcl.git] / tools-for-build / grovel-headers.c
index 53412dd..c5de8e8 100644 (file)
  */
 
 #include <stdio.h>
+#include <stdlib.h>
 #include <sys/types.h>
 #ifdef _WIN32
   #define WIN32_LEAN_AND_MEAN
   #include <windows.h>
-  #include <stdlib.h>
   #include <shlobj.h>
 #else
   #include <sys/times.h>
@@ -150,13 +150,25 @@ main(int argc, char *argv[])
     defconstant ("CSIDL_FLAG_MASK", CSIDL_FLAG_MASK);
 
     printf(";;; Exception codes\n");
+    defconstant("+exception-access-violation+", EXCEPTION_ACCESS_VIOLATION);
+    defconstant("+exception-array-bounds-exceeded+", EXCEPTION_ARRAY_BOUNDS_EXCEEDED);
+    defconstant("+exception-breakpoint+", EXCEPTION_BREAKPOINT);
+    defconstant("+exception-datatype-misalignment+", EXCEPTION_DATATYPE_MISALIGNMENT);
+    defconstant("+exception-flt-denormal-operand+", EXCEPTION_FLT_DENORMAL_OPERAND);
     defconstant("+exception-flt-divide-by-zero+", EXCEPTION_FLT_DIVIDE_BY_ZERO);
+    defconstant("+exception-flt-inexact-result+", EXCEPTION_FLT_INEXACT_RESULT);
     defconstant("+exception-flt-invalid-operation+", EXCEPTION_FLT_INVALID_OPERATION);
-    defconstant("+exception-flt-underflow+", EXCEPTION_FLT_UNDERFLOW);
     defconstant("+exception-flt-overflow+", EXCEPTION_FLT_OVERFLOW);
-    defconstant("+exception-flt-inexact-result+", EXCEPTION_FLT_INEXACT_RESULT);
-    defconstant("+exception-flt-denormal-operand+", EXCEPTION_FLT_DENORMAL_OPERAND);
     defconstant("+exception-flt-stack-check+", EXCEPTION_FLT_STACK_CHECK);
+    defconstant("+exception-flt-underflow+", EXCEPTION_FLT_UNDERFLOW);
+    defconstant("+exception-illegal-instruction+", EXCEPTION_ILLEGAL_INSTRUCTION);
+    defconstant("+exception-in-page-error+", EXCEPTION_IN_PAGE_ERROR);
+    defconstant("+exception-int-divide-by-zero+", EXCEPTION_INT_DIVIDE_BY_ZERO);
+    defconstant("+exception-int-overflow+", EXCEPTION_INT_OVERFLOW);
+    defconstant("+exception-invalid-disposition+", EXCEPTION_INVALID_DISPOSITION);
+    defconstant("+exception-noncontinuable-exception+", EXCEPTION_NONCONTINUABLE_EXCEPTION);
+    defconstant("+exception-priv-instruction+", EXCEPTION_PRIV_INSTRUCTION);
+    defconstant("+exception-single-step+", EXCEPTION_SINGLE_STEP);
     defconstant("+exception-stack-overflow+", EXCEPTION_STACK_OVERFLOW);
 
     printf(";;; FormatMessage\n");
@@ -229,6 +241,14 @@ main(int argc, char *argv[])
     DEFTYPE("off-t",   off_t);
     DEFTYPE("size-t",  size_t);
     DEFTYPE("time-t",  time_t);
+#if defined(LISP_FEATURE_DARWIN) && defined(LISP_FEATURE_PPC)
+    /* No idea if this is an issue with PPC versions of OS X, or just
+     * 10.3, but at any rate on some Darwin versions suseconds_t seems
+     * to be missing... Similar kludge in sb-posix. */
+    DEFTYPE("suseconds-t", int);
+#else
+    DEFTYPE("suseconds-t", suseconds_t);
+#endif
     DEFTYPE("uid-t",   uid_t);
     printf("\n");
 
@@ -316,6 +336,9 @@ main(int argc, char *argv[])
     printf("\n");
 
     printf(";;; signals\n");
+    defconstant("sig-dfl", (unsigned long)SIG_DFL);
+    defconstant("sig-ign", (unsigned long)SIG_IGN);
+
     defsignal("sigalrm", SIGALRM);
     defsignal("sigbus", SIGBUS);
     defsignal("sigchld", SIGCHLD);
@@ -334,11 +357,11 @@ main(int argc, char *argv[])
     defsignal("sigprof", SIGPROF);
     defsignal("sigquit", SIGQUIT);
     defsignal("sigsegv", SIGSEGV);
-#if ((defined LISP_FEATURE_LINUX) && (defined LISP_FEATURE_X86))
+#ifdef SIGSTKFLT
     defsignal("sigstkflt", SIGSTKFLT);
 #endif
     defsignal("sigstop", SIGSTOP);
-#if (!((defined LISP_FEATURE_LINUX) && (defined LISP_FEATURE_X86)))
+#ifdef SIGSYS
     defsignal("sigsys", SIGSYS);
 #endif
     defsignal("sigterm", SIGTERM);
@@ -350,12 +373,14 @@ main(int argc, char *argv[])
     defsignal("sigusr1", SIGUSR1);
     defsignal("sigusr2", SIGUSR2);
     defsignal("sigvtalrm", SIGVTALRM);
-#ifdef LISP_FEATURE_SUNOS
+#ifdef SIGWAITING
     defsignal("sigwaiting", SIGWAITING);
 #endif
     defsignal("sigwinch", SIGWINCH);
-#ifndef LISP_FEATURE_HPUX
+#ifndef SIGXCPU
     defsignal("sigxcpu", SIGXCPU);
+#endif
+#ifdef SIGXFSZ
     defsignal("sigxfsz", SIGXFSZ);
 #endif