static config_err_t
k_r_commit (const char *section_name,
	    const struct config_keyvalue *kv,
            void *arg)
{
  bmc_config_state_data_t *state_data = (bmc_config_state_data_t *)arg;

  return _set_key (state_data,
                   IPMI_CHANNEL_SECURITY_KEYS_KEY_ID_K_R,
                   (uint8_t *)kv->value_input, 
                   strlen(kv->value_input));
}
static ipmi_config_err_t
k_r_commit (ipmi_config_state_data_t *state_data,
	    const char *section_name,
            const struct ipmi_config_keyvalue *kv)
{
  assert (state_data);
  assert (section_name);
  assert (kv);

  return (_set_key (state_data,
                    section_name,
                    IPMI_CHANNEL_SECURITY_KEYS_KEY_ID_K_R,
                    kv->value_input,
                    strlen (kv->value_input)));
}
static config_err_t
k_g_commit (const char *section_name,
	    const struct config_keyvalue *kv,
            void *arg)
{
  bmc_config_state_data_t *state_data = (bmc_config_state_data_t *)arg;
  uint8_t k_g[IPMI_MAX_K_G_LENGTH+1];
  int k_g_len;
  
  memset (k_g, 0, IPMI_MAX_K_G_LENGTH + 1);
  
  if ((k_g_len = parse_kg(k_g, IPMI_MAX_K_G_LENGTH + 1, kv->value_input)) < 0)
    return CONFIG_ERR_FATAL_ERROR;
  
  return _set_key (state_data, 
                   IPMI_CHANNEL_SECURITY_KEYS_KEY_ID_K_G,
                   k_g,
                   k_g_len);
}
static ipmi_config_err_t
k_g_commit (ipmi_config_state_data_t *state_data,
	    const char *section_name,
            const struct ipmi_config_keyvalue *kv)
{
  uint8_t k_g[IPMI_MAX_K_G_LENGTH+1];
  int k_g_len;

  assert (state_data);
  assert (section_name);
  assert (kv);

  memset (k_g, 0, IPMI_MAX_K_G_LENGTH + 1);

  if ((k_g_len = parse_kg (k_g, IPMI_MAX_K_G_LENGTH + 1, kv->value_input)) < 0)
    return (IPMI_CONFIG_ERR_FATAL_ERROR);

  return (_set_key (state_data,
                    section_name,
                    IPMI_CHANNEL_SECURITY_KEYS_KEY_ID_K_G,
                    k_g,
                    k_g_len));
}