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

# AuSetDeviceAttributes(3x)

set device attributes

## Name

**AuSetDeviceAttributes** - set device attributes

## Synopsis

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

void **AuSetDeviceAttributes**(*server*, *device*, *valuemask*, *attributes*, *status*)\
\
     **AuServer** \**server*;\
\
     **AuDeviceID** *device*;\
\
     **AuMask** *valuemask*;\
\
     **AuDeviceAttributes** \**attributes*;\
\
     **AuStatus** \**status*; /\* **RETURN** \*/

## Arguments

- *server*

  Specifies the connection to the audio server.

- *device*

  Specifies the ID of the device.

- *valuemask*

  Specifies which values in *attributes* to used. This must be a bitwise inclusive OR of one or more of these constants: **AuCompCommonIDMask**, **AuCompCommonKindMask**, **AuCompCommonUseMask**, **AuCommonFormatMask**, **AuCommonNumTracksMask**, **AuCommonAccessMask**, **AuCommonDescriptionMask**, **AuCompDeviceGainMask**, or **AuCompDeviceLineModeMask**.

- *attributes*

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

- *status*

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

## Description

**AuSetDeviceAttributes** sets the attributes of *device* using only those values in *attributes* specified by *valuemask*. Attempting to change attributes not marked as changable will fail with a **AuBadValue** error.

## Errors

**AuBadDevice**, **AuBadLength**, **AuBadValue**.

## See Also

**AuGetDeviceAttributes**.

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