aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/conf.h16
-rw-r--r--include/install.h9
-rw-r--r--include/metadata.h12
-rw-r--r--include/mirrors.h2
-rw-r--r--include/spm.h1
-rw-r--r--include/str.h1
6 files changed, 31 insertions, 10 deletions
diff --git a/include/conf.h b/include/conf.h
index 80ba457..99d550d 100644
--- a/include/conf.h
+++ b/include/conf.h
@@ -13,11 +13,14 @@ typedef struct {
} ConfigItem;
typedef struct {
- char *binpath;
- char *includepath;
- char *libpath;
- char *datapath;
- char *manpath;
+ char *rootdir;
+ char *bindir;
+ char *includedir;
+ char *libdir;
+ char *datadir;
+ char *mandir;
+ char *sysconfdir;
+ char *localstatedir;
} SPM_Hierarchy;
typedef struct {
@@ -52,4 +55,7 @@ void free_global_config(void);
void show_global_config(void);
void check_runtime_environment(void);
+SPM_Hierarchy *spm_hierarchy_init(char *basepath);
+void spm_hierarchy_free(SPM_Hierarchy *fs);
+
#endif //SPM_CONF_H
diff --git a/include/install.h b/include/install.h
index a3118c7..94a49df 100644
--- a/include/install.h
+++ b/include/install.h
@@ -3,9 +3,10 @@
int metadata_remove(const char *_path);
void install_show_package(ManifestPackage *package);
-int install(const char *destroot, const char *tmpdir, const char *_package);
-int install_package_record(char *from_root, char *package_name);
-int is_installed(const char *rootdir, char *package_name);
-int do_install(ManifestList *mf, const char *rootdir, StrList *packages);
+int install(SPM_Hierarchy *fs, const char *tmpdir, const char *_package);
+int install_package_record(SPM_Hierarchy *fs, char *tmpdir, char *package_name);
+int is_installed(SPM_Hierarchy *fs, char *package_name);
+int do_install(SPM_Hierarchy *fs, ManifestList *mf, StrList *packages);
+
#endif //SPM_INSTALL_H
diff --git a/include/metadata.h b/include/metadata.h
new file mode 100644
index 0000000..bb864f6
--- /dev/null
+++ b/include/metadata.h
@@ -0,0 +1,12 @@
+#ifndef SPM_METADATA_H
+#define SPM_METADATA_H
+
+#define SPM_METADATA_VERIFY 0 << 1
+#define SPM_METADATA_NO_VERIFY 1 << 1
+
+typedef int (ReaderFn)(size_t line, char **);
+
+char **metadata_filelist_read(const char *filename);
+char **metadata_read(const char *filename, int no_verify);
+
+#endif //SPM_METADATA_H
diff --git a/include/mirrors.h b/include/mirrors.h
index 1be39f6..7cf4236 100644
--- a/include/mirrors.h
+++ b/include/mirrors.h
@@ -4,7 +4,7 @@
#define SPM_MIRROR_MAX 0xff
#define SPM_MIRROR_FILENAME "mirrorlist"
-char **file_readlines(const char *filename);
+char **file_readlines(const char *filename, size_t start, size_t limit, ReaderFn *readerFn);
char **mirror_list(const char *filename);
void mirror_list_free(char **m);
void mirror_clone(Manifest *info, char *dest);
diff --git a/include/spm.h b/include/spm.h
index 97d005a..690d1f9 100644
--- a/include/spm.h
+++ b/include/spm.h
@@ -34,6 +34,7 @@
#include "config.h"
#include "internal_cmd.h"
#include "environment.h"
+#include "metadata.h"
#include "manifest.h"
#include "fs.h"
#include "version_spec.h"
diff --git a/include/str.h b/include/str.h
index 2674fb9..06e4a77 100644
--- a/include/str.h
+++ b/include/str.h
@@ -23,5 +23,6 @@ char *strip(char *sptr);
int isempty(char *sptr);
int isquoted(char *sptr);
char *normalize_space(char *s);
+char **strdup_array(char **array);
#endif //SPM_STR_H