diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2020-02-13 21:15:54 -0500 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2020-02-13 21:15:54 -0500 |
commit | b5dc6f2c428b4555d3e56e628605f54e4a63b16e (patch) | |
tree | 0c6c1a41292c9ee088065c57bd12939d24195e1c /include/manifest.h | |
parent | f0ba44942b27c3ac4bc48bff3f8d2fea9d8757fa (diff) | |
download | spmc-b5dc6f2c428b4555d3e56e628605f54e4a63b16e.tar.gz |
Implement ManifestList:
* Initial support for multiple manifests at once
Diffstat (limited to 'include/manifest.h')
-rw-r--r-- | include/manifest.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/manifest.h b/include/manifest.h index c32ed20..a6445d8 100644 --- a/include/manifest.h +++ b/include/manifest.h @@ -33,6 +33,12 @@ typedef struct { char origin[PACKAGE_MEMBER_ORIGIN_SIZE]; } Manifest; +typedef struct { + size_t num_inuse; + size_t num_alloc; + Manifest **data; +} ManifestList; + int fetch(const char *url, const char *dest); void manifest_package_separator_swap(char **name); void manifest_package_separator_restore(char **name); @@ -45,4 +51,11 @@ ManifestPackage *manifest_search(Manifest *info, const char *package); ManifestPackage *find_by_strspec(Manifest *manifest, const char *_strspec); ManifestPackage *manifest_package_copy(ManifestPackage *manifest); +ManifestList *manifestlist_init(); +Manifest *manifestlist_item(ManifestList *pManifestList, size_t index); +void manifestlist_set(ManifestList *pManifestList, size_t index, Manifest *manifest); +ManifestPackage *manifestlist_search(ManifestList *pManifestList, const char *_package); +size_t manifestlist_count(ManifestList *pManifestList); +void manifestlist_append(ManifestList *pManifestList, char* path); +void manifestlist_free(ManifestList *pManifestList); #endif //SPM_MANIFEST_H |