Roaraudio sound library roarvio - roaraudio virtual io layer
#include <roaraudio.h>
struct roar_vio_calls;
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.
Tutorials can be found in roartutvio(7).
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)
A lot...
roar-config(1), roartypes(1), roartutvio(7), RoarAudio(7).