////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2002 Xilinx, Inc.  All rights reserved.
//
// Xilinx, Inc.
// XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A 
// COURTESY TO YOU.  BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS
// ONE POSSIBLE   IMPLEMENTATION OF THIS FEATURE, APPLICATION OR 
// STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION
// IS FREE FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE 
// FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION.  
// XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO 
// THE ADEQUACY OF THE IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO 
// ANY WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE 
// FROM CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY 
// AND FITNESS FOR A PARTICULAR PURPOSE.
// 
// Date   : 2002, November.
// Author : Raj Nagarajan (rajn@xilinx.com)
// Company: Xilinx
// Group  : Emerging Software Technologies
//
// $Id :$
//
//////////////////////////////////////////////////////////////////////////////

/***************************************************************************/
/**
 * @file sched.h
 *
 * This contains the function decleration for scheduling functions.
 ***************************************************************************/
#ifndef _SCHED_H_
#define _SCHED_H_

#include <os_config.h>
#include <config_param.h>
#include <sys/process.h>

/*
 * Scheduling algorithm.
 */
#define SCHED_RR 	1 	/**< Round Robin Scheduling type */
#define SCHED_PRIO 	2	/**< Priority Preemptive Scheduling type */

/*
 * Function prototypes.
 */
void readyq_init() ;
void process_scheduler() ;

#if SCHED_TYPE == SCHED_RR
void process_rr_scheduler() ;
#endif

#if SCHED_TYPE == SCHED_PRIO
void process_prio_scheduler() ;
#endif

#endif
