From 915478aef931cb57fe56fe568ab4982454a29812 Mon Sep 17 00:00:00 2001 From: Miguel Dalberto Pedro Date: Thu, 29 Oct 2026 17:55:36 -0300 Subject: Initial commit: Padre Matos Soares (1932) Bible corpus and pms CLI --- src/pms_ref.h | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/pms_ref.h (limited to 'src/pms_ref.h') diff --git a/src/pms_ref.h b/src/pms_ref.h new file mode 100644 index 0000000..d0da38b --- /dev/null +++ b/src/pms_ref.h @@ -0,0 +1,37 @@ +#ifndef PMS_REF_H +#define PMS_REF_H + +#include +#include + +#define PMS_REF_SEARCH 1 +#define PMS_REF_EXACT 2 +#define PMS_REF_EXACT_SET 3 +#define PMS_REF_RANGE 4 +#define PMS_REF_RANGE_EXT 5 + +#define PMS_MAX_VERSE_SET 64 + +typedef struct pms_ref { + int type; + unsigned int book; + unsigned int chapter; + unsigned int chapter_end; + unsigned int verse; + unsigned int verse_end; + unsigned int verse_set[PMS_MAX_VERSE_SET]; + int verse_set_count; + char *search_str; + regex_t search; +} pms_ref; + +pms_ref *pms_newref(void); +void pms_freeref(pms_ref *ref); + +/* Match a book name, abbreviation, or modern alias to book number (1..73), or 0 if not found. */ +int pms_book_from_name(const char *name); + +/* Parse a reference string (e.g. "Gn 1:1-5", "1Rs:3:16", "/principio", "Jo 1 /luz") into ref. Returns 0 on success. */ +int pms_parse_ref(const char *input, pms_ref *ref); + +#endif /* PMS_REF_H */ -- cgit v1.2.3