Index: doc/man3/roar_vs_blocking.3
===================================================================
--- doc/man3/roar_vs_blocking.3	(revision 5041)
+++ doc/man3/roar_vs_blocking.3	(revision 5041)
@@ -0,0 +1,43 @@
+.TH "roar_vs_blocking" "3" "May 2011" "RoarAudio" "RoarAudio Programmer's Manual"
+
+.SH NAME
+roar_vs_blocking \- Change blocking mode of VS object
+
+.SH SYNOPSIS
+
+#include <roaraudio.h>
+
+int     roar_vs_blocking (roar_vs_t * vss, int val, int * error);
+
+.SH "DESCRIPTION"
+Changes blocking mode of VS object or ask for the current mode if \fBval\fR is set to ROAR_VS_ASK.
+
+.SH "PARAMETERS"
+.TP
+\fBvss\fR
+The VS object to be altered.
+
+.TP
+\fBval\fR
+Specifies the new state. Value must be ROAR_VS_TRUE, ROAR_VS_FALSE, ROAR_VS_TOGGLE or ROAR_VS_ASK.
+ROAR_VS_TOGGLE should be avoided.
+
+.TP
+\fBerror\fR
+This is a pointer to a integer used to store the error value in case of error.
+This can be NULL if not used but it is very recommended to use this error value to report
+good error messages to the user.
+
+.SH "RETURN VALUE"
+On success these calls return the old (current if ROAR_VS_ASK is used) state of the blocking mode\.
+On error, \-1 is returned.
+
+.SH "EXAMPLES"
+FIXME
+
+.SH "SEE ALSO"
+\fBroarvs\fR(7),
+\fBlibroar\fR(7),
+\fBRoarAudio\fR(7).
+
+.\" ll
Index: doc/man3/roar_vs_close.3
===================================================================
--- doc/man3/roar_vs_close.3	(revision 5038)
+++ doc/man3/roar_vs_close.3	(revision 5041)
@@ -1,4 +1,2 @@
-.\" roar_simple_play.3:
-
 .TH "roar_vs_close" "3" "May 2011" "RoarAudio" "RoarAudio Programmer's Manual"
 
