// kernel.h #ifndef _KERNEL_H_ #define _KERNEL_H_ // MACROS #ifndef COP_ON #define COP_ON() 0 #define COP_OFF() 0 #endif // CONSTANTS /* these must be set correctly for the code to operate properly, ...or at all. */ #define initial_heap_size 300 // best guess for heap initialization #define numtasks 3 // total number of loaded tasks #define numresources 2 // total number of defined resources // ENUMERATIONS enum task_state {idle=0, pending=1, running=2, waiting=3, finished=4}; enum resource_state {notbusy=0, busy=1}; // FUNCTION PROTOTYPES unsigned char get_task_id(void); unsigned char get_task_state(unsigned char id); unsigned char get_task_priority(unsigned char id); void set_task_state(unsigned char id, unsigned char state); void set_task_priority(unsigned char id, unsigned char priority); /* unsigned long get_time(void); void set_time(unsigned char hour, unsigned char min, unsigned char sec); void start_task(unsigned char id); void stop_task(unsigned char id); */ #endif