#include <sys/termios.h>
#include <fcntl.h>
#include <unistd.h>
+#include <signal.h>
+
+#include "genesis/config.h"
#define DEFTYPE(lispname,cname) { cname foo; \
printf("(define-alien-type " lispname " (%s %d))\n", (((foo=-1)<0) ? "sb!alien:signed" : "unsigned"), (8 * (sizeof foo))); }
lisp_name, unix_number, unix_number);
}
+#define DEFSIGNAL(name) defconstant(#name, name)
+
int
main(int argc, char *argv[])
{
*/
printf("\n");
+ printf(";;; signals\n");
+ DEFSIGNAL(SIGALRM);
+ DEFSIGNAL(SIGBUS);
+ DEFSIGNAL(SIGCHLD);
+ DEFSIGNAL(SIGCONT);
+/* FIXME: Maybe #ifdef SIGEMT would be a smarter conditional? */
+#if (!(defined LISP_FEATURE_LINUX) || !((defined LISP_FEATURE_PPC) || (defined LISP_FEATURE_X86)))
+ DEFSIGNAL(SIGEMT);
+#endif
+ DEFSIGNAL(SIGFPE);
+ DEFSIGNAL(SIGHUP);
+ DEFSIGNAL(SIGILL);
+ DEFSIGNAL(SIGINT);
+ DEFSIGNAL(SIGIO);
+ DEFSIGNAL(SIGIOT);
+ DEFSIGNAL(SIGKILL);
+ DEFSIGNAL(SIGPIPE);
+ DEFSIGNAL(SIGPROF);
+ DEFSIGNAL(SIGQUIT);
+ DEFSIGNAL(SIGSEGV);
+#if ((defined LISP_FEATURE_LINUX) && (defined LISP_FEATURE_X86))
+ DEFSIGNAL(SIGSTKFLT);
+#endif
+ DEFSIGNAL(SIGSTOP);
+#if (!((defined LISP_FEATURE_LINUX) && (defined LISP_FEATURE_X86)))
+ DEFSIGNAL(SIGSYS);
+#endif
+ DEFSIGNAL(SIGTERM);
+ DEFSIGNAL(SIGTRAP);
+ DEFSIGNAL(SIGTSTP);
+ DEFSIGNAL(SIGTTIN);
+ DEFSIGNAL(SIGTTOU);
+ DEFSIGNAL(SIGURG);
+ DEFSIGNAL(SIGUSR1);
+ DEFSIGNAL(SIGUSR2);
+ DEFSIGNAL(SIGVTALRM);
+#ifdef LISP_FEATURE_SUNOS
+ DEFSIGNAL(SIGWAITING);
+#endif
+ DEFSIGNAL(SIGWINCH);
+#ifndef LISP_FEATURE_HPUX
+ DEFSIGNAL(SIGXCPU);
+ DEFSIGNAL(SIGXFSZ);
+#endif
+#ifdef LISP_FEATURE_SB_THREAD
+ /* FIXME OAOOM alert: this information is duplicated in linux-os.h */
+ defconstant("sig-dequeue",SIGRTMIN+2);
+#endif
return 0;
}