summaryrefslogtreecommitdiff
path: root/src/libostree/ostree-kernel-args.h
diff options
context:
space:
mode:
authorRobert Fairley <rfairley@redhat.com>2019-08-29 12:14:26 -0400
committerRobert Fairley <rfairley@redhat.com>2019-11-07 23:39:10 -0500
commitaadc4db012ed32455416864c6841e68a8b8ebf58 (patch)
tree7ccc5f09f3df47569df273c94b45a47cd72dbe28 /src/libostree/ostree-kernel-args.h
parent49513ccc1b520220bc89382d751c9a7b9879f2d0 (diff)
downloadostree-aadc4db012ed32455416864c6841e68a8b8ebf58.tar.gz
lib/kernel-args: Store kernel args as key/value entries
Define an `OstreeKernelArgsEntry` structure, which holds both the key and the value. The kargs order array stores entries for each key/value pair, instead of just the keys. The hash table is used to locate entries, by storing entries in a pointer array for each key. The same public interface is preserved, while maintaining ordering information of each key/value pair when appending/replacing/deleting kargs. Fixes: #1859
Diffstat (limited to 'src/libostree/ostree-kernel-args.h')
-rw-r--r--src/libostree/ostree-kernel-args.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/libostree/ostree-kernel-args.h b/src/libostree/ostree-kernel-args.h
index 3975ae5c..5c8be0c0 100644
--- a/src/libostree/ostree-kernel-args.h
+++ b/src/libostree/ostree-kernel-args.h
@@ -27,11 +27,40 @@
G_BEGIN_DECLS
typedef struct _OstreeKernelArgs OstreeKernelArgs;
+typedef struct _OstreeKernelArgsEntry OstreeKernelArgsEntry;
GHashTable *_ostree_kernel_arg_get_kargs_table (OstreeKernelArgs *kargs);
GPtrArray *_ostree_kernel_arg_get_key_array (OstreeKernelArgs *kargs);
+char *
+_ostree_kernel_args_entry_get_key (const OstreeKernelArgsEntry *e);
+
+char *
+_ostree_kernel_args_entry_get_value (const OstreeKernelArgsEntry *e);
+
+void
+_ostree_kernel_args_entry_set_key (OstreeKernelArgsEntry *e,
+ char *key);
+
+void
+_ostree_kernel_args_entry_set_value (OstreeKernelArgsEntry *e,
+ char *value);
+
+char *
+_ostree_kernel_args_get_key_index (const OstreeKernelArgs *kargs,
+ int i);
+
+char *
+_ostree_kernel_args_get_value_index (const OstreeKernelArgs *kargs,
+ int i);
+
+OstreeKernelArgsEntry *
+_ostree_kernel_args_entry_new (void);
+
+void
+_ostree_kernel_args_entry_value_free (OstreeKernelArgsEntry *e);
+
_OSTREE_PUBLIC
void ostree_kernel_args_free (OstreeKernelArgs *kargs);