Loading...
Searching...
No Matches
confmisc.c File Reference
Configuration Interface

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_card (const snd_config_t *conf)
| Gets the card number 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_integer (snd_config_t **dst, snd_config_t *root, snd_config_t *src, snd_config_t *private_data)
| Returns the integer 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_pcm_id (snd_config_t **dst, snd_config_t *root, snd_config_t *src, void *private_data)
| Returns the pcm identification of a device.
int | snd_func_pcm_args_by_class (snd_config_t **dst, snd_config_t *root, snd_config_t *src, void *private_data)
| Returns the pcm card and device arguments (in form CARD=N,DEV=M) for pcm specified by class and index.
int | snd_func_private_pcm_subdevice (snd_config_t **dst, snd_config_t *root, snd_config_t *src, snd_config_t *private_data)
| Returns the PCM subdevice from `private_data`.
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 abram.nosp@m.o@al.nosp@m.sa-pr.nosp@m.ojec.nosp@m.t.org
  Jaroslav Kysela perex.nosp@m.@per.nosp@m.ex.cz

Date
  2000-2001

Configuration helper functions.

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

## Function Documentation

## snd_func_card_driver()

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
}

## snd_func_card_id()

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
}

## snd_func_card_inum()

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'
}

## snd_func_card_name()

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
}

## snd_func_concat()

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" ]
}

## snd_func_datadir()

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
}

## snd_func_getenv()

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
}

## snd_func_iadd()

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 ]
}

## snd_func_igetenv()

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
}

## snd_func_imul()

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 ]
}

## snd_func_pcm_args_by_class()

int snd_func_pcm_args_by_class | ( | snd_config_t ** | dst,
|  | snd_config_t * | root,
|  | snd_config_t * | src,
|  | void * | private_data )

Returns the pcm card and device arguments (in form CARD=N,DEV=M) for pcm specified by class and index.

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 `class` and `index`.
  private_data | Handle to the `private_data` node.

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

Example:

{
@func pcm_args_by_class
class 0
index 0
}
index
uint8_t index
Definition ump_msg.h:5

## snd_func_pcm_id()

int snd_func_pcm_id | ( | snd_config_t ** | dst,
|  | snd_config_t * | root,
|  | snd_config_t * | src,
|  | void * | private_data )

Returns the pcm identification of a device.

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 `card`, `device` and (optionally) `subdevice`.
  private_data | Handle to the `private_data` node.

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

Example:

{
@func pcm_id
card 0
device 0
subdevice 0 # optional
}

## snd_func_private_card_driver()

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
}

## snd_func_private_integer()

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

Returns the integer from `private_data`.

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.
  private_data | Handle to the `private_data` node (type integer, id "integer").

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

Example:

{
@func private_integer
}

## snd_func_private_pcm_subdevice()

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

Returns the PCM subdevice from `private_data`.

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.
  private_data | Handle to the `private_data` node (type pointer, id "pcm_handle").

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

Example:

{
@func private_pcm_subdevice
}

## snd_func_private_string()

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
}

## snd_func_refer()

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"
}