# /builddir/build/BUILD/alsa-lib-1.1.0/src/confmisc.c File Reference

Configuration helper functions. More...

## Functions

int | snd_config_get_bool_ascii (const char *ascii)
| Gets the boolean value from the given ASCII string.
int | snd_config_get_bool (const snd_config_t *conf)
| Gets the boolean value from a configuration node.
int | snd_config_get_ctl_iface_ascii (const char *ascii)
| Gets the control interface index from the given ASCII string.
int | snd_config_get_ctl_iface (const snd_config_t *conf)
| Gets the control interface index from a configuration node.
int | snd_func_getenv (snd_config_t **dst, snd_config_t *root, snd_config_t *src, snd_config_t *private_data)
| Returns an environment value.
int | snd_func_igetenv (snd_config_t **dst, snd_config_t *root, snd_config_t *src, snd_config_t *private_data)
| Returns an integer environment value.
int | snd_func_concat (snd_config_t **dst, snd_config_t *root, snd_config_t *src, snd_config_t *private_data)
| Merges the given strings.
int | snd_func_iadd (snd_config_t **dst, snd_config_t *root, snd_config_t *src, snd_config_t *private_data)
| Sum the given integers.
int | snd_func_imul (snd_config_t **dst, snd_config_t *root, snd_config_t *src, snd_config_t *private_data)
| Multiply the given integers.
int | snd_func_datadir (snd_config_t **dst, snd_config_t *root, snd_config_t *src, snd_config_t *private_data)
| Returns the ALSA data directory.
int | snd_func_private_string (snd_config_t **dst, snd_config_t *root, snd_config_t *src, snd_config_t *private_data)
| Returns the string from `private_data`.
int | snd_func_private_card_driver (snd_config_t **dst, snd_config_t *root, snd_config_t *src, snd_config_t *private_data)
| Returns the driver identification from `private_data`.
int | snd_func_card_inum (snd_config_t **dst, snd_config_t *root, snd_config_t *src, snd_config_t *private_data)
| Returns the card number as integer.
int | snd_func_card_driver (snd_config_t **dst, snd_config_t *root, snd_config_t *src, snd_config_t *private_data)
| Returns the driver identification for a card.
int | snd_func_card_id (snd_config_t **dst, snd_config_t *root, snd_config_t *src, snd_config_t *private_data)
| Returns the identification of a card.
int | snd_func_card_name (snd_config_t **dst, snd_config_t *root, snd_config_t *src, snd_config_t *private_data)
| Returns the name of a card.
int | snd_func_refer (snd_config_t **dst, snd_config_t *root, snd_config_t *src, snd_config_t *private_data)
| Copies the specified configuration node.

## Detailed Description

Configuration helper functions.

Author:
  Abramo Bagnara <abramo@alsa-project.org>
  Jaroslav Kysela <perex@perex.cz>

Date:
  2000-2001

Configuration helper functions.

See the Runtime functions in configuration files page for more details.

## Function Documentation

int snd_func_card_driver | ( | snd_config_t ** | dst,
|  | snd_config_t * | root,
|  | snd_config_t * | src,
|  | snd_config_t * | private_data |
| ) |  |  |

Returns the driver identification for a card.

Parameters:

  | dst | The function puts the handle to the result configuration node (with type string) at the address specified by `dst`.
  | root | Handle to the root source node.
  | src | Handle to the source node, with a `card` definition.
  | private_data | Handle to the `private_data` node.

Returns:
  A non-negative value if successful, otherwise a negative error code.

Example:

            {
                    @func card_driver
                    card 0
            }

int snd_func_card_id | ( | snd_config_t ** | dst,
|  | snd_config_t * | root,
|  | snd_config_t * | src,
|  | snd_config_t * | private_data |
| ) |  |  |

Returns the identification of a card.

Parameters:

  | dst | The function puts the handle to the result configuration node (with type string) at the address specified by `dst`.
  | root | Handle to the root source node.
  | src | Handle to the source node, with a `card` definition.
  | private_data | Handle to the `private_data` node.

Returns:
  A non-negative value if successful, otherwise a negative error code.

Example:

            {
                    @func card_id
                    card 0
            }

int snd_func_card_inum | ( | snd_config_t ** | dst,
|  | snd_config_t * | root,
|  | snd_config_t * | src,
|  | snd_config_t * | private_data |
| ) |  |  |

Returns the card number as integer.

Parameters:

  | dst | The function puts the handle to the result configuration node (with type string) at the address specified by `dst`.
  | root | Handle to the root source node.
  | src | Handle to the source node, with a `card` definition.
  | private_data | Handle to the `private_data` node.

Returns:
  A non-negative value if successful, otherwise a negative error code.

Example:

            {
                    @func card_inum
                    card '0'
            }

int snd_func_card_name | ( | snd_config_t ** | dst,
|  | snd_config_t * | root,
|  | snd_config_t * | src,
|  | snd_config_t * | private_data |
| ) |  |  |

Returns the name of a card.

Parameters:

  | dst | The function puts the handle to the result configuration node (with type string) at the address specified by `dst`.
  | root | Handle to the root source node.
  | src | Handle to the source node, with a `card` definition.
  | private_data | Handle to the `private_data` node.

Returns:
  A non-negative value if successful, otherwise a negative error code.

Example:

            {
                    @func card_name
                    card 0
            }

int snd_func_concat | ( | snd_config_t ** | dst,
|  | snd_config_t * | root,
|  | snd_config_t * | src,
|  | snd_config_t * | private_data |
| ) |  |  |

Merges the given strings.

