#include <fcntl.h>
#include <unistd.h>
#include <signal.h>
+#include <errno.h>
+#include <dlfcn.h>
#include "genesis/config.h"
lisp_name, unix_number, unix_number);
}
+#define DEFERRNO(name) defconstant(#name, name)
#define DEFSIGNAL(name) defconstant(#name, name)
int
/* don't need no steenking hand-editing */
printf(
";;;; This is an automatically generated file, please do not hand-edit it.\n\
-;;;; See the program \"grovel_headers.c\".\n\
+;;;; See the program \"grovel-headers.c\".\n\
\n\
");
+ printf("(in-package \"SB!ALIEN\")\n\n");
+
+ printf (";;;flags for dlopen()\n");
+
+ defconstant ("rtld-lazy", RTLD_LAZY);
+ defconstant ("rtld-now", RTLD_NOW);
+ defconstant ("rtld-global", RTLD_GLOBAL);
+
printf("(in-package \"SB!UNIX\")\n\n");
printf(";;; types, types, types\n");
DEFTYPE("uid-t", uid_t);
printf("\n");
- printf(";;; fcntl.h (or unistd.h on OpenBSD)\n");
+ printf(";;; fcntl.h (or unistd.h on OpenBSD and NetBSD)\n");
defconstant("r_ok", R_OK);
defconstant("w_ok", W_OK);
defconstant("x_ok", X_OK);
defconstant("s-ifsock", S_IFSOCK);
printf("\n");
+ printf(";;; error numbers\n");
+ DEFERRNO(ENOENT);
+ DEFERRNO(EINTR);
+ DEFERRNO(EIO);
+ DEFERRNO(EEXIST);
+ DEFERRNO(ESPIPE);
+ DEFERRNO(EWOULDBLOCK);
+ printf("\n");
+
printf(";;; for wait3(2) in run-program.lisp\n");
defconstant("wnohang", WNOHANG);
defconstant("wuntraced", WUNTRACED);
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)))
+#ifdef SIGEMT
DEFSIGNAL(SIGEMT);
#endif
DEFSIGNAL(SIGFPE);
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;
}