#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
 
enum states {STATE01, STATE02, STATE03};

enum states state01()
{
	printf("\nstate1\n"); 
	sleep(1);
	
	return STATE02;
}

enum states state02()
{
	printf("\nstate2\n"); 
	sleep(1);
	
	return STATE03;
}
 
enum states state03()
{
int i=3;
    while (i--) {
		printf("\nstate3\n"); 
		sleep(1);
	}
	
	return STATE01;
}

int main()
{
enum states stateID = STATE01;


	while (1) {
	   printf("\nback in scheduler\n");
		switch(stateID) {
		case STATE01:
			stateID = state01();
			break;
		case STATE02:
			stateID = state02();
			break;
		case STATE03:
			stateID = state03();
			break;
	    default:
	    	stateID = STATE01;    	
		}
	}
}

  

 
