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 normaly located in the applications stack.
if you want it to be freed you need to call free(3) yourself.
PARAMETERS
vio
The VIO object to be closed.
RETURN VALUE
On success these calls return 0. On error, -1 is returned.