ft_xcinfo() liest die Ausgabedaten des mit ft_xcopen() im fernen System ausgeführten Kommandos aus.
ft_xcinfo kann mehrfach für jeden Ausgabekanal (stdout, stderr) aufgerufen werden. Dabei werden jeweils die nächsten, noch nicht gelesenen Daten in den Puffer buf geschrieben.
Syntax
#include <ftapi.h> int ft_xcinfo(void *id, /* Eingabe */ struct ft_xcipar *par, int buflen, /* Eingabe */ char *buf, struct ft_err *errorinfo);
Parameter
id
Id des Aufrufs (Rückgabewert von ft_xcopen)
par
Auswahl des Ausgabekanals, die Sie mit der Struktur ft_xcipar bekanntgeben:
struct ft_xcipar { int xciparvers; /* Eingabe */ enum ft_chn channel; /* Eingabe */ char *fud; /* Eingabe */ int fudlen; /* Eingabe */ };
Die Felder der Struktur ft_xcipar haben folgende Bedeutung:
xciparvers
Version der Datenstruktur; xciparvers muss mit dem Wert FT_XCIPARV1
versorgt werden.
channel
Auswahl des Kanals. Folgende Werte sind zulässig:
FT_STDOUT
stdout-Kanal.
FT_STDERR
stderr-Kanal.
fud
Adresse eines Datenbereichs für die sogenannten "Further Details", die im Fehlerfall eine genauere Fehlerursache angeben können. Bei Angabe von NULL
wird keine weiterführende Fehlerursache ausgegeben.
fudlen
Länge des Datenbereichs von fud.
buflen
Größe des Datenbereichs für die Ausgabedaten.
buf
Adresse des Datenbereichs für die Ausgabedaten.
errorinfo
Bereich, in dem genauere Informationen hinterlegt sind, wenn ein Fehler aufgetreten ist (siehe Abschnitt „ft_err" (Fehlerbehandlung)).
Die Angabe des Parameters ist optional. Wenn Sie keine genaueren Fehlerinformationen benötigen, können Sie für errorinfo den Wert NULL
angeben.
Rückgabewert
n | Anzahl der in den Puffer buf geschriebenen Bytes. |
0 | Alle Daten wurden bereits gelesen, der Puffer ist leer. |
-1 | Fehler. Die Fehlerart wird in errorinfo hinterlegt. |