chore: added makefile

This commit is contained in:
Jef Roosens 2023-01-18 11:29:16 +01:00
parent f50bc4a3c4
commit 4d72e60515
Signed by: Jef Roosens
GPG key ID: B75D4F293C7052DB
5 changed files with 45 additions and 2 deletions

50
include/vieter_cron.h Normal file
View file

@ -0,0 +1,50 @@
#ifndef VIETER_CRON
#define VIETER_CRON
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
typedef enum cron_parse_error {
cron_parse_ok = 0,
cron_parse_invalid_expression = 1,
cron_parse_invalid_number = 2,
cron_parse_out_of_range = 3,
cron_parse_too_many_parts = 4,
cron_parse_not_enough_parts = 5
} cron_parse_error;
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;
} cron_expression;
typedef struct cron_simple_time {
int year;
int month;
int day;
int hour;
int minute;
} cron_simple_time;
cron_expression *ce_init();
void cron_ce_free(cron_expression *ce);
void cron_ce_next(cron_simple_time *out, cron_expression *ce,
cron_simple_time *ref);
void cron_ce_next_from_now(cron_simple_time *out, cron_expression *ce);
enum cron_parse_error cron_ce_parse_expression(cron_expression *out,
const char *expression);
#endif