summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/samus.h29
-rw-r--r--include/samus/xml.h22
-rw-r--r--include/samus/zip.h28
3 files changed, 52 insertions, 27 deletions
diff --git a/include/samus.h b/include/samus.h
index c90b8cad..215fe573 100644
--- a/include/samus.h
+++ b/include/samus.h
@@ -7,31 +7,6 @@
#error "fitz.h must be included before samus.h"
#endif
-/*
- * ZIP archive
- */
-
-typedef struct sa_zip_s sa_zip;
-typedef struct sa_zipent_s sa_zipent;
-
-struct sa_zipent_s
-{
- unsigned offset;
- unsigned csize;
- unsigned usize;
- char *name;
-};
-
-struct sa_zip_s
-{
- fz_file *file;
- int len;
- sa_zipent *table;
-};
-
-fz_error *sa_openzip(sa_zip **zipp, char *filename);
-void sa_debugzip(sa_zip *zip);
-void sa_closezip(sa_zip *zip);
-fz_error *sa_openzipstream(sa_zip *zip, char *name);
-void sa_closezipstream(sa_zip *zip);
+#include "samus/zip.h"
+#include "samus/xml.h"
diff --git a/include/samus/xml.h b/include/samus/xml.h
new file mode 100644
index 00000000..04308b66
--- /dev/null
+++ b/include/samus/xml.h
@@ -0,0 +1,22 @@
+/*
+ * XML mini-dom based on Inferno's XML parser API.
+ * This one uses expat and in-memory objects though... :(
+ */
+
+typedef struct sa_xmlnode_s sa_xmlnode;
+
+fz_error *sa_parsexml(sa_xmlnode **nodep, fz_file *file, int ns);
+void sa_debugxml(sa_xmlnode *node, int level);
+void sa_dropxml(sa_xmlnode *node);
+
+sa_xmlnode *sa_xmlup(sa_xmlnode *node);
+sa_xmlnode *sa_xmlnext(sa_xmlnode *node);
+sa_xmlnode *sa_xmldown(sa_xmlnode *node);
+
+int sa_isxmltext(sa_xmlnode *node);
+int sa_isxmltag(sa_xmlnode *node);
+
+char *sa_getxmlname(sa_xmlnode *node);
+char *sa_getxmlatt(sa_xmlnode *node, char *att);
+char *sa_getxmltext(sa_xmlnode *node);
+
diff --git a/include/samus/zip.h b/include/samus/zip.h
new file mode 100644
index 00000000..656fc731
--- /dev/null
+++ b/include/samus/zip.h
@@ -0,0 +1,28 @@
+/*
+ * ZIP archive
+ */
+
+typedef struct sa_zip_s sa_zip;
+typedef struct sa_zipent_s sa_zipent;
+
+struct sa_zipent_s
+{
+ unsigned offset;
+ unsigned csize;
+ unsigned usize;
+ char *name;
+};
+
+struct sa_zip_s
+{
+ fz_file *file;
+ int len;
+ sa_zipent *table;
+};
+
+fz_error *sa_openzip(sa_zip **zipp, char *filename);
+void sa_debugzip(sa_zip *zip);
+void sa_closezip(sa_zip *zip);
+fz_error *sa_openzipstream(sa_zip *zip, char *name);
+void sa_closezipstream(sa_zip *zip);
+