xnvme_kvs
Header
/**
* SPDX-FileCopyrightText: Samsung Electronics Co., Ltd
*
* SPDX-License-Identifier: BSD-3-Clause
*
* @headerfile libxnvme_kv.h
*/
enum xnvme_retreive_opts {
XNVME_KVS_RETRIEVE_OPT_RETRIEVE_RAW = 1 << 0,
};
enum xnvme_store_opts {
XNVME_KVS_STORE_OPT_DONT_STORE_IF_KEY_NOT_EXISTS = 1 << 0,
XNVME_KVS_STORE_OPT_DONT_STORE_IF_KEY_EXISTS = 1 << 1,
XNVME_KVS_STORE_OPT_COMPRESS = 1 << 2,
};
/**
* Submit, and optionally wait for completion of, a KV Retrieve
*
* @param ctx Pointer to command context (::xnvme_cmd_ctx)
* @param nsid Namespace Identifier
* @param key pointer to a KV Key buffer
* @param key_len KV Key size in bytes
* @param vbuf pointer to Host Buffer
* @param vbuf_nbytes Host Buffer size in bytes
* @param opt Retrieve options, see ::xnvme_retrieve_opts
*
* @return On success, 0 is returned. On error, negative `errno` is returned.
*/
int
xnvme_kvs_retrieve(struct xnvme_cmd_ctx *ctx, uint32_t nsid, const void *key, uint8_t key_len,
const void *vbuf, uint32_t vbuf_nbytes, uint8_t opt);
/**
* Submit, and optionally wait for completion of, a KV Store
*
* @param ctx Pointer to command context (::xnvme_cmd_ctx)
* @param nsid Namespace Identifier
* @param key pointer to a KV Key buffer
* @param key_len KV Key size in bytes
* @param vbuf pointer to data payload
* @param vbuf_nbytes data payload size in bytes
* @param opt Store-options, see ::xnvme_store_opts
*
* @return On success, 0 is returned. On error, negative `errno` is returned.
*/
int
xnvme_kvs_store(struct xnvme_cmd_ctx *ctx, uint32_t nsid, const void *key, uint8_t key_len,
const void *vbuf, uint32_t vbuf_nbytes, uint8_t opt);
/**
* Submit, and optionally wait for completion of, a KV Delete
*
* @param ctx Pointer to command context (::xnvme_cmd_ctx)
* @param nsid Namespace Identifier
* @param key pointer to a KV Key buffer
* @param key_len KV Key size in bytes
*
* @return On success, 0 is returned. On error, negative `errno` is returned.
*/
int
xnvme_kvs_delete(struct xnvme_cmd_ctx *ctx, uint32_t nsid, const void *key, uint8_t key_len);
/**
* Submit, and optionally wait for completion of, a KV Exist
*
* @param ctx Pointer to command context (::xnvme_cmd_ctx)
* @param nsid Namespace Identifier
* @param key pointer to a KV Key buffer
* @param key_len KV Key size in bytes
*
* @return On success, 0 is returned. On error, negative `errno` is returned.
*/
int
xnvme_kvs_exist(struct xnvme_cmd_ctx *ctx, uint32_t nsid, const void *key, uint8_t key_len);
/**
* Submit, and optionally wait for completion of, a KV List
*
* @param ctx Pointer to command context (::xnvme_cmd_ctx)
* @param nsid Namespace Identifier
* @param key pointer to a KV Key buffer
* @param key_len KV Key size in bytes
* @param vbuf pointer to Host Buffer
* @param vbuf_nbytes Host Buffer size in bytes
*
* @return On success, 0 is returned. On error, negative `errno` is returned.
*/
int
xnvme_kvs_list(struct xnvme_cmd_ctx *ctx, uint32_t nsid, const void *key, uint8_t key_len,
const void *vbuf, uint32_t vbuf_nbytes);
Enums
Structs
Functions
xnvme_kvs_delete
-
int xnvme_kvs_delete(struct xnvme_cmd_ctx *ctx, uint32_t nsid, const void *key, uint8_t key_len)
Submit, and optionally wait for completion of, a KV Delete.
- Parameters:
ctx – Pointer to command context (xnvme_cmd_ctx)
nsid – Namespace Identifier
key – pointer to a KV Key buffer
key_len – KV Key size in bytes
- Returns:
On success, 0 is returned. On error, negative
errno
is returned.
xnvme_kvs_exist
-
int xnvme_kvs_exist(struct xnvme_cmd_ctx *ctx, uint32_t nsid, const void *key, uint8_t key_len)
Submit, and optionally wait for completion of, a KV Exist.
- Parameters:
ctx – Pointer to command context (xnvme_cmd_ctx)
nsid – Namespace Identifier
key – pointer to a KV Key buffer
key_len – KV Key size in bytes
- Returns:
On success, 0 is returned. On error, negative
errno
is returned.
xnvme_kvs_list
-
int xnvme_kvs_list(struct xnvme_cmd_ctx *ctx, uint32_t nsid, const void *key, uint8_t key_len, const void *vbuf, uint32_t vbuf_nbytes)
Submit, and optionally wait for completion of, a KV List.
- Parameters:
ctx – Pointer to command context (xnvme_cmd_ctx)
nsid – Namespace Identifier
key – pointer to a KV Key buffer
key_len – KV Key size in bytes
vbuf – pointer to Host Buffer
vbuf_nbytes – Host Buffer size in bytes
- Returns:
On success, 0 is returned. On error, negative
errno
is returned.
xnvme_kvs_retrieve
-
int xnvme_kvs_retrieve(struct xnvme_cmd_ctx *ctx, uint32_t nsid, const void *key, uint8_t key_len, const void *vbuf, uint32_t vbuf_nbytes, uint8_t opt)
Submit, and optionally wait for completion of, a KV Retrieve.
- Parameters:
ctx – Pointer to command context (xnvme_cmd_ctx)
nsid – Namespace Identifier
key – pointer to a KV Key buffer
key_len – KV Key size in bytes
vbuf – pointer to Host Buffer
vbuf_nbytes – Host Buffer size in bytes
opt – Retrieve options, see ::xnvme_retrieve_opts
- Returns:
On success, 0 is returned. On error, negative
errno
is returned.
xnvme_kvs_store
-
int xnvme_kvs_store(struct xnvme_cmd_ctx *ctx, uint32_t nsid, const void *key, uint8_t key_len, const void *vbuf, uint32_t vbuf_nbytes, uint8_t opt)
Submit, and optionally wait for completion of, a KV Store.
- Parameters:
ctx – Pointer to command context (xnvme_cmd_ctx)
nsid – Namespace Identifier
key – pointer to a KV Key buffer
key_len – KV Key size in bytes
vbuf – pointer to data payload
vbuf_nbytes – data payload size in bytes
opt – Store-options, see xnvme_store_opts
- Returns:
On success, 0 is returned. On error, negative
errno
is returned.