/*
 * @DEC_COPYRIGHT@
 */
/*
 * HISTORY
 * $Log:	thread_swap.h,v $
 * Revision 4.2.2.2  92/02/26  15:40:17  Charles_Briggs
 * 	UBC merge
 * 	[92/02/23  13:02:25  Charles_Briggs]
 * 
 * 	UBC merge.
 * 	[92/02/22  14:06:58  Charles_Briggs]
 * 
 * Revision 4.2  91/09/19  22:27:55  devbld
 * 	Adding ODE Headers
 * 
 * $EndLog$
 */
/*	
 *	@(#)$RCSfile: thread_swap.h,v $ $Revision: 4.2.2.2 $ (DEC) $Date: 92/02/26 15:40:17 $
 */ 
/*
 */
/*
 * (c) Copyright 1990, OPEN SOFTWARE FOUNDATION, INC.
 * ALL RIGHTS RESERVED
 */
/* 
 * Mach Operating System
 * Copyright (c) 1989 Carnegie-Mellon University
 * Copyright (c) 1988 Carnegie-Mellon University
 * Copyright (c) 1987 Carnegie-Mellon University
 * All rights reserved.  The CMU software License Agreement specifies
 * the terms and conditions for use and redistribution.
 */
/*
 * OSF/1 Release 1.0
 */
/*
 *	File:	kern/thread_swap.h
 *
 *	Declarations of thread swap_states and swapping routines.
 */

/*
 *	Swap states for threads.
 */

#ifndef	_KERN_THREAD_SWAP_H_
#define _KERN_THREAD_SWAP_H_

#define TH_SW_UNSWAPPABLE	1	/* not swappable */
#define TH_SW_IN		2	/* swapped in */
#define TH_SW_GOING_OUT		3	/* being swapped out */
#define TH_SW_WANT_IN		4	/* being swapped out, but should
					   immediately be swapped in */
#define TH_SW_OUT		5	/* swapped out */
#define TH_SW_COMING_IN		6	/* queued for swapin, or being
					   swapped in */

/*
 *	exported routines
 */
extern void	thread_swapper_init();
extern void	thread_swapin( /* thread_t thread */ );
extern void	swapin_thread();
extern void	swapout_threads();
extern void	swapout_thread();
extern void	thread_swappable( /* thread_t thread, boolean_t swappable */ );
extern void	thread_doswapin( /* thread_t thread */ );

#endif	/* _KERN_THREAD_SWAP_H_ */
