OpenOCD
nvp Struct Reference

Name Value Pairs, aka: NVP. More...

Data Fields

const char * name
 
int value
 

Detailed Description

Name Value Pairs, aka: NVP.

  • Given a string - return the associated int.
  • Given a number - return the associated string.

Very useful when the number is not a simple index into an array of known string, or there may be multiple strings (aliases) that mean then same thing.

An NVP Table is terminated with ".name = NULL".

During the 'name2value' operation, if no matching string is found the pointer to the terminal element (with p->name == NULL) is returned.

Example:

const struct nvp yn[] = {
{ "yes", 1 },
{ "no" , 0 },
{ "yep", 1 },
{ "nope", 0 },
{ NULL, -1 },
};
struct nvp *result;
result = nvp_name2value(yn, "yes");
returns &yn[0];
result = nvp_name2value(yn, "no");
returns &yn[1];
result = nvp_name2value(yn, "Blah");
returns &yn[4];
const struct nvp * nvp_name2value(const struct nvp *p, const char *name)
Definition: nvp.c:29
Name Value Pairs, aka: NVP.
Definition: nvp.h:61
#define NULL
Definition: usb.h:16

During the number2name operation, the first matching value is returned.

Definition at line 61 of file nvp.h.

Field Documentation

◆ name

◆ value

int nvp::value

Definition at line 63 of file nvp.h.

Referenced by __COMMAND_HANDLER(), COMMAND_HANDLER(), COMMAND_HELPER(), and nvp_value2name().


The documentation for this struct was generated from the following file: