SYNOPSIS
#include <roaraudio.h>
struct roar_vio_calls;
DESCRIPTION
The RoarAudio VIO interface is RoarAudio's IO abstraction layer. It provides basic IO functions such as read and write independing on the underlaying IO. For Example can you open a plain or a gziped file via the VIO layer. After a successful open both objects behave the same, libroar takes care about the compression in the gzip case.
IMPORTANT FUNCTIONS
There are several important functions. This is a small list of the most important ones.
- Opening
-
roar_vio_open_file(3), roar_vio_open_fh(3), roar_vio_open_stdio(3),
roar_vio_open_dstr(3), roar_vio_open_proto(3).
While there are a lot functions important for opening files the most important one is roar_vio_open_dstr(3). It opens a stream based on URLs that can point to local files or files on remote machines. It also can handle compression and encryption.
- Closing
-
roar_vio_close(3), roar_vio_shutdown(3)
- Reading and writing
-
roar_vio_read(3), roar_vio_write(3)
- Seeking and positioning
-
roar_vio_lseek(3)
- Non-Blocking and Asyncron IO
-
roar_vio_nonblock(3), roar_vio_sync(3),
roar_vio_select(3)
- Networking and Sockets
-
roar_vio_accept(3)
- String handling
-
roar_vio_printf(3)
BUGS
A lot...