#ifndef __RTOS_DEFS_H__
#define __RTOS_DEFS_H__

#include "commdefs.h"
#include "rtos_config.h"

#if PROCESS_COUNT < 8
	typedef uint8_t		ProcessMap;
#elif PROCESS_COUNT < 16
	typedef uint16_t	ProcessMap;
#else
	typedef uint32_t	ProcessMap;
#endif

enum Priority {
		prIDLE,
	#if PROCESS_COUNT   > 30
		pr30,
	#endif
	#if PROCESS_COUNT   > 29
		pr29,
	#endif
	#if PROCESS_COUNT   > 28
		pr28,
	#endif
	#if PROCESS_COUNT   > 27
		pr27,
	#endif
	#if PROCESS_COUNT   > 26
		pr26,
	#endif
	#if PROCESS_COUNT   > 25
		pr25,
	#endif
	#if PROCESS_COUNT   > 24
		pr24,
	#endif
	#if PROCESS_COUNT   > 23
		pr23,
	#endif
	#if PROCESS_COUNT   > 22
		pr22,
	#endif
	#if PROCESS_COUNT   > 21
		pr21,
	#endif
	#if PROCESS_COUNT   > 20
		pr20,
	#endif
	#if PROCESS_COUNT   > 19
		pr19,
	#endif
	#if PROCESS_COUNT   > 18
		pr18,
	#endif
	#if PROCESS_COUNT   > 17
		pr17,
	#endif
	#if PROCESS_COUNT   > 16
		pr16,
	#endif
	#if PROCESS_COUNT   > 15
		pr15,
	#endif
	#if PROCESS_COUNT   > 14
		pr14,
	#endif
	#if PROCESS_COUNT   > 13
		pr13,
	#endif
	#if PROCESS_COUNT   > 12
		pr12,
	#endif
	#if PROCESS_COUNT   > 11
		pr11,
	#endif
	#if PROCESS_COUNT   > 10
		pr10,
	#endif
	#if PROCESS_COUNT   > 9
		pr9,
	#endif
	#if PROCESS_COUNT   > 8
		pr8,
	#endif
	#if PROCESS_COUNT   > 7
		pr7,
	#endif
	#if PROCESS_COUNT   > 6
		pr6,
	#endif
	#if PROCESS_COUNT   > 5
		pr5,
	#endif
	#if PROCESS_COUNT   > 4
		pr4,
	#endif
	#if PROCESS_COUNT   > 3
		pr3,
	#endif
	#if PROCESS_COUNT   > 2
		pr2,
	#endif
	#if PROCESS_COUNT   > 1
		pr1,
	#endif
	#if PROCESS_COUNT   > 0
		pr0
	#endif
	#if (PROCESS_COUNT   > 31) || (PROCESS_COUNT   < 1)
		#error "Invalid Process Count specification! Must be from 1 to 31."
	#endif
};

#endif // __RTOS_DEFS_H
