Aktuelle Version |
Dein Text |
Zeile 11: |
Zeile 11: |
| return -1; | | return -1; |
| } | | } |
− |
| |
− | === Öffnen von Standard-Ein-/Ausgabe ===
| |
− | Wie im oben Beispiel schon gezeigt kann die Standard Eingabe ganz einfach geöffnet werden. Zum Öffnen der Standard Ausgabe und der Standard Fehler Ausgabe muss der Parameter ROAR_STDIN nur auf ROAR_STDOUT beziehungsweise ROAR_STDERR geändert werden:
| |
− |
| |
− | ret = roar_vio_open_fh(&vio, ROAR_STDIN );
| |
− | ret = roar_vio_open_fh(&vio, ROAR_STDOUT);
| |
− | ret = roar_vio_open_fh(&vio, ROAR_STDERR);
| |
− |
| |
− | === Öffnen von Dateien ===
| |
− | Zum Öffnen von Dateien wird ''roar_vio_open_file()'' verwendet. Diese Funktion ist nahezu äquivalent zu open(2).
| |
− |
| |
− | Beispiel:
| |
− | if ( roar_vio_open_file(&vio, "/etc/motd", O_RDONLY, 0644) == -1 ) {
| |
− | return -1;
| |
− | }
| |
− |
| |
− | Da die Verwendung von open(2) und seine Parameter nur bedingt Portabel sind kann hier auf [[RoarAudio/Programmieren/VIO DSTR|VIO DSTR API]] zurückgegriffen werden. libroar wird dennoch alles tun um eine möglichst einheitliche Schnittstelle zu erzeugen. So sind Beispielsweise Patches für win32 vorhanden um POSIX/UNIX typische Parameter zu unterstützen.
| |
− |
| |
− | Die von der Verwendung von O_BINARY wird, aus Kompatibilitätsgründen, deutlich abgeraten. Dies wird von der Bibliothek automatisch gesetzt sofern nötig.
| |
− |
| |
− | === Sockets ===
| |
− | Da Sockets eine hochgradig Unportable Schnittstelle haben ist dies eines der klassischen Einsatzgebiete der VIOs.
| |
− |
| |
− | Zur Verwendung von Sockets wird aufs dringlichste empfohlen die [[RoarAudio/Programmieren/VIO DSTR|VIO DSTR API]] zu verwenden.
| |
− |
| |
− | === Bereits offene Sockets verwenden ===
| |
− | Sind bereits offene Sockets vorhanden so können diese in ein VIO Objekt umgewandelt werden. Dies gescheit mittels ''roar_vio_open_fh_socket()''.
| |
− |
| |
− | Beispiel:
| |
− | ret = roar_vio_open_fh_socket(&vio, socketfd);
| |
− |
| |
− | Die Verwendung dieser Funktion, anstatt ''roar_vio_open_fh()'' (s.o.) ist unter einigen Systemen dringend erforderlich. Aus diesem Grunde sollte diese Unterscheidung immer durchgeführt werden damit eine maximal Portable Applikation entsteht. Abgesehen davon dass diese Funktion mit Sockets operiert ist sie absolut äquivalent zu ''roar_vio_open_fh()''.
| |
| | | |
| == Auf VIO Objekt operieren == | | == Auf VIO Objekt operieren == |
Zeile 78: |
Zeile 46: |
| | | |
| Beispiel: | | Beispiel: |
− | ret = roar_vio_write(&vio, datablock, 512); | + | ret = roar_vio_read(&vio, datablock, 512); |
| | | |
| Siehe auch: write(2) | | Siehe auch: write(2) |