X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tools-for-build%2Fgrovel-headers.c;h=ed6cfe67ae18f31a531ac4e4d7f04928b7a2218a;hb=bd4f596b07e3783992e00eae88afdc05ebe7c6a6;hp=6ea57635849c56a786d9123d46ad5f9c59170bcc;hpb=28ed41eb0eed3f0c1baeebf10793a3d21cb0eb9d;p=sbcl.git diff --git a/tools-for-build/grovel-headers.c b/tools-for-build/grovel-headers.c index 6ea5763..ed6cfe6 100644 --- a/tools-for-build/grovel-headers.c +++ b/tools-for-build/grovel-headers.c @@ -51,18 +51,18 @@ printf("(define-alien-type " lispname " (%s %d))\n", (((foo=-1)<0) ? "sb!alien:signed" : "unsigned"), (8 * (sizeof foo))); } void -defconstant(char* lisp_name, long unix_number) +defconstant(char* lisp_name, unsigned long unix_number) { - printf("(defconstant %s %ld) ; #x%lx\n", + printf("(defconstant %s %lu) ; #x%lx\n", lisp_name, unix_number, unix_number); } -void deferrno(char* lisp_name, long unix_number) +void deferrno(char* lisp_name, unsigned long unix_number) { defconstant(lisp_name, unix_number); } -void defsignal(char* lisp_name, long unix_number) +void defsignal(char* lisp_name, unsigned long unix_number) { defconstant(lisp_name, unix_number); } @@ -149,6 +149,16 @@ main(int argc, char *argv[]) defconstant ("CSIDL_FLAG_CREATE", CSIDL_FLAG_CREATE); defconstant ("CSIDL_FLAG_MASK", CSIDL_FLAG_MASK); + printf(";;; Exception codes\n"); + defconstant("+exception-flt-divide-by-zero+", EXCEPTION_FLT_DIVIDE_BY_ZERO); + 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-stack-overflow+", EXCEPTION_STACK_OVERFLOW); + printf(";;; FormatMessage\n"); defconstant ("FORMAT_MESSAGE_ALLOCATE_BUFFER", FORMAT_MESSAGE_ALLOCATE_BUFFER); @@ -158,11 +168,17 @@ main(int argc, char *argv[]) defconstant ("ERROR_ENVVAR_NOT_FOUND", ERROR_ENVVAR_NOT_FOUND); + printf(";;; GetComputerName\n"); + + defconstant ("MAX_COMPUTERNAME_LENGTH", MAX_COMPUTERNAME_LENGTH); + defconstant ("ERROR_BUFFER_OVERFLOW", ERROR_BUFFER_OVERFLOW); + printf(";;; Windows Types\n"); DEFTYPE("int-ptr", INT_PTR); DEFTYPE("dword", DWORD); DEFTYPE("bool", BOOL); DEFTYPE("uint", UINT); + DEFTYPE("ulong", ULONG); /* FIXME: SB-UNIX and SB-WIN32 really need to be untangled. */ printf("(in-package \"SB!UNIX\")\n\n"); @@ -338,6 +354,14 @@ main(int argc, char *argv[]) defsignal("sigxcpu", SIGXCPU); defsignal("sigxfsz", SIGXFSZ); #endif + defconstant("fpe-intovf", FPE_INTOVF); + defconstant("fpe-intdiv", FPE_INTDIV); + defconstant("fpe-fltdiv", FPE_FLTDIV); + defconstant("fpe-fltovf", FPE_FLTOVF); + defconstant("fpe-fltund", FPE_FLTUND); + defconstant("fpe-fltres", FPE_FLTRES); + defconstant("fpe-fltinv", FPE_FLTINV); + defconstant("fpe-fltsub", FPE_FLTSUB); #endif // _WIN32 return 0; }