ft_showdir() ermittelt die Attribute der Dateien eines Dateiverzeichnisses im fernen System. Dabei werden jeweils soviele Attributdatensätze ermittelt, wie Sie im Parameter bufsize angegeben haben. Sind im Dateiverzeichnis auf dem fernen System mehr Daten vorhanden, müssen Sie ft_showdir() mehrfach aufrufen. Beachten Sie, dass Sie keine Auswahl innerhalb des Verzeichnisses treffen können.
Die Attribute einer einzelnen Datei/Dateiverzeichnisses werden mit der Funktion ft_show() ermittelt.
Dateiverzeichnisnamen dürfen die in der Struktur ft_prop im Feld maxrfnsize angegebene Länge nicht überschreiten (siehe Abschnitt „ft_properties - Eigenschaften der Programmschnittstelle ermitteln").
Syntax
#include <ftapi.h> long ft_showdir(const struct ft_admission *admis,/* Eingabe */ const struct ft_shwpar *par, /* Eingabe */ struct ft_fileinfo *buf, int bufsize, /* Eingabe */ 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_shwpar bekanntgeben:
struct ft_shwpar { int shwparvers; /* Eingabe */ char *fn; /* Eingabe */ char *mgmtpasswd; /* Eingabe */ char *fud; /* Eingabe */ int fudlen; /* Eingabe */ };
Die Felder der Struktur ft_shwpar haben folgende Bedeutung:
shwparvers
Version der Datenstruktur.
shwparvers muss mit dem Wert FT_SPARV1
oder FT_SPARV2
versorgt werden.
fn
Name des Dateiverzeichnisses, für dessen Dateien die Attribute ermittelt werden sollen.
Absolute und relative Pfadangaben sind erlaubt. Relative Pfadangaben beziehen sich auf die im Berechtigungsprofil festgelegte Benutzerkennung, wenn die FTAC-Funktion eingesetzt wird, sonst auf das HOME-Verzeichnis, siehe "Dateiübertragung".
mgmtpasswd
Kennwort des Dateiverzeichnisses, falls es mit einem Kennwort geschützt ist.
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. Der Parameter fud steht nur dann zur Verfügung, wenn shwparvers auf den Wert FT_SPARV2
gesetzt wird und beim Aufruf von ft_showdir der Parameter options angegeben ist.
fudlen
Länge des Datenbereichs von fud.
Der Parameter fudlen steht nur dann zur Verfügung, wenn shwparvers auf den Wert FT_SPARV2
gesetzt wird und beim Aufruf von ft_showdir der Parameter options angegeben ist.
buf
Bereich, in den die Dateiattribute geschrieben werden. Dieser Bereich besteht aus Elementen mit der die Struktur ft_fileinfo:
#define ACC_LEN 65 #define INFO_FN_LEN 257 #define LQ_LEN 81 #define USER_LEN 68 struct ft_fileinfo { int ftshowivers; /* Eingabe */ char fn[INFO_FN_LEN]; /* Ausgabe */ enum ft_ftype filetype; /* Ausgabe */ enum ft_charset charset; /* Ausgabe */ enum ft_rform recordform; /* Ausgabe */ long recsize; /* Ausgabe */ enum ft_available availability; /* Ausgabe */ int acccess; /* Ausgabe */ char accout[ACC_LEN]; /* Ausgabe */ long size; /* Ausgabe */ long maxsize; /* Ausgabe */ char legalqual[LQ_LEN]; /* Ausgabe */ char cre_user[USER_LEN]; /* Ausgabe */ long cre_date; /* Ausgabe */ char mod_user[USER_LEN]; /* Ausgabe */ long mod_date; /* Ausgabe */ char rea_user[USER_LEN]; /* Ausgabe */ long rea_date; /* Ausgabe */ char atm_user[USER_LEN]; /* Ausgabe */ long atm_date; /* Ausgabe */ long long fsize; /* Ausgabe */ long long fmaxsize; /* Ausgabe */ };
Die Felder der Struktur ft_fileinfo haben folgende Bedeutung:
Version der Datenstruktur.
ftshowivers muss mit dem Wert FT_SHOWIV1
oder FT_SHOWIV2
versorgt werden. Es ist ausreichend, wenn ftshowivers in der ersten übergebenen Datenstruktur gesetzt ist.
fn
Dateiname oder Dateiverzeichnisname
filetype
Dateityp: FT_TYPEUNKN
Dateityp unbekannt.
FT_BIN
Binärdatei.
FT_DIR
Dateiverzeichnis.
FT_TXT
Textdatei.
charset
Zeichensatz (nur bei Textdateien): FT_NOSET
Zeichensatz unbekannt.
FT_VISIBLE
Die Datei kann Zeichen aus dem G0-Set von ISO646 enthalten.
FT_IA5
Die Datei kann Zeichen aus dem dem C0-Set und dem G0-Set von ISO646 enthalten.
FT_GRAPHIC
Die Datei kann Zeichen aus dem G0-Set von ISO646 oder aus dem G0-Set von ISO8859-1 und dem G1-Set von ISO8859-1 enthalten.
FT_GENERAL
Die Datei kann Zeichen aus dem C0-Set von ISO646, aus dem G0-Set von ISO646 oder ISO8859-1 und aus dem G1-Set von ISO8859-1 enthalten.
recordform
Satzformat: FT_NOFORM
Satzformat unbekannt.
FT_VARIABLE
Variable Satzlänge.
FT_FIXED
Einheitliche Satzlänge.
FT_UNDEF
Undefinierte Satzlänge.
recsize
Maximale Satzlänge oder 0, wenn die maximale Satzlänge unbekannt ist
availability
Verfügbarkeit der Datei: FT_NOAVAIL
Die Verfügbarkeit ist nicht festgelegt.
FT_AVAILIMM
Die Datei ist sofort verfügbar.
FT_AVAILNIMM
Die Datei ist nicht sofort verfügbar.
access
Zugriffsrechte. Das Recht ist vorhanden, wenn das Bit gesetzt ist.
Folgende Bits sind definiert: FT_ACCR
Die Datei darf gelesen werden.
FT_ACCI
Dateneinheiten dürfen in die Datei eingefügt werden.
FT_ACCP
Die Datei darf überschrieben werden.
FT_ACCX
Die Datei darf erweitert werden, d.h. Daten können an die Datei angefügt werden.
FT_ACCE
Dateneinheiten dürfen aus der Datei gelöscht werden.
FT_ACCA
Dateiattribute dürfen gelesen werden.
FT_ACCC
Dateiattribute dürfen geändert werden.
FT_ACCD
Die Datei darf gelöscht werden.
account
Abrechnungsnummer, über die die Kosten im fernen System verrechnet werden.
size
Aktuelle Dateigröße in Bytes oder -1, wenn die Dateigröße unbekannt ist.
Auf Systemen, bei denen die Größe einer Variablen des Typs long
32 Bit beträgt, wird der Wert für die Dateigröße abgeschnitten, wenn er nicht in das Feld passt. Der vollständige Wert für die Dateigröße ist im Feld fsize zu finden.
maxsize
Erlaubte Dateigröße in Bytes oder -1, wenn die erlaubte Dateigröße unbekannt ist. Auf Systemen, bei denen die Größe einer Variablen des Typs long
32 Bit beträgt, wird der Wert für die Dateigröße abgeschnitten, wenn er nicht in das Feld passt. Der vollständige Wert für die Dateigröße ist im Feld fmaxsize zu finden.
legalqual
Rechtliche Bestimmung.
cre_user
Dateibenutzer, der die Datei erstellt hat.
cre_date
Zeitpunkt, zu dem die Datei erstellt wurde, oder 0, wenn der Zeitpunkt unbekannt ist.
Die Angabe erfolgt im internen Zeitformat (Sekunden seit dem 1.1.1970 00:00:00).
mod_user
Dateibenutzer, der den Dateiinhalt zuletzt geändert hat
mod_date
Zeitpunkt, zu dem der Dateiinhalt zuletzt geändert wurde, oder 0, wenn der Zeitpunkt unbekannt ist.
Die Angabe erfolgt im internen Zeitformat (Sekunden seit dem 1.1.1970 00:00:00).
rea_user
Dateibenutzer, der die Datei zuletzt gelesen hat.
rea_date
Zeitpunkt, zu dem die Datei zuletzt gelesen wurde, oder 0, wenn der Zeitpunkt unbekannt ist.
Die Angabe erfolgt im internen Zeitformat (Sekunden seit dem 1.1.1970 00:00:00).
atm_user
Dateibenutzer, der die Dateiattribute zuletzt geändert hat.
atm_date
Zeitpunkt, zu dem die Dateiattribute zuletzt geändert wurden, oder 0, wenn der Zeitpunkt unbekannt ist.
Die Angabe erfolgt im internen Zeitformat (Sekunden seit dem 1.1.1970 00:00:00).
fsize
Aktuelle Dateigröße in Bytes oder -1, wenn die Dateigröße unbekannt ist.
Der Parameter fsize steht nur dann zur Verfügung, wenn ftshowivers auf den Wert FT_SHOWIV2
gesetzt wird und beim Aufruf von ft_showdir der Parameter options angegeben ist.
fmaxsize
Erlaubte Dateigröße in Bytes oder -1, wenn die erlaubte Dateigröße unbekannt ist. Der Parameter fmaxsize steht nur dann zur Verfügung, wenn ftshowivers auf den Wert FT_SHOWIV2
gesetzt wird und beim Aufruf von ft_showdir der Parameter options angegeben ist.
bufsize
Größe von buf, d.h. maximale Anzahl der Elemente mit der Struktur ft_fileinfo, die in buf passen.
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
Die Angabe des Parameters options ist optional. Wird der Wert NULL
angegeben, dann ist das Meldungsverhalten der Programmschnittstelle kompatibel zur Programmschnittstelle von openFT < V10.
Alternativ können durch die Angabe der Struktur ft_options (siehe Abschnitt „ft_options" (Version der Programmschnittstelle)) das openFT-Meldungsnummernschema ab openFT V10 und die Funktionserweiterungen aktiviert werden.
Rückgabewert
n | Anzahl der gefundenen Dateien im fernen Dateiverzeichnis (n >= 0). |
-1 | Fehler. Über das Dateiverzeichnis wurden keine Informationen geliefert. |