myMPD
Internal API documentation
Loading...
Searching...
No Matches
config.c File Reference

Configuration handling. More...

#include "compile_time.h"
#include "src/lib/config/config.h"
#include "src/lib/cache/cache_rax_album.h"
#include "src/lib/config/cacertstore.h"
#include "src/lib/config/config_def.h"
#include "src/lib/config/env.h"
#include "src/lib/config/state_files.h"
#include "src/lib/filehandler.h"
#include "src/lib/mem.h"
#include "src/lib/sds/sds_extras.h"
#include "src/lib/utility.h"
#include "src/lib/validate.h"
#include <assert.h>
#include <inttypes.h>
#include <stdbool.h>
#include <string.h>
#include <time.h>
Include dependency graph for config.c:

Data Structures

struct  t_config_value_default
struct  t_config_value
struct  t_config_default

Macros

#define IFV_N   (sizeof config_default/sizeof config_default[0])

Enumerations

enum  config_item {
  CI_ACL = 0 , CI_ALBUM_GROUP_TAG , CI_ALBUM_MODE , CI_ALBUM_UNKNOWN ,
  CI_CA_CERT_STORE , CI_CACHE_COVER_KEEP_DAYS , CI_CACHE_HTTP_KEEP_DAYS , CI_CACHE_LYRICS_KEEP_DAYS ,
  CI_CACHE_MISC_KEEP_DAYS , CI_CACHE_THUMBS_KEEP_DAYS , CI_CERT_CHECK , CI_CUSTOM_CERT ,
  CI_CUSTOM_CSS , CI_CUSTOM_JS , CI_HTTP , CI_HTTP_HOST ,
  CI_HTTP_PORT , CI_JUKEBOX_QUEUE_LENGTH_ALBUM , CI_JUKEBOX_QUEUE_LENGTH_ALBUM_MIN , CI_JUKEBOX_QUEUE_LENGTH_SONG ,
  CI_JUKEBOX_QUEUE_LENGTH_SONG_MIN , CI_LOGLEVEL , CI_MYMPD_URI , CI_PIN_HASH ,
  CI_PLIST_LEN_MAX , CI_SCRIPTACL , CI_SCRIPTS_EXTERNAL , CI_SMARTPLS_PER_TAG_VALUE_MAX ,
  CI_SSL , CI_SSL_CERT , CI_SSL_KEY , CI_SSL_PORT ,
  CI_SSL_SAN , CI_SSL_SEND_CHAIN , CI_STATE_SAVE , CI_STICKERS ,
  CI_STICKERS_PAD_INT , CI_WEBRADIODB , CI_COUNT
}
enum  config_item_type { CIT_B , CIT_I , CIT_S }

Functions

void mympd_config_free (struct t_config *config)
void mympd_config_defaults_initial (struct t_config *config)
static void set_config (struct t_config *config, enum config_item ci, struct t_config_value *value)
bool mympd_config_read (struct t_config *config)
void mympd_config_dump_default (void)

Variables

static const struct t_config_default config_default []

Detailed Description

Configuration handling.

Macro Definition Documentation

◆ IFV_N

#define IFV_N   (sizeof config_default/sizeof config_default[0])

Compile time initialization check

Enumeration Type Documentation

◆ config_item

Config items

◆ config_item_type

Config item types

Enumerator
CIT_B 

Bool.

CIT_I 

Integer.

CIT_S 

SDS string.

Function Documentation

◆ mympd_config_defaults_initial()

void mympd_config_defaults_initial ( struct t_config * config)

Sets the initial default values for config struct This function is used before reading command line arguments

Parameters
configpointer to config struct

◆ mympd_config_dump_default()

void mympd_config_dump_default ( void )

Dumps the default myMPD configuration

◆ mympd_config_free()

void mympd_config_free ( struct t_config * config)

Frees the config struct

Parameters
configpointer to config struct

◆ mympd_config_read()

bool mympd_config_read ( struct t_config * config)

Reads the myMPD configuration from environment or files This function is used after reading command line arguments.

Parameters
configpointer to config struct
Returns
true on success, else false

◆ set_config()

void set_config ( struct t_config * config,
enum config_item ci,
struct t_config_value * value )
static

Sets config values

Parameters
configPointer to config
ciConfig item enum
valueValue to set

Variable Documentation

◆ config_default

const struct t_config_default config_default[]
static

Default config definition