/*
 * ucontext.h
 * 
 * Copyright (c) 1997 QNX Software Systems Limited (QSSL).  All rights reserved
 * 
 * This software is the confidential and proprietary information QSSL.
 * ("Confidential Information").  You shall not
 * disclose such Confidential Information. 
 * 
 */

#ifndef _SYS_UCONTEXT_H_
#define _SYS_UCONTEXT_H_

#include <sys/types.h>
#include <sys/signal.h>
#include "sys/reg.h"

#ifdef __cplusplus
extern "C" {
#endif

typedef struct ucontext {
	ulong_t		 uc_flags;
	struct ucontext	*uc_link;
	sigset_t	 uc_sigmask;
	stack_t		 uc_stack;
	mcontext_t	 uc_mcontext;
} ucontext_t;

#define UC_SIGMASK	001
#define UC_STACK	002
#define UC_CPU		004
#define UC_MAU		010
#define UC_FPU		UC_MAU

#define UC_MCONTEXT	(UC_CPU|UC_FPU)

#define UC_ALL		(UC_SIGMASK|UC_STACK|UC_MCONTEXT)

#ifdef __cplusplus
};
#endif

#endif 

