---
name: "AuListDevices"
section: "3nas"
platform: "linux"
package: "libaudio-dev"
version: "1.9.4-9"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/AuListDevices"
---

# AuListDevices(3nas)

list devices

## Name

**AuListDevices** - list devices

## Synopsis

\#include \<audio/audiolib.h\>

**AuDeviceAttributes** \***AuListDevices**(*server*, *valuemask*, *attributes*, *ndevices*, *status*)\
\
     **AuServer** \**server*;\
\
     **AuMask** *valuemask*;\
\
     **AuDeviceAttributes** \**attributes*;\
\
     int \**ndevices*; /\* **RETURN** \*/\
\
     **AuStatus** \**status*; /\* **RETURN** \*/

## Arguments

- *server*

  Specifies the connection to the audio server.

- *valuemask*

  Specifies which device attributes are defined in the attributes argument. This must be a bitwise inclusive OR of zero or more of these constants: **AuCompCommonIDMask**, **AuCompCommonKindMask**, **AuCompCommonUseMask**, **AuCommonFormatMask**, **AuCommonNumTracksMask**, **AuCommonAccessMask**, **AuCommonDescriptionMask**, **AuCompDeviceMinSampleRateMask**, **AuCompDeviceMaxSampleRateMask**, **AuCompDeviceLocationMask**, **AuCompDeviceGainMask**, **AuCompDeviceLineModeMask**, **AuCompDeviceChildrenMask**, or **AuCompDeviceMasks**. If valuemask is zero, the attributes are ignored and are not referenced.

- *attributes*

  Specifies the structure from which the values (as specified by the value mask) are to be taken.

- *ndevices*

  Returns the number of devices in the returned list.

- *status*

  If non-NULL, flush the output buffer and return the status from the server.

## Description

**AuListDevices** returns a list of devices whose attributes match those values in *attributes* specified by *valuemask*, or NULL, with *ndevices* set to 0, if there was an error. Use **AuFreeDeviceList** to release the memory in the list when its nolonger needed.

## Errors

**AuBadLength**.

## See Also

**AuGetDeviceAttributes**.

audiolib - **Network Audio System** C Language Interface
