/****************************************************************************/
/*   $Id: tasks.h,v 1.3 1998/08/04 05:08:47 chris Exp $               */
/****************************************************************************/
#ifndef TASKS_H
#define TASKS_H


#define TASKNAME_MAX  32
#define TASKARGS_MAX 128
#define TASKS_MAX    100

typedef struct
{
    char    name[TASKNAME_MAX];
    void*   task_function;
    char    task_args[TASKARGS_MAX];
    int     socket;
    double  time_to_run;
} TaskDesTyp;



/* Prototypes for public funtions */
extern int      AddTask (void* TaskPtr, char TaskName[], char TaskArgs[],
                         int Sock, double RunAt);
extern int      RemoveTask (void* TaskPtr, int Sock);
extern int      RemoveTaskBySocket (int Sock);
extern int      RemoveAllTasks (void);
extern double   RunTaskList(void);
extern double   GetNow(void);


#endif  /*TASKS_H*/
