#ifndef TASK_H #define TASK_H #include #include #include #include #include typedef enum { TASK_NONE, TASK_PENDING, TASK_ASSIGNED, TASK_DONE, TASK_FAILED } task_state_t; extern int TASK_ERR_CODE; typedef enum { TASK_ERR_NONE, TASK_ERR_INVPTR, TASK_ERR_INVARGS, TASK_ERR_INVQUEUE, TASK_ERR_INVIDX, TASK_ERR_INVTASK } task_err; //typedef struct { // char name[32]; // string // DynArr* data; //} task_arg_t; typedef struct { uint32_t taskId; char binary[64]; DynArr* args; task_state_t state; uint32_t assigned_to; time_t assigned_at; DynArr* results; } task_t; void Task_Create(task_t* tsk); void Task_DestroyArgs(task_t* task); #endif