vieter/src/cron/expression/c/expression.h

38 lines
720 B
C

#include <time.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
typedef enum parse_error {
ParseOk = 0,
ParseInvalidExpression = 1,
ParseInvalidNumber = 2,
ParseOutOfRange = 3
} ParseError;
typedef struct cron_expression {
uint8_t *minutes;
uint8_t *hours;
uint8_t *days;
uint8_t *months;
uint8_t minute_count;
uint8_t hour_count;
uint8_t day_count;
uint8_t month_count;
} CronExpression;
typedef struct simple_time {
int year;
int month;
int day;
int hour;
int minute;
} SimpleTime;
/**
* Given a
*/
int ce_next(SimpleTime *out, CronExpression *ce, SimpleTime *ref);
ParseError ce_parse_expression(CronExpression *out, char *s);