Parameters:

  | dst | The function puts the handle to the result configuration node (with type string) at the address specified by `dst`.
  | root | Handle to the root source node.
  | src | Handle to the source node, with a definition for `strings`.
  | private_data | Handle to the `private_data` node.

Returns:
  A non-negative value if successful, otherwise a negative error code.

Example (result is "a1b2c3"):

            {
                    @func concat
                    strings [ "a1" "b2" "c3" ]
            }

int snd_func_datadir | ( | snd_config_t ** | dst,
|  | snd_config_t * | root,
|  | snd_config_t * | src,
|  | snd_config_t * | private_data |
| ) |  |  |

Returns the ALSA data directory.

Parameters:

  | dst | The function puts the handle to the result configuration node (with type string) at the address specified by `dst`.
  | root | Handle to the root source node.
  | src | Handle to the source node.
  | private_data | Handle to the `private_data` node. Not used.

Returns:
  A non-negative value if successful, otherwise a negative error code.

Example (result is "/usr/share/alsa" using the default paths):

            {
                    @func datadir
            }

int snd_func_getenv | ( | snd_config_t ** | dst,
|  | snd_config_t * | root,
|  | snd_config_t * | src,
|  | snd_config_t * | private_data |
| ) |  |  |

Returns an environment value.

Parameters:

  | dst | The function puts the handle to the result configuration node (with type string) at the address specified by `dst`.
  | root | Handle to the root source node.
  | src | Handle to the source node, with definitions for `vars` and `default`.
  | private_data | Handle to the `private_data` node.

Returns:
  Zero if successful, otherwise a negative error code.

Example:

            {
                    @func getenv
                    vars [ MY_CARD CARD C ]
                    default 0
            }

int snd_func_iadd | ( | snd_config_t ** | dst,
|  | snd_config_t * | root,
|  | snd_config_t * | src,
|  | snd_config_t * | private_data |
| ) |  |  |

Sum the given integers.

Parameters:

  | dst | The function puts the handle to the result configuration node (with type integer) at the address specified by `dst`.
  | root | Handle to the root source node.
  | src | Handle to the source node, with a definition for `integers`.
  | private_data | Handle to the `private_data` node.

Returns:
  A non-negative value if successful, otherwise a negative error code.

Example (result is 10):

            {
                    @func iadd
                    integers [ 2 3 5 ]
            }

int snd_func_igetenv | ( | snd_config_t ** | dst,
|  | snd_config_t * | root,
|  | snd_config_t * | src,
|  | snd_config_t * | private_data |
| ) |  |  |

Returns an integer environment value.

Parameters:

  | dst | The function puts the handle to the result configuration node (with type integer) at the address specified by `dst`.
  | root | Handle to the root source node.
  | src | Handle to the source node, with definitions for `vars` and `default`.
  | private_data | Handle to the `private_data` node.

Returns:
  Zero if successful, otherwise a negative error code.

Example:

            {
                    @func igetenv
                    vars [ MY_DEVICE DEVICE D ]
                    default 0
            }

int snd_func_imul | ( | snd_config_t ** | dst,
|  | snd_config_t * | root,
|  | snd_config_t * | src,
|  | snd_config_t * | private_data |
| ) |  |  |

Multiply the given integers.

Parameters:

  | dst | The function puts the handle to the result configuration node (with type integer) at the address specified by `dst`.
  | root | Handle to the root source node.
  | src | Handle to the source node, with a definition for `integers`.
  | private_data | Handle to the `private_data` node.

Returns:
  A non-negative value if successful, otherwise a negative error code.

Example (result is 12):

            {
                    @func imul
                    integers [ 2 3 2 ]
            }

int snd_func_private_card_driver | ( | snd_config_t ** | dst,
|  | snd_config_t * | root,
|  | snd_config_t * | src,
|  | snd_config_t * | private_data |
| ) |  |  |

Returns the driver identification from `private_data`.

Parameters:

  | dst | The function puts the handle to the result configuration node (with type string) at the address specified by `dst`.
  | root | Handle to the root source node.
  | src | Handle to the source node.
  | private_data | Handle to the `private_data` node (type integer, id "card").

Returns:
  A non-negative value if successful, otherwise a negative error code.

Example:

            {
                    @func private_card_driver
            }

int snd_func_private_string | ( | snd_config_t ** | dst,
|  | snd_config_t * | root,
|  | snd_config_t * | src,
|  | snd_config_t * | private_data |
| ) |  |  |

Returns the string from `private_data`.

Parameters:

  | dst | The function puts the handle to the result configuration node (with type string) at the address specified by `dst`.
  | root | Handle to the root source node.
  | src | Handle to the source node.
  | private_data | Handle to the `private_data` node (type string, id "string").

Returns:
  A non-negative value if successful, otherwise a negative error code.

Example:

            {
                    @func private_string
            }

int snd_func_refer | ( | snd_config_t ** | dst,
|  | snd_config_t * | root,
|  | snd_config_t * | src,
|  | snd_config_t * | private_data |
| ) |  |  |

Copies the specified configuration node.

Parameters:

  | dst | The function puts the handle to the result configuration node (with the same type as the specified node) at the address specified by `dst`.
  | root | Handle to the root source node.
  | src | Handle to the source node, with definitions for `name` and (optionally) `file`.
  | private_data | Handle to the `private_data` node.

Returns:
  A non-negative value if successful, otherwise a negative error code.

Note:
  The root source node can be modified!

Example:

            {
                    @func refer
                    file "/etc/myconf.conf"         # optional
                    name "id1.id2.id3"
            }

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines