Wenn Sie auf einer AIX-Plattform eine Sprachumgebung erstellen, müssen Sie gemeinsam benutzte Bibliotheken laden. Unter AIX ist die Sprachumgebung erforderlich, damit eine von Net.Data aufgerufene Routine bereitgestellt wird, welche die Adressen der Schnittstellenroutinen der Sprachumgebung, zum Beispiel dtw_initialize() und dtw_execute(), zurückgibt.
Net.Data verwendet die Struktur dtw_fp, um Zeiger auf die Schnittstellenroutinen der Sprachumgebung aus einer Sprachumgebung in AIX abzurufen. Diese Struktur hat folgendes Format:
typedef struct dtw_fp { int (* dtw_initialize_fp)(); /* dtw_initialize function pointer */ int (* dtw_execute_fp)(); /* dtw_execute function pointer */ int (* dtw_cleanup_fp)(); /* dtw_cleanup function pointer */ } dtw_fp_t;
Diese Struktur wird von Net.Data als Parameter in der Routine dtw_getFp() an die Sprachumgebung übermittelt, wenn die gemeinsam benutzte Bibliothek geladen wird.
Die Struktur dtw_fp ist der einzige übermittelte Parameter. Diese Struktur enthält für jede unterstützte Schnittstelle ein Feld, das von der Sprachumgebung eingestellt wird. Wenn die Sprachumgebung die angegebene Schnittstelle bereitstellt, stellt sie dieses Feld auf den Funktionszeiger der betreffenden Schnittstelle ein. Wird die angegebene Schnittstelle nicht bereitgestellt, wird das Feld auf NULL gesetzt. Die Routine dtw_getFp() in der Programmschablone zeigt eine korrekte Implementierung dieser Routine an.
Damit Net.Data den Zeiger auf diese Routine findet, wenn die gemeinsam benutzte Bibliothek geladen wird, muss die Routine dtw_getFp in der Exportdatei der gemeinsam benutzten Bibliothek als erster Eintrag angegeben sein. Nachfolgend finden Sie ein Beispiel für eine Exportdatei einer Bibliothek namens dtwsampshr.o, die alle verfügbaren Schnittstellenroutinen für Sprachumgebungen unterstützt:
#!dtwsampshr.o dtw_getFp dtw_initialize dtw_execute dtw_cleanup