diff options
author | Robert Fairley <rfairley@redhat.com> | 2019-08-29 12:14:26 -0400 |
---|---|---|
committer | Robert Fairley <rfairley@redhat.com> | 2019-11-07 23:39:10 -0500 |
commit | aadc4db012ed32455416864c6841e68a8b8ebf58 (patch) | |
tree | 7ccc5f09f3df47569df273c94b45a47cd72dbe28 /src/libostree/ostree-kernel-args.h | |
parent | 49513ccc1b520220bc89382d751c9a7b9879f2d0 (diff) | |
download | ostree-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.h | 29 |
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); |