kjv_ref.h (543B)
1 #pragma once 2 3 #include <regex.h> 4 5 #include "intset.h" 6 7 #define KJV_REF_SEARCH 1 8 #define KJV_REF_EXACT 2 9 #define KJV_REF_EXACT_SET 3 10 #define KJV_REF_RANGE 4 11 #define KJV_REF_RANGE_EXT 5 12 13 typedef struct kjv_ref { 14 int type; 15 unsigned int book; 16 unsigned int chapter; 17 unsigned int chapter_end; 18 unsigned int verse; 19 unsigned int verse_end; 20 intset *verse_set; 21 char *search_str; 22 regex_t search; 23 } kjv_ref; 24 25 kjv_ref * 26 kjv_newref(); 27 28 void 29 kjv_freeref(kjv_ref *ref); 30 31 int 32 kjv_parseref(kjv_ref *ref, const char *ref_str);