Index: doc/man3/roar_vs_connection_obj.3
===================================================================
--- doc/man3/roar_vs_connection_obj.3	(revision 5041)
+++ doc/man3/roar_vs_connection_obj.3	(revision 5041)
@@ -0,0 +1,57 @@
+.TH "roar_vs_connection_obj" "3" "May 2011" "RoarAudio" "RoarAudio Programmer's Manual"
+
+.SH NAME
+roar_vs_connection_obj, roar_vs_stream_obj, roar_vs_vio_obj \- VS API interface for use of main API
+
+.SH SYNOPSIS
+
+#include <roaraudio.h>
+
+struct roar_connection * roar_vs_connection_obj(roar_vs_t * vss, int * error);
+
+struct roar_stream     * roar_vs_stream_obj    (roar_vs_t * vss, int * error);
+
+struct roar_vio_calls  * roar_vs_vio_obj       (roar_vs_t * vss, int * error);
+
+
+.SH "DESCRIPTION"
+Those functions return internal connection, stream and VIO object of the VS object.
+They are used to use the main API with a VS opened stream.
+
+\fBroar_vs_connection_obj()\fR returns the connection object used for the control connection
+to the server.
+
+\fBroar_vs_stream_obj()\fR returns the stream object storing information about the stream.
+
+\fBroar_vs_vio_obj()\fR returns the VIO object used to read data from or send data to the
+server.
+
+Returned objects are freed as soon as the VS object is closed. If the VS object was created
+using \fBroar_vs_new_from_con\fR(3) the connection is not closed by the VS object and stay valid
+after close until it is closed by the program or library.
+
+The VIO object MUST NOT be used while in buffered mode.
+
+.SH "PARAMETERS"
+.TP
+\fBvss\fR
+The VS object to return internal objects from.
+
+.TP
+\fBerror\fR
+This is a pointer to a integer used to store the error value in case of error.
+This can be NULL if not used but it is very recommended to use this error value to report
+good error messages to the user.
+
+.SH "RETURN VALUE"
+On success these calls return the described object.  On error, NULL is returned.
+
+.SH "EXAMPLES"
+FIXME
+
+.SH "SEE ALSO"
+\fBroarvs\fR(7),
+\fBlibroar\fR(7),
+\fBRoarAudio\fR(7).
+
+.\" ll
Index: doc/man3/roar_vs_ctl.3
===================================================================
--- doc/man3/roar_vs_ctl.3	(revision 5041)
+++ doc/man3/roar_vs_ctl.3	(revision 5041)
@@ -0,0 +1,47 @@
+.TH "roar_vs_ctl" "3" "May 2011" "RoarAudio" "RoarAudio Programmer's Manual"
+
+.SH NAME
+roar_vs_ctl \- Interface to private interals of VS object
+
+.SH SYNOPSIS
+
+#include <roaraudio.h>
+
+int     roar_vs_ctl           (roar_vs_t * vss, roar_vs_ctlcmd cmd, void * argp, int * error);
+
+.SH "DESCRIPTION"
+This function is used to access internals of the VS object. It is generally to be avoided to use this function.
+Valid commands depend on library version. Commands are defined in a way suitable for #ifdef checking.
+
+.SH "PARAMETERS"
+.TP
+\fBvss\fR
+The VS object to be altered.
+
+.TP
+\fBcmd\fR
+Specifies the command to use on object.
+
+.TP
+\fBargp\fR
+A pointer to the operant for the given command. Type depends on command. Must be NULL for commads
+not taking any argument.
+
+.TP
+\fBerror\fR
+This is a pointer to a integer used to store the error value in case of error.
+This can be NULL if not used but it is very recommended to use this error value to report
+good error messages to the user.
+
+.SH "RETURN VALUE"
+On success these calls return 0.  On error, \-1 is returned.
+
+.SH "EXAMPLES"
+FIXME
+
+.SH "SEE ALSO"
+\fBroarvs\fR(7),
+\fBlibroar\fR(7),
+\fBRoarAudio\fR(7).
+
+.\" ll
Index: doc/man3/roar_vs_strerr.3
===================================================================
--- doc/man3/roar_vs_strerr.3	(revision 5041)
+++ doc/man3/roar_vs_strerr.3	(revision 5041)
@@ -0,0 +1,38 @@
+.TH "roar_vs_strerr" "3" "May 2011" "RoarAudio" "RoarAudio Programmer's Manual"
+
+.SH NAME
+roar_vs_strerr \- Convert an error code into a lion readable string
+
+.SH SYNOPSIS
+
+#include <roaraudio.h>
+
+const char * roar_vs_strerr(int error);
+
+.SH "DESCRIPTION"
+This function returns a lion readable error message for the given error code.
+If the error code is unknown or invalid it returns a string to represent an unknown
+error code unlike \fBroar_error2str\fR(3) which returns NULL.
+
+The returned string is constant memory and must not be altered or freed.
+
+This function is thread safe.
+
+.SH "PARAMETERS"
+.TP
+\fBerror\fR
+The error code which should be translated into a string.
+
+.SH "RETURN VALUE"
+Returns a constant string descripting the error \fBerror\fR.
+
+.SH "EXAMPLES"
+FIXME
+
+.SH "SEE ALSO"
+\fBroar_error2str\fR(3),
+\fBroarvs\fR(7),
+\fBlibroar\fR(7),
+\fBRoarAudio\fR(7).
+
+.\" ll
Index: doc/man3/roar_vs_sync.3
===================================================================
--- doc/man3/roar_vs_sync.3	(revision 5041)
+++ doc/man3/roar_vs_sync.3	(revision 5041)
@@ -0,0 +1,51 @@
+.TH "roar_vs_sync" "3" "May 2011" "RoarAudio" "RoarAudio Programmer's Manual"
+
+.SH NAME
+roar_vs_sync \- Sync VS object with server
+
+.SH SYNOPSIS
+
+#include <roaraudio.h>
+
+int     roar_vs_sync (roar_vs_t * vss, int wait, int * error);
+
+.SH "DESCRIPTION"
+This function syncs the local data buffers with the server by flushing them.
+The parameter \fBwait\fR is used to tell the function if it should also wait for the flushed
+data to be played (sometimes called drain by other sound systems). This mode is not recommended
+expect at end of stream as it will result in buffer underruns.
+
+This function does only flush IO buffers not the ring buffers in buffered mode.
+Use \fBroar_vs_iterate\fR(3) or \fBroar_vs_run\fR(3) to do this.
+
+.SH "PARAMETERS"
+.TP
+\fBvss\fR
+The VS object to be synced.
+
+.TP
+\fBwait\fR
+Specifies if the calls should block untill all data has been played. Must be ROAR_VS_WAIT or ROAR_VS_NOWAIT.
+
+.TP
+\fBerror\fR
+This is a pointer to a integer used to store the error value in case of error.
+This can be NULL if not used but it is very recommended to use this error value to report
+good error messages to the user.
+
+.SH "RETURN VALUE"
+On success these calls return 0.  On error, \-1 is returned.
+
+.SH "NOTES"
+This function uses the WAIT protocol command if \fBwait\fR is set to ROAR_VS_WAIT.
+This is not supported by all servers.
+
+.SH "EXAMPLES"
+FIXME
+
+.SH "SEE ALSO"
+\fBroarvs\fR(7),
+\fBlibroar\fR(7),
+\fBRoarAudio\fR(7).
+
+.\" ll
Index: doc/man3/roar_vs_volume_get.3
===================================================================
--- doc/man3/roar_vs_volume_get.3	(revision 5041)
+++ doc/man3/roar_vs_volume_get.3	(revision 5041)
@@ -0,0 +1,66 @@
+.TH "roar_vs_volume_get" "3" "May 2011" "RoarAudio" "RoarAudio Programmer's Manual"
+
+.SH NAME
+roar_vs_volume_get, roar_vs_volume_mono, roar_vs_volume_stereo \- Get or set volume for audio stream
+
+.SH SYNOPSIS
+
+#include <roaraudio.h>
+
+int     roar_vs_volume_get    (roar_vs_t * vss, float * l, float * r, int * error);
+
+int     roar_vs_volume_mono   (roar_vs_t * vss, float c, int * error);
+
+int     roar_vs_volume_stereo (roar_vs_t * vss, float l, float r, int * error);
+
+.SH "DESCRIPTION"
+Those functions are used to get or set volume for the given stream.
+
+\fBroar_vs_volume_get()\fR gets the volume for the given stream in stereo form as
+a left and a right component (L/R). If you need the mono volume just devide the sum of both
+by two. See examples below.
+
+\fBroar_vs_volume_mono()\fR sets the mono volume for the stream. Balance information is not kept.
+
+\fBroar_vs_volume_stereo()\fR sets the stereo volume for the stream as left and rigth component (L/R).
+
+.SH "PARAMETERS"
+.TP
+\fBvss\fR
+The VS object for wich volume is get or set.
+
+.TP
+\fBl\fR, \fBr\fR, \fBc\fR
+The volume for left, right or center (mono) channel. Value is a float in range zero to one.
+Zero means this channel is fully muted. One means the channel is passed without altering the amplitude.
+
+Small numerical errors are detected and corrected. Bigger errors will result in a out of range error.
+
+Note that to mute the stream you MUST NOT use volume setting but \fBroar_vs_mute\fR(3).
+
+.TP
+\fBerror\fR
+This is a pointer to a integer used to store the error value in case of error.
+This can be NULL if not used but it is very recommended to use this error value to report
+good error messages to the user.
+
+.SH "RETURN VALUE"
+On success these calls return 0.  On error, \-1 is returned.
+
+.SH "EXAMPLES"
+Getting mono volume:
+
+ float l, r, c;
+ int err;
+
+ if ( roar_vs_volume_get(vss, &l, &r, &err) == -1 ) {
+  /* handle error */
+ }
+ c = (l + r)/2.;
+
+.SH "SEE ALSO"
+\fBroarvs\fR(7),
+\fBlibroar\fR(7),
+\fBRoarAudio\fR(7).
+
+.\" ll
Index: doc/symlinks.src
===================================================================
--- doc/symlinks.src	(revision 5039)
+++ doc/symlinks.src	(revision 5041)
@@ -14,2 +14,6 @@
 roar_terminate			3	roar_exit		3
 roar_vs_write			3	roar_vs_read		3
+roar_vs_stream_obj		3	roar_vs_connection_obj	3
+roar_vs_vio_obj			3	roar_vs_connection_obj	3
+roar_vs_volume_mono		3	roar_vs_volume_get	3
+roar_vs_volume_stereo		3	roar_vs_volume_get	3
