/*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2004 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
*/
/*
* Copyright (c) 1992, 1993 NeXT Computer, Inc.
- *
- * HISTORY
- *
- * Machine specific signal information.
- *
- * HISTORY
- * 25-MAR-97 Umesh Vaishampayan (umeshv@NeXT.com)
- * Ported from m98k and hppa.
- *
- * 13-Jan-92 Peter King (king) at NeXT Computer, Inc.
- * Filled out struct sigcontext to hold all registers.
- * Added regs_saved_t to specify which regs stored in the
- * sigcontext are valid.
- *
- * 09-Nov-92 Ben Fathi (benf) at NeXT, Inc.
- * Ported to m98k.
- *
- * 09-May-91 Mike DeMoney (mike) at NeXT, Inc.
- * Ported to m88k.
*/
#ifndef _PPC_SIGNAL_
#define _PPC_SIGNAL_ 1
+#include <sys/appleapiopts.h>
+
+#ifdef __APPLE_API_OBSOLETE
typedef int sig_atomic_t;
/*
* to the handler to allow it to properly restore state if
* a non-standard exit is performed.
*/
+struct sigcontext32 {
+ int sc_onstack; /* sigstack state to restore */
+ int sc_mask; /* signal mask to restore */
+ int sc_ir; /* pc */
+ int sc_psw; /* processor status word */
+ int sc_sp; /* stack pointer if sc_regs == NULL */
+ void *sc_regs; /* (kernel private) saved state */
+};
+
+struct sigcontext64 {
+ int sc_onstack; /* sigstack state to restore */
+ int sc_mask; /* signal mask to restore */
+ long long sc_ir; /* pc */
+ long long sc_psw; /* processor status word */
+ long long sc_sp; /* stack pointer if sc_regs == NULL */
+ void *sc_regs; /* (kernel private) saved state */
+};
+
+/*
+ * LP64todo - Have to decide how to handle this.
+ * For now, just duplicate the 32-bit context as the generic one.
+ */
struct sigcontext {
int sc_onstack; /* sigstack state to restore */
int sc_mask; /* signal mask to restore */
- int sc_ir; /* pc */
+ int sc_ir; /* pc */
int sc_psw; /* processor status word */
int sc_sp; /* stack pointer if sc_regs == NULL */
- void *sc_regs; /* (kernel private) saved state */
+ void *sc_regs; /* (kernel private) saved state */
};
+#endif /* __APPLE_API_OBSOLETE */
+
#endif /* _PPC_SIGNAL_ */