kjv

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

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);