X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tools-for-build%2Fgrovel_headers.c;h=a2e0f081bb275874f51bead8687f0b9097b237f9;hb=f51d3fd40bb44b518299f0ae626583a6899f7af2;hp=0184bfaef202804691c7d3a9c222ac97e6b31e3f;hpb=19e8b826506c42de9430ca9df0bc1439467e9f24;p=sbcl.git diff --git a/tools-for-build/grovel_headers.c b/tools-for-build/grovel_headers.c index 0184bfa..a2e0f08 100644 --- a/tools-for-build/grovel_headers.c +++ b/tools-for-build/grovel_headers.c @@ -27,6 +27,9 @@ #include #include #include +#include + +#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))); } @@ -38,6 +41,8 @@ defconstant(char* lisp_name, long unix_number) lisp_name, unix_number, unix_number); } +#define DEFSIGNAL(name) defconstant(#name, name) + int main(int argc, char *argv[]) { @@ -139,5 +144,49 @@ main(int argc, char *argv[]) */ printf("\n"); + printf(";;; signals\n"); + DEFSIGNAL(SIGALRM); + DEFSIGNAL(SIGBUS); + DEFSIGNAL(SIGCHLD); + DEFSIGNAL(SIGCONT); +#ifndef LISP_FEATURE_LINUX + 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); +#ifdef LISP_FEATURE_LINUX + DEFSIGNAL(SIGSTKFLT); +#endif + DEFSIGNAL(SIGSTOP); +#ifndef LISP_FEATURE_LINUX + DEFSIGNAL(SIGSYS); +#endif + DEFSIGNAL(SIGTERM); + DEFSIGNAL(SIGTRAP); + DEFSIGNAL(SIGTSTP); + DEFSIGNAL(SIGTTIN); + DEFSIGNAL(SIGTTOU); + DEFSIGNAL(SIGURG); + DEFSIGNAL(SIGUSR1); + DEFSIGNAL(SIGUSR2); + DEFSIGNAL(SIGVTALRM); +#ifdef LISP_FEATURE_SVR4 + DEFSIGNAL(SIGWAITING); +#endif + DEFSIGNAL(SIGWINCH); +#ifndef LISP_FEATURE_HPUX + DEFSIGNAL(SIGXCPU); + DEFSIGNAL(SIGXFSZ); +#endif + return 0; }