Loading...
include/ucontext.h Libc-320 Libc-583
--- Libc/Libc-320/include/ucontext.h
+++ Libc/Libc-583/include/ucontext.h
@@ -1,9 +1,7 @@
 /*
- * Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2002, 2008, 2009 Apple Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
- * 
- * Copyright (c) 1999-2003 Apple Computer, Inc.  All Rights Reserved.
  * 
  * This file contains Original Code and/or Modifications of Original Code
  * as defined in and that are subject to the Apple Public Source License
@@ -23,9 +21,39 @@
  * @APPLE_LICENSE_HEADER_END@
  */
 
+/*
+ * These routines are DEPRECATED and should not be used.
+ */
 #ifndef _UCONTEXT_H_
 #define _UCONTEXT_H_
 
+#include <sys/cdefs.h>
+
+//Begin-Libc
+#ifdef __LIBC__
+#include <sys/ucontext.h>
+__BEGIN_DECLS
+int  getcontext(ucontext_t *);
+void makecontext(ucontext_t *, void (*)(), int, ...);
+int  setcontext(const ucontext_t *);
+int  swapcontext(ucontext_t * __restrict, const ucontext_t * __restrict);
+__END_DECLS
+#else /* !__LIBC__ */
+//End-Libc
+#ifdef _XOPEN_SOURCE
 #include <sys/ucontext.h>
 
+__BEGIN_DECLS
+int  getcontext(ucontext_t *);
+void makecontext(ucontext_t *, void (*)(), int, ...);
+int  setcontext(const ucontext_t *);
+int  swapcontext(ucontext_t * __restrict, const ucontext_t * __restrict);
+__END_DECLS
+#else /* !_XOPEN_SOURCE */
+#error ucontext routines are deprecated, and require _XOPEN_SOURCE to be defined
+#endif /* _XOPEN_SOURCE */
+//Begin-Libc
+#endif /* __LIBC__ */
+//End-Libc
+
 #endif /* _UCONTEXT_H_ */