typedef struct Node NODE;
typedef struct List LIST;
typedef struct Task TASK;
typedef struct Process PROC;

struct PTask {
	NODE	pt_Node;
	TASK	*pt_Task;
	char	*pt_OrigName;
	BYTE	pt_TaskPri;
};

typedef struct PTask PTASK;
#define AllocPTask()	AllocVec(sizeof(PTASK),MEMF_CLEAR)
#define FreePTask(p)	FreeVec(p)

extern LIST ptlist;
extern LONG num_ptasks;

void InitPTaskList(void);
void DeletePTaskList(void);
char *AllocStr(UBYTE len, BYTE pri, UBYTE *str);
void InsertInPlace(LIST *list, NODE *new);
void SortList(LIST *from, LIST *to);
BOOL InitNode(PTASK *pt, NODE *n, char *name, UBYTE len);
BOOL AddTaskToPTaskList(TASK *t);
BOOL AddListToPTaskList(LIST *tl);
BOOL RefreshPTaskList(void);
TASK *ScanList(LIST *list, PTASK *pt);
TASK *GetOrigTask(PTASK *pt);

