libxnvme_cli.h#
Enums#
xnvme_cli_opt#
-
enum xnvme_cli_opt#
Command-Line Options, each command-line option can be one of xnvme_cli_opt_type.
Values:
-
enumerator XNVME_CLI_OPT_NONE#
XNVME_CLI_OPT_NONE.
-
enumerator XNVME_CLI_OPT_CDW00#
XNVME_CLI_OPT_CDW00.
-
enumerator XNVME_CLI_OPT_CDW01#
XNVME_CLI_OPT_CDW01.
-
enumerator XNVME_CLI_OPT_CDW02#
XNVME_CLI_OPT_CDW02.
-
enumerator XNVME_CLI_OPT_CDW03#
XNVME_CLI_OPT_CDW03.
-
enumerator XNVME_CLI_OPT_CDW04#
XNVME_CLI_OPT_CDW04.
-
enumerator XNVME_CLI_OPT_CDW05#
XNVME_CLI_OPT_CDW05.
-
enumerator XNVME_CLI_OPT_CDW06#
XNVME_CLI_OPT_CDW06.
-
enumerator XNVME_CLI_OPT_CDW07#
XNVME_CLI_OPT_CDW07.
-
enumerator XNVME_CLI_OPT_CDW08#
XNVME_CLI_OPT_CDW08.
-
enumerator XNVME_CLI_OPT_CDW09#
XNVME_CLI_OPT_CDW09.
-
enumerator XNVME_CLI_OPT_CDW10#
XNVME_CLI_OPT_CDW10.
-
enumerator XNVME_CLI_OPT_CDW11#
XNVME_CLI_OPT_CDW11.
-
enumerator XNVME_CLI_OPT_CDW12#
XNVME_CLI_OPT_CDW12.
-
enumerator XNVME_CLI_OPT_CDW13#
XNVME_CLI_OPT_CDW13.
-
enumerator XNVME_CLI_OPT_CDW14#
XNVME_CLI_OPT_CDW14.
-
enumerator XNVME_CLI_OPT_CDW15#
XNVME_CLI_OPT_CDW15.
-
enumerator XNVME_CLI_OPT_CMD_INPUT#
XNVME_CLI_OPT_CMD_INPUT.
-
enumerator XNVME_CLI_OPT_CMD_OUTPUT#
XNVME_CLI_OPT_CMD_OUTPUT.
-
enumerator XNVME_CLI_OPT_DATA_NBYTES#
XNVME_CLI_OPT_DATA_NBYTES.
-
enumerator XNVME_CLI_OPT_DATA_INPUT#
XNVME_CLI_OPT_DATA_INPUT.
-
enumerator XNVME_CLI_OPT_DATA_OUTPUT#
XNVME_CLI_OPT_DATA_OUTPUT.
-
enumerator XNVME_CLI_OPT_META_NBYTES#
XNVME_CLI_OPT_META_NBYTES.
-
enumerator XNVME_CLI_OPT_META_INPUT#
XNVME_CLI_OPT_META_INPUT.
-
enumerator XNVME_CLI_OPT_META_OUTPUT#
XNVME_CLI_OPT_META_OUTPUT.
-
enumerator XNVME_CLI_OPT_LBAFL#
XNVME_CLI_OPT_LBAFL.
-
enumerator XNVME_CLI_OPT_SLBA#
XNVME_CLI_OPT_SLBA.
-
enumerator XNVME_CLI_OPT_ELBA#
XNVME_CLI_OPT_ELBA.
-
enumerator XNVME_CLI_OPT_LBA#
XNVME_CLI_OPT_LBA.
-
enumerator XNVME_CLI_OPT_NLB#
XNVME_CLI_OPT_NLB.
-
enumerator XNVME_CLI_OPT_URI#
XNVME_CLI_OPT_URI.
-
enumerator XNVME_CLI_OPT_SYS_URI#
XNVME_CLI_OPT_SYS_URI.
-
enumerator XNVME_CLI_OPT_UUID#
XNVME_CLI_OPT_UUID.
-
enumerator XNVME_CLI_OPT_NSID#
XNVME_CLI_OPT_NSID.
-
enumerator XNVME_CLI_OPT_CNS#
XNVME_CLI_OPT_CNS.
-
enumerator XNVME_CLI_OPT_CSI#
XNVME_CLI_OPT_CSI.
-
enumerator XNVME_CLI_OPT_INDEX#
XNVME_CLI_OPT_INDEX.
-
enumerator XNVME_CLI_OPT_SETID#
XNVME_CLI_OPT_SETID.
-
enumerator XNVME_CLI_OPT_CNTID#
XNVME_CLI_OPT_CNTID.
-
enumerator XNVME_CLI_OPT_LID#
XNVME_CLI_OPT_LID.
-
enumerator XNVME_CLI_OPT_LSP#
XNVME_CLI_OPT_LSP.
-
enumerator XNVME_CLI_OPT_LPO_NBYTES#
XNVME_CLI_OPT_LPO_NBYTES.
-
enumerator XNVME_CLI_OPT_RAE#
XNVME_CLI_OPT_RAE.
-
enumerator XNVME_CLI_OPT_CLEAR#
XNVME_CLI_OPT_CLEAR.
-
enumerator XNVME_CLI_OPT_LBAFU#
XNVME_CLI_OPT_LBAFU.
-
enumerator XNVME_CLI_OPT_SES#
XNVME_CLI_OPT_SES.
-
enumerator XNVME_CLI_OPT_SEL#
XNVME_CLI_OPT_SEL.
-
enumerator XNVME_CLI_OPT_MSET#
XNVME_CLI_OPT_MSET.
-
enumerator XNVME_CLI_OPT_AUSE#
XNVME_CLI_OPT_AUSE.
-
enumerator XNVME_CLI_OPT_OVRPAT#
XNVME_CLI_OPT_OVRPAT.
-
enumerator XNVME_CLI_OPT_OWPASS#
XNVME_CLI_OPT_OWPASS.
-
enumerator XNVME_CLI_OPT_OIPBP#
XNVME_CLI_OPT_OIPBP.
-
enumerator XNVME_CLI_OPT_NODAS#
XNVME_CLI_OPT_NODAS.
-
enumerator XNVME_CLI_OPT_SANACT#
XNVME_CLI_OPT_SANACT.
-
enumerator XNVME_CLI_OPT_ZSA#
XNVME_CLI_OPT_ZSA.
-
enumerator XNVME_CLI_OPT_PI#
XNVME_CLI_OPT_PI.
-
enumerator XNVME_CLI_OPT_PIL#
XNVME_CLI_OPT_PIL.
-
enumerator XNVME_CLI_OPT_FID#
XNVME_CLI_OPT_FID.
-
enumerator XNVME_CLI_OPT_FEAT#
XNVME_CLI_OPT_FEAT.
-
enumerator XNVME_CLI_OPT_SEED#
XNVME_CLI_OPT_SEED.
-
enumerator XNVME_CLI_OPT_LIMIT#
XNVME_CLI_OPT_LIMIT.
-
enumerator XNVME_CLI_OPT_IOSIZE#
XNVME_CLI_OPT_IOSIZE.
-
enumerator XNVME_CLI_OPT_QDEPTH#
XNVME_CLI_OPT_QDEPTH.
-
enumerator XNVME_CLI_OPT_DIRECT#
XNVME_CLI_OPT_DIRECT.
-
enumerator XNVME_CLI_OPT_STATUS#
XNVME_CLI_OPT_STATUS.
-
enumerator XNVME_CLI_OPT_SAVE#
XNVME_CLI_OPT_SAVE.
-
enumerator XNVME_CLI_OPT_RESET#
XNVME_CLI_OPT_RESET.
-
enumerator XNVME_CLI_OPT_VERBOSE#
XNVME_CLI_OPT_VERBOSE.
-
enumerator XNVME_CLI_OPT_HELP#
XNVME_CLI_OPT_HELP.
-
enumerator XNVME_CLI_OPT_COUNT#
XNVME_CLI_OPT_COUNT.
-
enumerator XNVME_CLI_OPT_OFFSET#
XNVME_CLI_OPT_OFFSET.
-
enumerator XNVME_CLI_OPT_OPCODE#
XNVME_CLI_OPT_OPCODE.
-
enumerator XNVME_CLI_OPT_FLAGS#
XNVME_CLI_OPT_FLAGS.
-
enumerator XNVME_CLI_OPT_ALL#
XNVME_CLI_OPT_ALL.
-
enumerator XNVME_CLI_OPT_BE#
XNVME_CLI_OPT_BE.
-
enumerator XNVME_CLI_OPT_MEM#
XNVME_CLI_OPT_MEM.
-
enumerator XNVME_CLI_OPT_SYNC#
XNVME_CLI_OPT_SYNC.
-
enumerator XNVME_CLI_OPT_ASYNC#
XNVME_CLI_OPT_ASYNC.
-
enumerator XNVME_CLI_OPT_ADMIN#
XNVME_CLI_OPT_ADMIN.
-
enumerator XNVME_CLI_OPT_SHM_ID#
XNVME_CLI_OPT_SHM_ID.
-
enumerator XNVME_CLI_OPT_MAIN_CORE#
XNVME_CLI_OPT_MAIN_CORE.
-
enumerator XNVME_CLI_OPT_CORE_MASK#
XNVME_CLI_OPT_CORE_MASK.
-
enumerator XNVME_CLI_OPT_USE_CMB_SQS#
XNVME_CLI_OPT_USE_CMB_SQS.
-
enumerator XNVME_CLI_OPT_CSS#
XNVME_CLI_OPT_CSS.
-
enumerator XNVME_CLI_OPT_POLL_IO#
XNVME_CLI_OPT_POLL_IO.
-
enumerator XNVME_CLI_OPT_POLL_SQ#
XNVME_CLI_OPT_POLL_SQ.
-
enumerator XNVME_CLI_OPT_REGISTER_FILES#
XNVME_CLI_OPT_REGISTER_FILES.
-
enumerator XNVME_CLI_OPT_REGISTER_BUFFERS#
XNVME_CLI_OPT_REGISTER_BUFFERS.
-
enumerator XNVME_CLI_OPT_TRUNCATE#
XNVME_CLI_OPT_TRUNCATE.
-
enumerator XNVME_CLI_OPT_RDONLY#
XNVME_CLI_OPT_RDONLY.
-
enumerator XNVME_CLI_OPT_WRONLY#
XNVME_CLI_OPT_WRONLY.
-
enumerator XNVME_CLI_OPT_RDWR#
XNVME_CLI_OPT_RDWR.
-
enumerator XNVME_CLI_OPT_CREATE#
XNVME_CLI_OPT_CREATE.
-
enumerator XNVME_CLI_OPT_CREATE_MODE#
XNVME_CLI_OPT_CREATE_MODE.
-
enumerator XNVME_CLI_OPT_ADRFAM#
XNVME_CLI_OPT_ADRFAM.
-
enumerator XNVME_CLI_OPT_DEV_NSID#
XNVME_CLI_OPT_DEV_NSID.
-
enumerator XNVME_CLI_OPT_VEC_CNT#
XNVME_CLI_OPT_VEC_CNT.
-
enumerator XNVME_CLI_OPT_SUBNQN#
XNVME_OPT_SUBNQN.
-
enumerator XNVME_CLI_OPT_HOSTNQN#
XNVME_CLI_OPT_HOSTNQN.
-
enumerator XNVME_CLI_OPT_DTYPE#
XNVME_CLI_OPT_DTYPE.
-
enumerator XNVME_CLI_OPT_DSPEC#
XNVME_CLI_OPT_DSPEC.
-
enumerator XNVME_CLI_OPT_DOPER#
XNVME_CLI_OPT_DOPER.
-
enumerator XNVME_CLI_OPT_ENDIR#
XNVME_CLI_OPT_ENDIR.
-
enumerator XNVME_CLI_OPT_TGTDIR#
XNVME_CLI_OPT_TGTDIR.
-
enumerator XNVME_CLI_OPT_NSR#
XNVME_CLI_OPT_NSR.
-
enumerator XNVME_CLI_OPT_POSA_TITLE#
XNVME_CLI_OPT_POSA_TITLE.
-
enumerator XNVME_CLI_OPT_NON_POSA_TITLE#
XNVME_CLI_OPT_NON_POSA_TITLE.
-
enumerator XNVME_CLI_OPT_ORCH_TITLE#
XNVME_CLI_OPT_ORCH_TITLE.
-
enumerator XNVME_CLI_OPT_AD#
XNVME_CLI_OPT_AD.
-
enumerator XNVME_CLI_OPT_IDW#
XNVME_CLI_OPT_IDW.
-
enumerator XNVME_CLI_OPT_IDR#
XNVME_CLI_OPT_IDR.
-
enumerator XNVME_CLI_OPT_LLB#
XNVME_CLI_OPT_LLB.
-
enumerator XNVME_CLI_OPT_LSI#
XNVME_CLI_OPT_LSI.
-
enumerator XNVME_CLI_OPT_PID#
XNVME_CLI_OPT_PID.
-
enumerator XNVME_CLI_OPT_KV_KEY#
XNVME_CLI_OPT_KV_KEY.
-
enumerator XNVME_CLI_OPT_KV_VAL#
XNVME_CLI_OPT_KV_VAL.
-
enumerator XNVME_CLI_OPT_KV_STORE_UPDATE#
XNVME_CLI_OPT_KV_STORE_UPDATE.
-
enumerator XNVME_CLI_OPT_KV_STORE_ADD#
XNVME_CLI_OPT_KV_STORE_ADD.
-
enumerator XNVME_CLI_OPT_KV_STORE_COMPRESS#
XNVME_CLI_OPT_KV_STORE_COMPRESS.
-
enumerator XNVME_CLI_OPT_PRACT#
XNVME_CLI_OPT_PRACT.
-
enumerator XNVME_CLI_OPT_PRCHK#
XNVME_CLI_OPT_PRCHK.
-
enumerator XNVME_CLI_OPT_APPTAG#
XNVME_CLI_OPT_APPTAG.
-
enumerator XNVME_CLI_OPT_APPTAG_MASK#
XNVME_CLI_OPT_APPTAG_MASK.
-
enumerator XNVME_CLI_OPT_SDLBA#
-
enumerator XNVME_CLI_OPT_END#
XNVME_CLI_OPT_END.
-
enumerator XNVME_CLI_OPT_NONE#
xnvme_cli_opt_type#
-
enum xnvme_cli_opt_type#
XNVME_CLI_LFLG: .
/cli —verbose; always optional XNVME_CLI_LOPT: ./cli —arg 0x0; optionally provide a value XNVME_CLI_LREQ: ./cli —arg 0x0; require providing a value XNVME_CLI_POSA: ./cli arg1 arg2; required, ordered, and provides a value XNVME_CLI_SKIP: ; This argument is used for formatting etc.
Values:
-
enumerator XNVME_CLI_POSA#
XNVME_CLI_POSA.
-
enumerator XNVME_CLI_LFLG#
XNVME_CLI_LFLG.
-
enumerator XNVME_CLI_LOPT#
XNVME_CLI_LOPT.
-
enumerator XNVME_CLI_LREQ#
XNVME_CLI_LREQ.
-
enumerator XNVME_CLI_SKIP#
XNVME_CLI_SKIP.
-
enumerator XNVME_CLI_POSA#
xnvme_cli_opt_value_type#
xnvme_cli_opts#
Structs#
xnvme_cli#
-
struct xnvme_cli#
Public Members
-
const char *title#
Setup by user.
-
const char *descr_short#
Setup by user.
-
const char *descr_long#
Setup by user.
-
int nsubs#
Setup by user.
-
struct xnvme_cli_sub *subs#
Setup by user.
-
int (*ver_pr)(int)#
Setup by library if unset.
-
int argc#
Setup by library.
-
char **argv#
Setup by library.
-
struct xnvme_cli_args args#
Setup by library.
-
int given[XNVME_CLI_OPT_END]#
Setup by library.
-
struct xnvme_cli_sub *sub#
Setup by library.
-
struct xnvme_timer timer#
Used by xnvme_cli_timer_*.
-
const char *title#
xnvme_cli_args#
-
struct xnvme_cli_args#
Options are stored in an instance of this structure.
Public Members
-
struct xnvme_dev *dev#
Created.
-
const char *uri#
-
const char *sys_uri#
-
const char *subnqn#
-
const char *hostnqn#
-
const char *cmd_input#
-
const char *cmd_output#
-
size_t data_nbytes#
-
const char *data_input#
-
const char *data_output#
-
size_t meta_nbytes#
-
const char *meta_input#
-
const char *meta_output#
-
uint32_t cdw[16]#
-
uint64_t lbafl#
-
uint64_t lba#
-
uint32_t llb#
-
uint32_t nlb#
-
uint64_t slba#
-
uint64_t elba#
-
uint32_t uuid#
-
uint32_t nsid#
-
uint32_t dev_nsid#
-
uint32_t cns#
-
uint32_t csi#
-
uint64_t index#
-
uint32_t setid#
-
uint64_t cntid#
-
uint32_t lid#
-
uint32_t lsp#
-
uint64_t lpo_nbytes#
-
uint32_t rae#
-
bool clear#
-
uint32_t lbafu#
-
uint32_t ses#
-
uint32_t sel#
-
uint32_t mset#
-
bool ause#
-
uint32_t ovrpat#
-
uint32_t owpass#
-
bool oipbp#
-
bool nodas#
-
uint32_t sanact#
-
uint32_t zsa#
-
uint32_t pi#
-
uint32_t pil#
-
uint32_t fid#
-
uint32_t feat#
-
uint32_t seed#
-
uint32_t iosize#
-
uint32_t qdepth#
-
bool direct#
-
uint32_t limit#
-
uint64_t count#
-
uint64_t offset#
-
uint64_t opcode#
-
uint64_t flags#
-
bool all#
-
uint32_t status#
-
bool save#
-
uint32_t reset#
-
bool verbose#
-
uint32_t help#
-
const char *be#
-
const char *mem#
-
const char *sync#
-
const char *async#
-
const char *admin#
-
uint64_t shm_id#
-
uint32_t main_core#
-
const char *core_mask#
-
struct xnvme_opts_css css#
SPDK controller-setup: do command-set-selection.
-
uint32_t use_cmb_sqs#
-
const char *adrfam#
-
uint32_t poll_io#
-
uint32_t poll_sq#
-
uint32_t register_files#
-
uint32_t register_buffers#
-
uint32_t truncate#
-
uint32_t rdonly#
-
uint32_t wronly#
-
uint32_t rdwr#
-
uint32_t create#
-
uint32_t create_mode#
-
uint32_t nr#
-
bool ad#
-
bool idw#
-
bool idr#
-
uint32_t vec_cnt#
-
uint32_t dtype#
-
uint32_t dspec#
-
uint32_t doper#
-
uint32_t endir#
-
uint32_t tgtdir#
-
uint32_t nsr#
-
uint32_t lsi#
-
uint32_t pid#
-
const char *kv_key#
-
const char *kv_val#
-
bool kv_store_add#
-
bool kv_store_update#
-
bool kv_store_compress#
-
bool pract#
-
uint8_t prchk#
-
uint32_t apptag#
-
uint32_t apptag_mask#
-
uint64_t sdlba#
-
struct xnvme_dev *dev#
xnvme_cli_enumeration#
-
struct xnvme_cli_enumeration#
List of devices found on the system usable with xNVMe.
Public Members
-
uint32_t capacity#
Remaining unused entries.
-
uint32_t nentries#
Used entries.
-
struct xnvme_ident entries[]#
Device entries.
-
uint32_t capacity#
xnvme_cli_opt_attr#
-
struct xnvme_cli_opt_attr#
Public Members
-
enum xnvme_cli_opt opt#
-
enum xnvme_cli_opt_value_type vtype#
-
const char *name#
-
const char *descr#
-
char getoptval#
-
enum xnvme_cli_opt opt#
xnvme_cli_sub#
-
struct xnvme_cli_sub#
Filled by the user of libxnvmc, usually statically right above main.
Public Members
-
const char *name#
Short name of the sub-command.
-
const char *descr_short#
Short sub-command description.
-
const char *descr_long#
Long sub-command description.
-
xnvme_cli_subfunc command#
Function to execute.
Options to parse into args and pass onto func
-
struct xnvme_cli_sub_opt opts[XNVME_CLI_SUB_OPTS_LEN]#
-
const char *name#
xnvme_cli_sub_opt#
-
struct xnvme_cli_sub_opt#
Functions#
xnvme_cli_args_pr#
-
void xnvme_cli_args_pr(struct xnvme_cli_args *args, int opts)#
xnvme_cli_enumeration_alloc#
-
int xnvme_cli_enumeration_alloc(struct xnvme_cli_enumeration **list, uint32_t capacity)#
xnvme_cli_enumeration_append#
-
int xnvme_cli_enumeration_append(struct xnvme_cli_enumeration *list, const struct xnvme_ident *entry)#
xnvme_cli_enumeration_fpp#
-
int xnvme_cli_enumeration_fpp(FILE *stream, struct xnvme_cli_enumeration *list, int opts)#
xnvme_cli_enumeration_fpr#
-
int xnvme_cli_enumeration_fpr(FILE *stream, struct xnvme_cli_enumeration *list, int opts)#
Prints the given xnvme_cli_enumeration to the given output stream.
- Parameters:
stream – output stream used for printing
list – pointer to structure to print
opts – printer options, see xnvme_pr
- Returns:
On success, the number of characters printed is returned.
xnvme_cli_enumeration_free#
-
void xnvme_cli_enumeration_free(struct xnvme_cli_enumeration *list)#
xnvme_cli_enumeration_pp#
-
int xnvme_cli_enumeration_pp(struct xnvme_cli_enumeration *list, int opts)#
xnvme_cli_enumeration_pr#
-
int xnvme_cli_enumeration_pr(struct xnvme_cli_enumeration *list, int opts)#
Prints the given xnvme_cli_enumeration to stdout.
- Parameters:
list – pointer to structure to print
opts – printer options, see xnvme_pr
- Returns:
On success, the number of characters printed is returned.
xnvme_cli_get_opt_attr#
-
const struct xnvme_cli_opt_attr *xnvme_cli_get_opt_attr(enum xnvme_cli_opt opt)#
xnvme_cli_perr#
-
void xnvme_cli_perr(const char *msg, int err)#
xnvme_cli_pinf#
-
void xnvme_cli_pinf(const char *format, ...)#
xnvme_cli_run#
xnvme_cli_timer_bw_pr#
xnvme_cli_timer_start#
xnvme_cli_timer_stop#
xnvme_cli_to_opts#
-
int xnvme_cli_to_opts(const struct xnvme_cli *cli, struct xnvme_opts *opts)#
Fill the given ‘opts’ with values parsed in the given ‘cli’.
- Parameters:
cli – The command-line-interface to parse arguments for
opts – The device-options to fill
- Returns:
On success, 0 is returned.