---
name: "roar_vio_close"
section: "3"
platform: "linux"
package: "libroar-dev"
version: "1.0~beta12-4"
release: "Debian 11 (Bullseye)"
platforms: ["linux"]
url: "https://new.carta.tech/roar_vio_close"
---

# roar\_vio\_close(3)

close a RoarAudio virtual IO object

## NAME

roar\_vio\_close.3 - close a RoarAudio virtual IO object

## SYNOPSIS

\#include \<roaraudio.h\>

int roar\_vio\_close (struct roar\_vio\_calls \* vio);

## DESCRIPTION

Closes a VIO object. Also ensures all data to be fushed to disk or send via sockets. The given vio object itself is not freed as normally located in the applications stack. if you want it to be freed you need to call [**free**(3)](/free/3.md) yourself.

## PARAMETERS

- **vio**

  The VIO object to be closed.

## RETURN VALUE

On success these calls return 0.  On error, -1 is returned.

## EXAMPLES

 struct roar\_vio\_calls obj;

 roar\_vio\_open\_fh(&obj, ROAR\_STDOUT);

 roar\_vio\_puts(&obj, "Hello World!\\n");

 roar\_vio\_close(&obj);

## SEE ALSO

[**roarvio**(7)](/roarvio/7.md), [**libroar**(7)](/libroar/7.md), [**RoarAudio**(7)](/RoarAudio/7.md).
