#include <stddef.h>
#include <signal.h>
#include <sys/ucontext.h>

--

SIG_BLOCK
SIG_SETMASK

#define ucontext(member)	offsetof (ucontext_t, member)
#define mcontext(member)	ucontext (uc_mcontext.member)

oLINK		ucontext (uc_link)
oSS_SP		ucontext (uc_stack.ss_sp)
oSS_SIZE	ucontext (uc_stack.ss_size)
oR0		mcontext (gregs[R0])
oR1		mcontext (gregs[R1])
oR2		mcontext (gregs[R2])
oR3		mcontext (gregs[R3])
oR4		mcontext (gregs[R4])
oR5		mcontext (gregs[R5])
oR6		mcontext (gregs[R6])
oR7		mcontext (gregs[R7])
oR8		mcontext (gregs[R8])
oR9		mcontext (gregs[R9])
oR10		mcontext (gregs[R10])
oR11		mcontext (gregs[R11])
oR12		mcontext (gregs[R12])
oR13		mcontext (gregs[R13])
oR14		mcontext (gregs[R14])
oR15		mcontext (gregs[R15])
oPC		mcontext (pc)
oPR		mcontext (pr)
oSR		mcontext (sr)
oGBR		mcontext (gbr)
oMACH		mcontext (mach)
oMACL		mcontext (macl)
oFR0		mcontext (fpregs[0])
oFR1		mcontext (fpregs[1])
oFR2		mcontext (fpregs[2])
oFR3		mcontext (fpregs[3])
oFR4		mcontext (fpregs[4])
oFR5		mcontext (fpregs[5])
oFR6		mcontext (fpregs[6])
oFR7		mcontext (fpregs[7])
oFR8		mcontext (fpregs[8])
oFR9		mcontext (fpregs[9])
oFR10		mcontext (fpregs[10])
oFR11		mcontext (fpregs[11])
oFR12		mcontext (fpregs[12])
oFR13		mcontext (fpregs[13])
oFR14		mcontext (fpregs[14])
oFR15		mcontext (fpregs[15])
oXFR0		mcontext (xfpregs[0])
oXFR1		mcontext (xfpregs[1])
oXFR2		mcontext (xfpregs[2])
oXFR3		mcontext (xfpregs[3])
oXFR4		mcontext (xfpregs[4])
oXFR5		mcontext (xfpregs[5])
oXFR6		mcontext (xfpregs[6])
oXFR7		mcontext (xfpregs[7])
oXFR8		mcontext (xfpregs[8])
oXFR9		mcontext (xfpregs[9])
oXFR10		mcontext (xfpregs[10])
oXFR11		mcontext (xfpregs[11])
oXFR12		mcontext (xfpregs[12])
oXFR13		mcontext (xfpregs[13])
oXFR14		mcontext (xfpregs[14])
oXFR15		mcontext (xfpregs[15])
oFPSCR		mcontext (fpscr)
oFPUL		mcontext (fpul)
oOWNEDFP	mcontext (ownedfp)
oSIGMASK	ucontext (uc_sigmask)
