ft_xcopen() führt das Kommando im fernen System synchron aus.
Syntax
#include <ftapi.h> void *ft_xcopen(const struct ft_admission *admis, /* Eingabe */ struct ft_xcpar *par, struct ft_err *errorinfo, void *options); /* Eingabe */
Parameter
admis
Angaben für das ferne System (siehe Abschnitt „ft_admission“ (Angaben zum fernen System)).
par
Angaben für den Auftrag, die Sie mit der Struktur ft_xcpar bekanntgeben:
struct ft_xcpar { int xcparvers; /* Eingabe */ char *cmd; /* Eingabe */ enum ft_filetype type; /* Eingabe */ enum ft_encrypt encryption; /* Eingabe */ char *locccsn; /* Eingabe */ char *remccsn; /* Eingabe */ int retcode; /* Ausgabe */ long long outlen; /* Ausgabe */ long long errlen; /* Ausgabe */ char *fud; /* Eingabe */ int fudlen; /* Eingabe */ enum ft_fncmode fncmode; /* Eingabe */ };
Die Felder der Struktur ft_xcpar haben folgende Bedeutung:
xcparvers
Version der Datenstruktur;
xcparvers muss mit dem Wert FT_XCPARV1
oder FT_XCPARV2
versorgt werden.
cmd
Das auf dem Partnersystem auszuführende Kommando. Die maximale Länge darf die in der Struktur ft_prop im Feld maxcmdlen angegebene Länge nicht überschreiten (siehe Abschnitt „ft_properties - Eigenschaften der Programmschnittstelle ermitteln“).
type
Datentyp der übertragenen Nutzdaten (in stdout). Folgende Werte sind zulässig:
FT_TEXT
gibt das Übertragungsformat als Text an. Die Tabulator-Expansion ist ausgeschaltet.
(Defaultwert, wenn bei locccsn und/oder remccsn ein CCS-Name angegeben wird).
FT_BINARY
gibt das Übertragungsformat als binär ohne Konvertierungen an.
(Defaultwert, wenn bei locccsn und remccsn kein CCS-Name angegeben wird).
encryption
Gibt an, ob die Benutzerdaten verschlüsselt werden sollen. Folgende Werte sind zulässig:
FT_NOENCRYPT
Benutzerdaten werden nicht verschlüsselt (Defaultwert nach Initialisierung mit binär 0).
FT_ENCRYPT
Benutzerdaten werden verschlüsselt. Dazu muss openFT-CR installiert sein. Kann das Partnersystem nicht mit Verschlüsselung arbeiten, wird der Auftrag abgelehnt.
locccsn
Gibt den Namen der Codierung an (CCS-Name), mit der die Daten der Standardausgabe geschrieben werden sollen. CCS-Name muss im lokalen System bekannt sein.
Wird keine Codierung angegeben, wird der bei openFT per Betriebsparameter eingestellte Standardwert für die Codierung verwendet. Der Parameter locccsn darf nicht mit FT_BINARY
kombiniert werden
remccsn
Gibt den Namen der fernen Codierung an (CCS-NAME), mit der die Daten der Standardausgabe des fernen Kommandos gelesen werden. CCS-Name muss im fernen System bekannt sein.
Wird keine Codierung angegeben, wird der durch XHCS (BS2000-Systeme) bzw. per openFT-Betriebsparameter (andere Plattformen) eingestellte Zeichensatz für die Codierung verwendet. Der Parameter remccsn darf nicht mit FT_BINARY
kombiniert werden.
retcode
Returncode der fernen Kommandoausführung.
outlen
Anzahl der Datenbytes für stdout, die gelesen wurden.
errlen
Anzahl der Datenbytes für stderr, die gelesen wurden.
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.
fncmode
Gibt den Codierungsmodus für Dateinamen an.
FT_FNCTRANS
Angabe des Ziel-Dateinamens und der Folgeverarbeitung für das Zielsystem im transparenten Modus (kompatibel mit der vorherigen Version; Standardwert nach Initialisierung mit Binär 0).
FT_FNCCHAR
Angabe des Ziel-Dateinamens und Folgeverarbeitung für das Zielsystem im Zeichenmodus. Sie werden gemäß dem Zeichencode des Zielsystems interpretiert, d. h. für UNIX-Partner gemäß der dort festgelegten openFT-Betriebsparameteroption (ftmodo –fnccs). –Fnc = c ist nur für openFT-Partner ab openFT V12.1B zulässig. Diese Funktionalität ist nur verfügbar, wenn xcparvers auf den Wert FT_XCPARV2
gesetzt wird und beim Aufruf von ft_transfer der Parameter options angegeben ist.
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.
options
options muss mit dem Wert FT_APIV3
versorgt werden. Die Angabe des Parameters ist obligatorisch. Der Aufbau der Struktur ft_options ist im Abschnitt „Version der Programmschnittstelle“ beschrieben.
Rückgabewert
id | Id des Aufrufs. Diese muss bei ft_sdinfo() und ft_sdclose() angegeben werden. |
| Fehler. Die Fehlerart wird in errorinfo hinterlegt. |