//                              -*- Mode: CFA -*-
//
// Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
//
// The contents of this file are covered under the licence agreement in the
// file "LICENCE" distributed with Cforall.
//
// threads --
//
// Author           : Thierry Delisle
// Created On       : Tue Jan 17 12:27:26 2016
// Last Modified By : Thierry Delisle
// Last Modified On : --
// Update Count     : 0
//

#ifndef KERNEL_H
#define KERNEL_H

#include <stdbool.h>

struct processor {
	struct processorCtx_t * ctx;
	unsigned int thread_index;
	unsigned int thread_count;
	struct thread_h * threads[10];
	bool terminated;
};

void ?{}(processor * this);
void ^?{}(processor * this);

void scheduler_add( struct thread_h * thrd );
void scheduler_remove( struct thread_h * thrd );
void kernel_run( void );

#endif //KERNEL_H

// Local Variables: //
// mode: c //
// tab-width: 4 //
// End: //
