blob: 95170f817fb70094559ab83f2679a1e6a8dd741c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
/*
* pkg - mkpkg database reader (read-only)
* https://rawnix.org
*
* Copyright (c) 2025 zorz@gmx.com
* SPDX-License-Identifier: BSD-2-Clause
*/
#ifndef PKGDB_H
#define PKGDB_H
#include "pkg.h"
/* Installed package info */
typedef struct {
char *name;
char *version;
} installed_pkg_t;
/* Hash table entry */
typedef struct pkgdb_entry {
char *key;
installed_pkg_t *pkg;
struct pkgdb_entry *next;
} pkgdb_entry_t;
/* Package database */
typedef struct {
pkgdb_entry_t **buckets;
size_t bucket_count;
size_t size;
char *path;
} pkgdb_t;
/* Database operations */
pkgdb_t *pkgdb_open(const char *root);
void pkgdb_close(pkgdb_t *db);
bool pkgdb_installed(pkgdb_t *db, const char *name);
installed_pkg_t *pkgdb_find(pkgdb_t *db, const char *name);
strarray_t *pkgdb_list(pkgdb_t *db);
#endif /* PKGDB_H */
|