---
name: "AuDeviceAttributes"
section: "3x"
platform: "linux"
package: "nas"
version: "1.2p5-3"
release: "Debian 2.0 (Hamm)"
platforms: ["linux"]
url: "https://new.carta.tech/AuDeviceAttributes/3x"
---

# AuDeviceAttributes(3x)

device attributes structure

## Name

**AuDeviceAttributes** - device attributes structure

## Structures

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

typedef struct \_AuDeviceAttributes\
 {\
\
     . . .\
 }**AuDeviceAttributes**;

## Members

Do not dereference the members of the **AuDeviceAttributes** structure directly. Instead use the access macros.

*da* is a pointer to a **AuDeviceAttributes** structure.

- **AuDeviceValueMask**(*da*)

  Accesses the **AuMask** value indicating what attributes are present. This is a bitwise inclusive OR of these constants: **AuCompCommonIDMask**, **AuCompCommonKindMask**, **AuCompCommonUseMask**, **AuCompCommonFormatMask**, **AuCompCommonNumTracksMask**, **AuCompCommonAccessMask**, **AuCompCommonDescriptionMask**, **AuCompDeviceMinSampleRateMask**, **AuCompDeviceMaxSampleRateMask**, **AuCompDeviceLocationMask**, **AuCompDeviceGainMask**, **AuCompDeviceLineModeMask**, and **AuCompDeviceChildrenMask**.

- **AuDeviceChangableMask**(*da*)

  Accesses the **AuMask** value indicating which attributes can be changed. This is a bitwise inclusive OR of these constants: **AuCompCommonIDMask**, **AuCompCommonKindMask**, **AuCompCommonUseMask**, **AuCompCommonFormatMask**, **AuCompCommonNumTracksMask**, **AuCompCommonAccessMask**, **AuCompCommonDescriptionMask**, **AuCompDeviceMinSampleRateMask**, **AuCompDeviceMaxSampleRateMask**, **AuCompDeviceLocationMask**, **AuCompDeviceGainMask**, **AuCompDeviceLineModeMask**, and **AuCompDeviceChildrenMask**.

- **AuDeviceIdentifier**(*da*)

  Accesses the **AuFlowID** ID of the device.

- **AuDeviceKind**(*da*)

  Accesses the int value indicating the kind of component. Devices are either **AuComponentKindPhysicalInput** or **AuComponentKindPhysicalOutput**.

- **AuDeviceUse**(*da*)

  Accesses the **AuMask** value indicating what uses of the device are permitted. This is a bitwise inclusive OR of these constants: **AuComponentUseImportMask** and **AuComponentUseExportMask**.

- **AuDeviceFormat**(*da*)

  Accesses the int value indicating the audio data format the device uses. Currently, the following formats are defined: **AuFormatULAW8**, **AuFormatLinearUnsigned8**, **AuFormatLinearSigned8**, **AuFormatLinearSigned16MSB**, **AuFormatLinearUnsigned16MSB**, **AuFormatLinearSigned16LSB**, and **AuFormatLinearUnsigned16LSB**.

- **AuDeviceNumTracks**(*da*)

  Accesses the int value indicating the number of tracks the device supports.

- **AuDeviceAccess**(*da*)

  Accesses the **AuMask** value indicating what kinds of access are allowed. This is a bitwise inclusive OR of these constants: **AuAccessImportMask**, **AuAccessExportMask**, **AuAccessDestroyMask**, and **AuAccessListMask**.

- **AuDeviceDescription**(*da*)

  Accesses the **AuString** structure containing a textual description of the device.

- **AuDeviceMinSampleRate**(*da*)

  Accesses the unsigned int value indicating the minimum sample rate supported by the device.

- **AuDeviceMaxSampleRate**(*da*)

  Accesses the unsigned int value indicating the maximum sample rate supported by the device.

- **AuDeviceLocation**(*da*)

  Accesses the **AuMask** value indicating the location of the device. This is a bitwise inclusive OR of these constants: **AuDeviceLocationLeftMask**, **AuDeviceLocationCenterMask**, **AuDeviceLocationRightMask**, **AuDeviceLocationTopMask**, **AuDeviceLocationMiddleMask**, **AuDeviceLocationBottomMask**, **AuDeviceLocationBackMask**, **AuDeviceLocationFrontMask**, **AuDeviceLocationInternalMask**, and **AuDeviceLocationExternalMask**

- **AuDeviceGain**(*da*)

  Accesses the **AuFixedPoint** value with the current hardware amplification level.

- **AuDeviceLineMode**(*da*)

  Accesses the **AuInt32** value indicating the current line mode (input device only).

- **AuDeviceNumChildren**(*da*)

  Accesses the int value indicating the number of subcomponents of the device.

- **AuDeviceChildren**(*da*)

  Accesses the list of **AuDeviceID**'s of the subcomponents of the device.

## Description

The **AuDeviceAttributes** structure describes the physical hardware interface.

## See Also

**AuGetDeviceAttributes**, **AuListDevices**.

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