summaryrefslogtreecommitdiff
path: root/src/word.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/word.h')
-rw-r--r--src/word.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/word.h b/src/word.h
new file mode 100644
index 0000000..fd31cb9
--- /dev/null
+++ b/src/word.h
@@ -0,0 +1,53 @@
+/*
+ * This file is part of WordExtract.
+ *
+ * Copyright (C) 2009 Borisov Alexandr
+ *
+ * WordExtract is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * WordExtract is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with WordExtract. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef WORD_H
+#define WORD_H
+
+/* reffering to the Wikipedia, words, in common
+ * language, aren't longer than 22 letters
+ */
+#define WORDLENGTH 25
+
+#include "main.h"
+
+struct words {
+ char *word;
+ struct words *lsibl;
+ struct words *rsibl;
+};
+typedef struct words Word;
+typedef struct {
+ unsigned int count;
+ char **by_az;
+} SortedWords;
+
+/*binary tree of words from parsed file*/
+extern Word *words;
+/*sorted array of words*/
+extern SortedWords user_words;
+
+Word *add_word(Word *, char *);
+void del_word(Word **, char *);
+unsigned int get_words_count(const Word *);
+void free_words(Word *);
+SortedWords get_sorted(Word *);
+void save_words(FILE *, SortedWords, SaveOpt);
+
+#endif /*WORD_H*/