/*
OS Scheduler Simulator
** 連絡先: 琉球大学情報工学科 河野 真治
** (E-Mail Address: kono@ie.u-ryukyu.ac.jp)
**
** このソースのいかなる複写,改変,修正も許諾します。ただし、
** その際には、誰が貢献したを示すこの部分を残すこと。
** 再配布や雑誌の付録などの問い合わせも必要ありません。
** 営利利用も上記に反しない範囲で許可します。
** バイナリの配布の際にはversion messageを保存することを条件とします。
** このプログラムについては特に何の保証もしない、悪しからず。
**
** Everyone is permitted to do anything on this program
** including copying, modifying, improving,
** as long as you don't try to pretend that you wrote it.
** i.e., the above copyright notice has to appear in all copies.
** Binary distribution requires original version messages.
** You don't have to ask before copying, redistribution or publishing.
** THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE.
Simple Event Driven Simulator
Event Structure
*/
typedef
struct event {
struct event *next;
int time;
struct event *(*event)(struct event *task,QueuePtr *q,int quantum);
QueuePtr *param;
} Event, *EventPtr;
extern int event_errno;
extern int init_event(int num);
extern void destory_event();
extern EventPtr new_event(int time, EventPtr event(),QueuePtr *param);
extern void free_event(EventPtr q);
extern EventPtr insert_event(EventPtr list,EventPtr q);
extern EventPtr insert_event1(EventPtr list,EventPtr q);
extern EventPtr append_event(EventPtr list,EventPtr q);
extern EventPtr remove_event(EventPtr list,EventPtr q);
extern EventPtr get_event(EventPtr list,EventPtr *q);
extern EventPtr sort_event(EventPtr q,int (*comp)());
/* end */