<trclass="memitem:group__kv_group_mgt"id="r_group__kv_group_mgt"><tdclass="memItemLeft"align="right"valign="top"> </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="group__kv_group_mgt.html">KeyValue store management</a></td></tr>
<trclass="memitem:group__kv_entry"id="r_group__kv_entry"><tdclass="memItemLeft"align="right"valign="top"> </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="group__kv_entry.html">KeyValue store entries</a></td></tr>
<trclass="memitem:group__kv_watcher"id="r_group__kv_watcher"><tdclass="memItemLeft"align="right"valign="top"> </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="group__kv_watcher.html">KeyValue store watcher</a></td></tr>
<trclass="memitem:group__kv_status"id="r_group__kv_status"><tdclass="memItemLeft"align="right"valign="top"> </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="group__kv_status.html">KeyValue store status</a></td></tr>
<trclass="memdesc:ga2db86f80d6bfce1bdbedf1b9da22913c"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the latest entry for the key. <br/></td></tr>
<trclass="memdesc:ga9bf43431bb8264a3ea1f0df401afbe1a"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the entry at the specific revision for the key. <br/></td></tr>
<trclass="memdesc:ga1fdf7a1d3acf96e475184790589a401e"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Places the new value for the key into the store. <br/></td></tr>
<trclass="memdesc:ga84ebd66a95ce857765d4a16ec35daba9"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Places the new value (as a string) for the key into the store. <br/></td></tr>
<trclass="memdesc:ga5289f7cd3999cfb46fb1fcb83178aec6"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Places the value for the key into the store if and only if the key does not exist. <br/></td></tr>
<trclass="memdesc:ga5726ad2e6205d2f6749be013138218ca"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Places the value (as a string) for the key into the store if and only if the key does not exist. <br/></td></tr>
<trclass="memdesc:gae0c593bb2ef94ae60e775617c9423038"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Updates the value for the key into the store if and only if the latest revision matches. <br/></td></tr>
<trclass="memdesc:ga13ed70f15cd1485cd15f96bcc4b7ad1c"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Updates the value (as a string) for the key into the store if and only if the latest revision matches. <br/></td></tr>
<trclass="memdesc:ga68101d46739ca894fd7c56c8661c08d8"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Deletes a key by placing a delete marker and leaving all revisions. <br/></td></tr>
<trclass="memdesc:ga3d5fa3d895d0d3041440105b244e9ca9"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Deletes a key by placing a purge marker and removing all revisions. <br/></td></tr>
<trclass="memdesc:ga30feca870f580c7b9d2ad07a740505b2"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns a watcher for any updates to keys that match the <code>keys</code> argument. <br/></td></tr>
<trclass="memdesc:gaf011f1dd6813391c65664e982747602e"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns a watcher for any updates to any keys of the KeyValue store bucket. <br/></td></tr>
<trclass="memdesc:ga6030fc2a672ae868f7603587245b9d5a"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns all keys in the bucket. <br/></td></tr>
<trclass="memdesc:ga02ccd58bc5062f6ce6f94bf05e3dfe45"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Destroys this list of KeyValue store key strings. <br/></td></tr>
<trclass="memdesc:ga5aa57345313cee85b020e50c22023fb5"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns all historical entries for the key. <br/></td></tr>
<trclass="memdesc:gae783352ab81e22aa3173057d117518e6"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Destroys this list of KeyValue store entries. <br/></td></tr>
<trclass="memdesc:gad28fdf9aae16bba308cda799fca13281"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the bucket name of this KeyValue store object. <br/></td></tr>
<trclass="memdesc:gadf75e99cc28bc9c2d6eac7c9f7398c27"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the status and configuration of a bucket. <br/></td></tr>
<p>A KeyValue store is a materialized view of JetStream.</p>
<dlclass="section warning"><dt>Warning</dt><dd>EXPERIMENTAL FEATURE! We reserve the right to change the API without necessarily bumping the major version of the library. </dd></dl>
<dlclass="section note"><dt>Note</dt><dd>The entry should be destroyed to release memory using <aclass="el"href="group__kv_entry.html#ga8359ffcdeefb9c5821e6442d0d5ee388"title="Destroys the KeyValue entry object.">kvEntry_Destroy</a>.</dd></dl>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">new_entry</td><td>the location where to store the pointer to the entry associated with the <code>key</code>. </td></tr>
<tr><tdclass="paramname">kv</td><td>the pointer to the <aclass="el"href="group__types_group.html#ga054c05493dd3cfc5c3e7a665a424e54a">kvStore</a> object. </td></tr>
<tr><tdclass="paramname">key</td><td>the name of the key. </td></tr>
<p>Returns the entry at the specific revision for the key, or <aclass="el"href="status_8h.html#a36c934157b663b7b5fb5d6609c897c80ad0229a12b17d3d12a28efed6213720d8">NATS_NOT_FOUND</a> if there is no entry for that key and revision.</p>
<dlclass="section note"><dt>Note</dt><dd>The entry should be destroyed to release memory using <aclass="el"href="group__kv_entry.html#ga8359ffcdeefb9c5821e6442d0d5ee388"title="Destroys the KeyValue entry object.">kvEntry_Destroy</a>.</dd></dl>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">new_entry</td><td>the location where to store the pointer to the entry associated with the <code>key</code>. </td></tr>
<tr><tdclass="paramname">kv</td><td>the pointer to the <aclass="el"href="group__types_group.html#ga054c05493dd3cfc5c3e7a665a424e54a">kvStore</a> object. </td></tr>
<tr><tdclass="paramname">key</td><td>the name of the key. </td></tr>
<tr><tdclass="paramname">revision</td><td>the revision of the entry (must be > 0). </td></tr>
<p>Places the new value for the key into the store.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">rev</td><td>the location where to store the revision of this value, or <code>NULL</code> if the stream information is not needed. </td></tr>
<tr><tdclass="paramname">kv</td><td>the pointer to the <aclass="el"href="group__types_group.html#ga054c05493dd3cfc5c3e7a665a424e54a">kvStore</a> object. </td></tr>
<tr><tdclass="paramname">key</td><td>the name of the key. </td></tr>
<tr><tdclass="paramname">data</td><td>the pointer to the data in memory. </td></tr>
<tr><tdclass="paramname">len</td><td>the number of bytes to copy from the data's memory location. </td></tr>
<p>Places the new value, as a string, for the key into the store.</p>
<dlclass="section note"><dt>Note</dt><dd>This is equivalent of calling <aclass="el"href="group__kv_group.html#ga1fdf7a1d3acf96e475184790589a401e"title="Places the new value for the key into the store.">kvStore_Put</a> with <code>(int) strlen(data)</code>.</dd></dl>
<dlclass="section warning"><dt>Warning</dt><dd>The NULL terminating character is not included in the number of bytes stored in the KeyValue store.</dd></dl>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">rev</td><td>the location where to store the revision of this value, or <code>NULL</code> if the stream information is not needed. </td></tr>
<tr><tdclass="paramname">kv</td><td>the pointer to the <aclass="el"href="group__types_group.html#ga054c05493dd3cfc5c3e7a665a424e54a">kvStore</a> object. </td></tr>
<tr><tdclass="paramname">key</td><td>the name of the key. </td></tr>
<tr><tdclass="paramname">data</td><td>the pointer to the string to store. </td></tr>
<p>Places the value for the key into the store if and only if the key does not exist.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">rev</td><td>the location where to store the revision of this value, or <code>NULL</code> if the stream information is not needed. </td></tr>
<tr><tdclass="paramname">kv</td><td>the pointer to the <aclass="el"href="group__types_group.html#ga054c05493dd3cfc5c3e7a665a424e54a">kvStore</a> object. </td></tr>
<tr><tdclass="paramname">key</td><td>the name of the key. </td></tr>
<tr><tdclass="paramname">data</td><td>the pointer to the data in memory. </td></tr>
<tr><tdclass="paramname">len</td><td>the number of bytes to copy from the data's memory location. </td></tr>
<p>Places the value (as a string) for the key into the store if and only if the key does not exist.</p>
<dlclass="section note"><dt>Note</dt><dd>This is equivalent of calling <aclass="el"href="group__kv_group.html#ga5289f7cd3999cfb46fb1fcb83178aec6"title="Places the value for the key into the store if and only if the key does not exist.">kvStore_Create</a> with <code>(int) strlen(data)</code>.</dd></dl>
<dlclass="section warning"><dt>Warning</dt><dd>The NULL terminating character is not included in the number of bytes stored in the KeyValue store.</dd></dl>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">rev</td><td>the location where to store the revision of this value, or <code>NULL</code> if the stream information is not needed. </td></tr>
<tr><tdclass="paramname">kv</td><td>the pointer to the <aclass="el"href="group__types_group.html#ga054c05493dd3cfc5c3e7a665a424e54a">kvStore</a> object. </td></tr>
<tr><tdclass="paramname">key</td><td>the name of the key. </td></tr>
<tr><tdclass="paramname">data</td><td>the pointer to the string. </td></tr>
<p>Updates the value for the key into the store if and only if the latest revision matches.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">rev</td><td>the location where to store the revision of this value, or <code>NULL</code> if the stream information is not needed. </td></tr>
<tr><tdclass="paramname">kv</td><td>the pointer to the <aclass="el"href="group__types_group.html#ga054c05493dd3cfc5c3e7a665a424e54a">kvStore</a> object. </td></tr>
<tr><tdclass="paramname">key</td><td>the name of the key. </td></tr>
<tr><tdclass="paramname">data</td><td>the pointer to the data in memory. </td></tr>
<tr><tdclass="paramname">len</td><td>the number of bytes to copy from the data's memory location. </td></tr>
<tr><tdclass="paramname">last</td><td>the expected latest revision prior to the update. </td></tr>
<p>Updates the value (as a string) for the key into the store if and only if the latest revision matches.</p>
<dlclass="section note"><dt>Note</dt><dd>This is equivalent of calling <aclass="el"href="group__kv_group.html#gae0c593bb2ef94ae60e775617c9423038"title="Updates the value for the key into the store if and only if the latest revision matches.">kvStore_Update</a> with <code>(int) strlen(data)</code>.</dd></dl>
<dlclass="section warning"><dt>Warning</dt><dd>The NULL terminating character is not included in the number of bytes stored in the KeyValue store.</dd></dl>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">rev</td><td>the location where to store the revision of this value, or <code>NULL</code> if the stream information is not needed. </td></tr>
<tr><tdclass="paramname">kv</td><td>the pointer to the <aclass="el"href="group__types_group.html#ga054c05493dd3cfc5c3e7a665a424e54a">kvStore</a> object. </td></tr>
<tr><tdclass="paramname">key</td><td>the name of the key. </td></tr>
<tr><tdclass="paramname">data</td><td>the pointer to the string. </td></tr>
<tr><tdclass="paramname">last</td><td>the expected latest revision prior to the update. </td></tr>
<p>Deletes a key by placing a delete marker and leaving all revisions.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">kv</td><td>the pointer to the <aclass="el"href="group__types_group.html#ga054c05493dd3cfc5c3e7a665a424e54a">kvStore</a> object. </td></tr>
<tr><tdclass="paramname">key</td><td>the name of the key. </td></tr>
<p>Deletes a key by placing a purge marker and removing all revisions.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">kv</td><td>the pointer to the <aclass="el"href="group__types_group.html#ga054c05493dd3cfc5c3e7a665a424e54a">kvStore</a> object. </td></tr>
<tr><tdclass="paramname">key</td><td>the name of the key. </td></tr>
<tr><tdclass="paramname">opts</td><td>the pointer to the <aclass="el"href="structkv_purge_options.html">kvPurgeOptions</a>, possibly <code>NULL</code>. </td></tr>
<p>Use this before setting specific watcher options and passing it to <aclass="el"href="group__kv_group.html#ga30feca870f580c7b9d2ad07a740505b2"title="Returns a watcher for any updates to keys that match the keys argument.">kvStore_Watch</a>.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">opts</td><td>the pointer to the <aclass="el"href="structkv_watch_options.html">kvWatchOptions</a> to initialize. </td></tr>
<p>Use this before setting specific purge options and passing it to <aclass="el"href="group__kv_group.html#ga3d5fa3d895d0d3041440105b244e9ca9"title="Deletes a key by placing a purge marker and removing all revisions.">kvStore_Purge</a> or <aclass="el"href="group__kv_group.html#ga34ab74b229ff88e64301ea53a274da69"title="Purge and removes delete markers.">kvStore_PurgeDeletes</a>.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">opts</td><td>the pointer to the <aclass="el"href="structkv_purge_options.html">kvPurgeOptions</a> to initialize. </td></tr>
<p>Removes data and delete markers, but may keep the markers that are considered more recent than a certain threshold (default is 30 minutes).</p>
<p>This is a maintenance option if there is a larger buildup of delete markers.</p>
<dlclass="section note"><dt>Note</dt><dd>Use <aclass="el"href="structkv_purge_options.html#a245c2def0f3aabe617219772cf7680a8">kvPurgeOptions.Timeout</a> to specify how long to wait (in milliseconds) in gathering all keys that have purge markers. This function will still purge some of the keys and return <aclass="el"href="status_8h.html#a36c934157b663b7b5fb5d6609c897c80ab88994c9ea9889ac4d9d656d62f550ed">NATS_TIMEOUT</a> to indicate that it may not have deleted them all.</dd></dl>
<dlclass="section see"><dt>See also</dt><dd><aclass="el"href="group__kv_group.html#ga243113fd7df34ce104850ab888f04021"title="Initializes a KeyValue purge options structure.">kvPurgeOptions_Init</a></dd></dl>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">kv</td><td>the pointer to the <aclass="el"href="group__types_group.html#ga054c05493dd3cfc5c3e7a665a424e54a">kvStore</a> object. </td></tr>
<tr><tdclass="paramname">opts</td><td>the pointer to the <aclass="el"href="structkv_purge_options.html">kvPurgeOptions</a>, possibly <code>NULL</code>. </td></tr>
<p>Returns a watcher for any updates to keys that match the <code>keys</code> argument, which could include wildcard.</p>
<p>A <code>NULL</code> entry will be posted when the watcher has received all initial values.</p>
<p>Call <aclass="el"href="group__kv_watcher.html#ga562c216a0199c30455af4c2da46000e5"title="Returns the next entry for this watcher.">kvWatcher_Next</a> to get the next <aclass="el"href="group__types_group.html#gad489fb4074f27427560ca71797db6191">kvEntry</a>.</p>
<dlclass="section note"><dt>Note</dt><dd>The watcher should be destroyed to release memory using <aclass="el"href="group__kv_watcher.html#ga21bc39fa795f7c4f392bd6d4e66ea1d9"title="Destroys the KeyValue watcher object.">kvWatcher_Destroy</a>.</dd></dl>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">new_watcher</td><td>the location where to store the pointer to the new <aclass="el"href="group__types_group.html#ga526fa6d37e818784b94cdc1713f3a043">kvWatcher</a> object. </td></tr>
<tr><tdclass="paramname">kv</td><td>the pointer to the <aclass="el"href="group__types_group.html#ga054c05493dd3cfc5c3e7a665a424e54a">kvStore</a> object. </td></tr>
<tr><tdclass="paramname">keys</td><td>the keys (wildcard possible) to create the watcher for. </td></tr>
<p>Returns a watcher for any updates to any keys of the KeyValue store bucket.</p>
<p>A <code>NULL</code> entry will be posted when the watcher has received all initial values.</p>
<p>Call <aclass="el"href="group__kv_watcher.html#ga562c216a0199c30455af4c2da46000e5"title="Returns the next entry for this watcher.">kvWatcher_Next</a> to get the next <aclass="el"href="group__types_group.html#gad489fb4074f27427560ca71797db6191">kvEntry</a>.</p>
<dlclass="section note"><dt>Note</dt><dd>The watcher should be destroyed to release memory using <aclass="el"href="group__kv_watcher.html#ga21bc39fa795f7c4f392bd6d4e66ea1d9"title="Destroys the KeyValue watcher object.">kvWatcher_Destroy</a>.</dd></dl>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">new_watcher</td><td>the location where to store the pointer to the new <aclass="el"href="group__types_group.html#ga526fa6d37e818784b94cdc1713f3a043">kvWatcher</a> object. </td></tr>
<tr><tdclass="paramname">kv</td><td>the pointer to the <aclass="el"href="group__types_group.html#ga054c05493dd3cfc5c3e7a665a424e54a">kvStore</a> object. </td></tr>
<dlclass="section note"><dt>Note</dt><dd>Use <aclass="el"href="structkv_watch_options.html#a56183d56585697d058c7eeb20bdddb66"title="How long to wait (in milliseconds) for some operations to complete.">kvWatchOptions.Timeout</a> to specify how long to wait (in milliseconds) to gather all keys for this bucket. If the deadline is reached, this function will return <aclass="el"href="status_8h.html#a36c934157b663b7b5fb5d6609c897c80ab88994c9ea9889ac4d9d656d62f550ed">NATS_TIMEOUT</a> and no keys.</dd></dl>
<dlclass="section warning"><dt>Warning</dt><dd>The user should call <aclass="el"href="group__kv_group.html#ga02ccd58bc5062f6ce6f94bf05e3dfe45"title="Destroys this list of KeyValue store key strings.">kvKeysList_Destroy</a> to release memory allocated for the entries list.</dd></dl>
<dlclass="section see"><dt>See also</dt><dd><aclass="el"href="group__kv_group.html#ga762fd5de8cde683e46a6736a51e575f5"title="Initializes a KeyValue watcher options structure.">kvWatchOptions_Init</a></dd>
<dd>
<aclass="el"href="group__kv_group.html#ga02ccd58bc5062f6ce6f94bf05e3dfe45"title="Destroys this list of KeyValue store key strings.">kvKeysList_Destroy</a></dd></dl>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">list</td><td>list the pointer to a <aclass="el"href="structkv_keys_list.html"title="A list of KeyValue store keys.">kvKeysList</a> that will be initialized and filled with resulting key strings. </td></tr>
<tr><tdclass="paramname">kv</td><td>the pointer to the <aclass="el"href="group__types_group.html#ga054c05493dd3cfc5c3e7a665a424e54a">kvStore</a> object. </td></tr>
<tr><tdclass="paramname">opts</td><td>the history options, possibly <code>NULL</code>. </td></tr>
<p>This function iterates through the list of all key strings and free them. It then frees the array that was allocated to hold pointers to those keys.</p>
<dlclass="section note"><dt>Note</dt><dd>The <aclass="el"href="structkv_keys_list.html"title="A list of KeyValue store keys.">kvKeysList</a> object itself is not freed since it is expected that users will pass a pointer to a stack object. Should the user create its own object, it will be the user responsibility to free this object.</dd></dl>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">list</td><td>the <aclass="el"href="structkv_keys_list.html"title="A list of KeyValue store keys.">kvKeysList</a> list of key strings to destroy. </td></tr>
<p>Use the options to alter the behavior. For instance, if delete markers are not desired, option <aclass="el"href="structkv_watch_options.html#a0535edd21b26affc0057575bafc21a07">kvWatchOptions.IgnoreDeletes</a> should be specified.</p>
<dlclass="section note"><dt>Note</dt><dd>Use <aclass="el"href="structkv_watch_options.html#a56183d56585697d058c7eeb20bdddb66"title="How long to wait (in milliseconds) for some operations to complete.">kvWatchOptions.Timeout</a> to specify how long to wait (in milliseconds) to gather all entries for this key. If the deadline is reached, this function will return <aclass="el"href="status_8h.html#a36c934157b663b7b5fb5d6609c897c80ab88994c9ea9889ac4d9d656d62f550ed">NATS_TIMEOUT</a> and no entries.</dd></dl>
<dlclass="section warning"><dt>Warning</dt><dd>The user should call <aclass="el"href="group__kv_group.html#gae783352ab81e22aa3173057d117518e6"title="Destroys this list of KeyValue store entries.">kvEntryList_Destroy</a> to release memory allocated for the entries list.</dd></dl>
<dlclass="section see"><dt>See also</dt><dd><aclass="el"href="group__kv_group.html#ga762fd5de8cde683e46a6736a51e575f5"title="Initializes a KeyValue watcher options structure.">kvWatchOptions_Init</a></dd>
<dd>
<aclass="el"href="group__kv_group.html#gae783352ab81e22aa3173057d117518e6"title="Destroys this list of KeyValue store entries.">kvEntryList_Destroy</a></dd></dl>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">list</td><td>the pointer to a <aclass="el"href="structkv_entry_list.html"title="A list of KeyValue store entries.">kvEntryList</a> that will be initialized and filled with resulting entries. </td></tr>
<tr><tdclass="paramname">kv</td><td>the pointer to the <aclass="el"href="group__types_group.html#ga054c05493dd3cfc5c3e7a665a424e54a">kvStore</a> object. </td></tr>
<tr><tdclass="paramname">key</td><td>the key for which the history is requested. </td></tr>
<tr><tdclass="paramname">opts</td><td>the history options, possibly <code>NULL</code>. </td></tr>
<p>This function iterates through the list of all entries and call <aclass="el"href="group__kv_entry.html#ga8359ffcdeefb9c5821e6442d0d5ee388"title="Destroys the KeyValue entry object.">kvEntry_Destroy</a>. It then frees the array that was allocated to hold pointers to those entries.</p>
<dlclass="section note"><dt>Note</dt><dd>The <aclass="el"href="structkv_entry_list.html"title="A list of KeyValue store entries.">kvEntryList</a> object itself is not freed since it is expected that users will pass a pointer to a stack object. Should the user create its own object, it will be the user responsibility to free this object.</dd></dl>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">list</td><td>the <aclass="el"href="structkv_entry_list.html"title="A list of KeyValue store entries.">kvEntryList</a> list of <aclass="el"href="group__types_group.html#gad489fb4074f27427560ca71797db6191">kvEntry</a> objects to destroy. </td></tr>
<p>Returns the bucket name of this KeyValue store object, or <code>NULL</code> if <code>kv</code> itself is NULL.</p>
<dlclass="section warning"><dt>Warning</dt><dd>Do not free the string returned by this function.</dd></dl>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">kv</td><td>the pointer to the <aclass="el"href="group__types_group.html#ga054c05493dd3cfc5c3e7a665a424e54a">kvStore</a> object. </td></tr>
<p>Returns the status and configuration of a bucket.</p>
<dlclass="section note"><dt>Note</dt><dd>The status should be destroyed to release memory using <aclass="el"href="group__kv_status.html#ga5eb3d824c1873af705beee4798246a08"title="Destroys the KeyValue status object.">kvStatus_Destroy</a>.</dd></dl>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">new_status</td><td>the location where to store the status of this KeyValue store. </td></tr>
<tr><tdclass="paramname">kv</td><td>the pointer to the <aclass="el"href="group__types_group.html#ga054c05493dd3cfc5c3e7a665a424e54a">kvStore</a> object. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.10-->
<!-- start footer part -->
<divid="nav-path"class="navpath"><!-- id is needed for treeview function! -->
<ul>
<liclass="footer">NATS.IO Supported By Synadia Communications Inc.