#ifndef YAPSSG_PATTERN_H #define YAPSSG_PATTERN_H #include typedef enum { PATTERN_INCLUDE, PATTERN_EXCLUDE } PatternKind; typedef struct { PatternKind kind; char *pattern; int directory_only; } Pattern; typedef struct { Pattern *items; size_t length; size_t capacity; } PatternList; int pattern_list_append(PatternList *list, PatternKind kind, const char *pattern); void pattern_list_clear(PatternList *list); PatternKind pattern_list_default_kind(const PatternList *list); PatternKind pattern_list_resolve(const PatternList *list, const char *path, int is_directory, PatternKind fallback); #endif