#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)
#define mreg(reg)		mcontext (sc_gr[reg])

oUC_FLAGS	ucontext (uc_flags)
oUC_LINK	ucontext (uc_link)
oSS_SP		ucontext (uc_stack.ss_sp)
oSS_FLAGS	ucontext (uc_stack.ss_flags)
oSS_SIZE	ucontext (uc_stack.ss_size)
oSC_FLAGS	mcontext (sc_flags)
oR0		mreg (0)
oR1		mreg (1)
oR2		mreg (2)
oR3		mreg (3)
oR4		mreg (4)
oR5		mreg (5)
oR6		mreg (6)
oR7		mreg (7)
oR8		mreg (8)
oR9		mreg (9)
oR10		mreg (10)
oR11		mreg (11)
oR12		mreg (12)
oR13		mreg (13)
oR14		mreg (14)
oR15		mreg (15)
oR16		mreg (16)
oR17		mreg (17)
oR18		mreg (18)
oR19		mreg (19)
oR20		mreg (20)
oR21		mreg (21)
oR22		mreg (22)
oR23		mreg (23)
oR24		mreg (24)
oR25		mreg (25)
oR26		mreg (26)
oR27		mreg (27)
oR28		mreg (28)
oR29		mreg (29)
oR30		mreg (30)
oR31		mreg (31)
oFPREGS0	mcontext (sc_fr[0])
oFPREGS31	mcontext (sc_fr[31])
oIASQ0		mcontext (sc_iasq[0])
oIASQ1		mcontext (sc_iasq[1])
oIAOQ0		mcontext (sc_iaoq[0])
oIAOQ1		mcontext (sc_iaoq[1])
oSAR		mcontext (sc_sar)
oSIGMASK	ucontext (uc_sigmask)
