reactos/posix/include/ucontext.h

63 lines
1.6 KiB
C
Raw Normal View History

/* $Id: ucontext.h,v 1.2 2002/02/20 09:17:55 hyperion Exp $
*/
/*
* ucontext.h
*
* user context. Conforming to the Single UNIX(r) Specification Version 2,
* System Interface & Headers Issue 5
*
* This file is part of the ReactOS Operating System.
*
* Contributors:
* Created by KJK::Hyperion <noog@libero.it>
*
* THIS SOFTWARE IS NOT COPYRIGHTED
*
* This source code is offered for use in the public domain. You may
* use, modify or distribute it freely.
*
* This code is distributed in the hope that it will be useful but
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
* DISCLAMED. This includes but is not limited to warranties of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
*/
#ifndef __UCONTEXT_H_INCLUDED__
#define __UCONTEXT_H_INCLUDED__
/* INCLUDES */
#include <signal.h>
/* OBJECTS */
/* TYPES */
typedef void * mcontext_t;
typedef struct __tagucontext_t ucontext_t;
struct __tagucontext_t
{
ucontext_t *uc_link; /* pointer to the context that will be resumed
when this context returns */
sigset_t uc_sigmask; /* the set of signals that are blocked when this
context is active */
stack_t uc_stack; /* the stack used by this context */
mcontext_t uc_mcontext; /* a machine-specific representation of the saved
context */
};
/* CONSTANTS */
/* PROTOTYPES */
int getcontext(ucontext_t *);
int setcontext(const ucontext_t *);
void makecontext(ucontext_t *, (void *)(), int, ...);
int swapcontext(ucontext_t *, const ucontext_t *);
/* MACROS */
#endif /* __UCONTEXT_H_INCLUDED__ */
/* EOF */