17c478bdstevel@tonic-gate/*
27c478bdstevel@tonic-gate * CDDL HEADER START
37c478bdstevel@tonic-gate *
47c478bdstevel@tonic-gate * The contents of this file are subject to the terms of the
57c478bdstevel@tonic-gate * Common Development and Distribution License, Version 1.0 only
67c478bdstevel@tonic-gate * (the "License").  You may not use this file except in compliance
77c478bdstevel@tonic-gate * with the License.
87c478bdstevel@tonic-gate *
97c478bdstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
107c478bdstevel@tonic-gate * or http://www.opensolaris.org/os/licensing.
117c478bdstevel@tonic-gate * See the License for the specific language governing permissions
127c478bdstevel@tonic-gate * and limitations under the License.
137c478bdstevel@tonic-gate *
147c478bdstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each
157c478bdstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
167c478bdstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the
177c478bdstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying
187c478bdstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner]
197c478bdstevel@tonic-gate *
207c478bdstevel@tonic-gate * CDDL HEADER END
217c478bdstevel@tonic-gate */
227c478bdstevel@tonic-gate/*
237c478bdstevel@tonic-gate * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
247c478bdstevel@tonic-gate * Use is subject to license terms.
257c478bdstevel@tonic-gate */
267c478bdstevel@tonic-gate
277c478bdstevel@tonic-gate#ifndef _MDB_CONTEXT_IMPL_H
287c478bdstevel@tonic-gate#define	_MDB_CONTEXT_IMPL_H
297c478bdstevel@tonic-gate
307c478bdstevel@tonic-gate#pragma ident	"%Z%%M%	%I%	%E% SMI"
317c478bdstevel@tonic-gate
327c478bdstevel@tonic-gate#include <mdb/mdb_context.h>
337c478bdstevel@tonic-gate
347c478bdstevel@tonic-gate#include <sys/types.h>
357c478bdstevel@tonic-gate
367c478bdstevel@tonic-gate#include <ucontext.h>
377c478bdstevel@tonic-gate#include <setjmp.h>
387c478bdstevel@tonic-gate
397c478bdstevel@tonic-gate#ifdef __cplusplus
407c478bdstevel@tonic-gateextern "C" {
417c478bdstevel@tonic-gate#endif
427c478bdstevel@tonic-gate
437c478bdstevel@tonic-gatestruct mdb_context {
447c478bdstevel@tonic-gate	int (*ctx_func)(void);		/* pointer to start function */
457c478bdstevel@tonic-gate	int ctx_status;			/* return status of ctx_func */
467c478bdstevel@tonic-gate	int ctx_resumes;		/* count of context resume calls */
477c478bdstevel@tonic-gate	size_t ctx_stacksize;		/* size of stack in bytes */
487c478bdstevel@tonic-gate	void *ctx_stack;		/* stack base address */
497c478bdstevel@tonic-gate	ucontext_t ctx_uc;		/* user context structure */
507c478bdstevel@tonic-gate	jmp_buf ctx_pcb;		/* control block for resume */
517c478bdstevel@tonic-gate};
527c478bdstevel@tonic-gate
537c478bdstevel@tonic-gate#ifdef __cplusplus
547c478bdstevel@tonic-gate}
557c478bdstevel@tonic-gate#endif
567c478bdstevel@tonic-gate
577c478bdstevel@tonic-gate#endif /* _MDB_CONTEXT_IMPL_H */
58