]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/i386/setjmp.h
xnu-1699.32.7.tar.gz
[apple/xnu.git] / bsd / i386 / setjmp.h
index 0696ed30445ca6412ecbc323409981c12e0bd15d..e28e4d67919b57a28dfc4ef9a895fd64e29e3a85 100644 (file)
@@ -35,8 +35,6 @@
 #define _BSD_I386_SETJMP_H
 
 #include <sys/cdefs.h>
 #define _BSD_I386_SETJMP_H
 
 #include <sys/cdefs.h>
-#include <machine/signal.h>
-
 
 #if defined(__x86_64__)
 /*
 
 #if defined(__x86_64__)
 /*
@@ -59,6 +57,10 @@ typedef int sigjmp_buf[_JBLEN + 1];
  */
 
 #if defined(KERNEL)
  */
 
 #if defined(KERNEL)
+
+#define __need_struct_sigcontext
+#include <i386/_structs.h>
+
 typedef struct sigcontext jmp_buf[1];
 #define _JBLEN ((sizeof(struct sigcontext)) / sizeof(int))
 typedef int sigjmp_buf[_JBLEN+1];
 typedef struct sigcontext jmp_buf[1];
 #define _JBLEN ((sizeof(struct sigcontext)) / sizeof(int))
 typedef int sigjmp_buf[_JBLEN+1];
@@ -71,17 +73,17 @@ typedef int sigjmp_buf[_JBLEN + 1];
 #endif
 
 __BEGIN_DECLS
 #endif
 
 __BEGIN_DECLS
-extern int setjmp(jmp_buf env);
-extern void longjmp(jmp_buf env, int val);
+int    setjmp(jmp_buf);
+void   longjmp(jmp_buf, int);
 
 #ifndef _ANSI_SOURCE
 
 #ifndef _ANSI_SOURCE
-int    _setjmp(jmp_buf env);
-void   _longjmp(jmp_buf, int val);
-int sigsetjmp(sigjmp_buf env, int val);
-void siglongjmp(sigjmp_buf env, int val);
+int    _setjmp(jmp_buf);
+void   _longjmp(jmp_buf, int);
+int    sigsetjmp(sigjmp_buf, int);
+void   siglongjmp(sigjmp_buf, int);
 #endif /* _ANSI_SOURCE  */
 
 #endif /* _ANSI_SOURCE  */
 
-#if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE)
+#if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE))
 void   longjmperror(void);
 #endif /* neither ANSI nor POSIX */
 __END_DECLS
 void   longjmperror(void);
 #endif /* neither ANSI nor POSIX */
 __END_DECLS