ft_xcinfo() reads the data output by the command that was executed in the remote system using ft_xcopen().
ft_xcinfo can be called more than once for each output channel (stdout, stderr). On each call, the next data that has not yet been read is written to the buffer buf.
Syntax
#include <ftapi.h> int ft_xcinfo(void *id, /* input */ struct ft_xcipar *par, int buflen, /* input */ char *buf, struct ft_err *errorinfo);
Parameters
id
ID of the request (return value from ft_xcopen)
par
Specifications for the request which you declare in the structure ft_xcipar:
struct ft_xcipar { int xciparvers; /* input */ enum ft_chn channel; /* input */ char *fud; /* input */ int fudlen; /* input */ };
The fields of the ft_xcipar structure have the following meaning:
xciparvers
Version of the data structure. xciparvers must have the value FT_XCIPARV1
.
channel
Channel selection. The following values are permitted:
FT_STDOUT
stdout channel.
FT_STDERR
stderr channel.
fud
Address of a data area for the so-called "Further Details" which can indicate a more detailed cause of error if errors occur. If NULL
is specified then no more detailed error cause is output.
fudlen
Length of the data area for fud.
buflen
Size of the data area for the output data.
buf
Address of the data area for the output data.
errorinfo
Area in which detailed information is stored if an error is encountered (see section “ft_err” (Error handling)).
The specification of this parameter is optional. If you do not require any more precise error information then you can specify the value NULL
for errorinfo.
Return value
n | Number of bytes written to the buffer buf. |
0 | All the data has already been read, the buffer is empty. |
-1 | Error. The error type is stored in errorinfo. |