summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/fitz/base.h2
-rw-r--r--include/samus.h1
-rw-r--r--include/samus/misc.h6
-rw-r--r--include/samus/pack.h21
4 files changed, 28 insertions, 2 deletions
diff --git a/include/fitz/base.h b/include/fitz/base.h
index d6b35592..e52e3c1d 100644
--- a/include/fitz/base.h
+++ b/include/fitz/base.h
@@ -74,3 +74,5 @@ void *fz_malloc(int n);
void *fz_realloc(void *p, int n);
void fz_free(void *p);
+char *fz_strdup(char *s);
+
diff --git a/include/samus.h b/include/samus.h
index dd5e4656..8837267b 100644
--- a/include/samus.h
+++ b/include/samus.h
@@ -7,6 +7,7 @@
#error "fitz.h must be included before samus.h"
#endif
+#include "samus/misc.h"
#include "samus/zip.h"
#include "samus/xml.h"
#include "samus/pack.h"
diff --git a/include/samus/misc.h b/include/samus/misc.h
new file mode 100644
index 00000000..db4bfc78
--- /dev/null
+++ b/include/samus/misc.h
@@ -0,0 +1,6 @@
+/*
+ * Misc utility functions that Samus needs.
+ */
+
+int sa_strcmp(char *s0, char *s1);
+
diff --git a/include/samus/pack.h b/include/samus/pack.h
index bba55d2f..cdacc217 100644
--- a/include/samus/pack.h
+++ b/include/samus/pack.h
@@ -3,9 +3,26 @@
*/
typedef struct sa_package_s sa_package;
+typedef struct sa_relation_s sa_relation;
+
+struct sa_relation_s
+{
+ int external;
+ char *target;
+ char *id;
+ char *type;
+ sa_relation *next;
+};
fz_error *sa_openpackage(sa_package **packp, char *filename);
-char *sa_accesspart(sa_package *pack, char *partname);
-fz_error *sa_openpart(fz_stream **filep, sa_package *pack, char *partname);
+void sa_debugpackage(sa_package *pack);
void sa_closepackage(sa_package *pack);
+fz_error *sa_openpart(fz_stream **stmp, sa_package *pack, char *partname);
+
+char *sa_typepart(sa_package *pack, char *partname);
+
+fz_error *sa_loadrelations(sa_relation **relsp, sa_package *pack, char *partname);
+void sa_debugrelations(sa_relation *rels);
+void sa_droprelations(sa_relation *rels);
+