initial
This commit is contained in:
46
include/common/task/task.h
Normal file
46
include/common/task/task.h
Normal file
@@ -0,0 +1,46 @@
|
||||
#ifndef TASK_H
|
||||
#define TASK_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
#include <common/dynarr.h>
|
||||
|
||||
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;
|
||||
} task_t;
|
||||
|
||||
void Task_Create(task_t* tsk);
|
||||
void Task_DestroyArgs(task_t* task);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user