diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/conf.h | 16 | ||||
-rw-r--r-- | include/install.h | 9 | ||||
-rw-r--r-- | include/metadata.h | 12 | ||||
-rw-r--r-- | include/mirrors.h | 2 | ||||
-rw-r--r-- | include/spm.h | 1 | ||||
-rw-r--r-- | include/str.h | 1 |
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 |