LAPI_Addr_set Subroutine
Zweck
Registriert die Adresse einer Funktion.
Bibliothek
Verfügbarkeitsbibliothek (liblapi_r.a)
C-Syntax
#include <lapi.h>
int LAPI_Addr_set(hndl, addr, addr_hndl)
lapi_handle_t hndl;
void *addr;
int addr_hndl;FORTRAN-Syntax
include 'lapif.h'
LAPI_ADDR_SET(hndl, addr, addr_hndl, ierror)
INTEGER hndl
INTEGER (KIND=LAPI_ADDR_TYPE) :: addr
INTEGER addr_hndl
INTEGER ierrorBeschreibung
Type of call: Bearbeitung lokaler Adressen
Verwenden Sie diese Subroutine, um die Adresse einer Funktion (addr) zu registrieren. LAPI verwaltet die Funktionsadresse in einer internen Tabelle. Die Funktionsadresse wird an der Position addr_hndlindexiert. In nachfolgenden LAPI-Aufrufen kann addr_hndl anstelle von addrverwendet werden. Der Wert von addr_hndl muss im Bereich von 1 < = addr_hndl < LOC_ADDRTBL_SZliegen.
Für die aktive Nachrichtenkommunikation können Sie addr_hndl anstelle der entsprechenden Header-Handler-Adresse verwenden. LAPI unterstützt diese indexierte Substitution nur für ferne Header-Handler-Adressen (aber nicht für andere ferne Adressen wie Zielzähler oder Basisdatenadressen). Für diese anderen Adresstypen muss der tatsächliche Adresswert an den API-Aufruf übergeben werden.
Parameter
- INPUT
- hndl
- Gibt die LAPI-Kennung an.
- Adresse
- Gibt die Adresse des Funktionshandlers an, den der Benutzer bei LAPI registrieren möchte
- addr_hndl
- Gibt eine Benutzerfunktionsadresse an, die anstelle einer Header-Handler-Adresse an LAPI-Aufrufe übergeben werden kann Der Wert dieses Parameters muss im Bereich 1 < = addr_hndl < LOC_ADDRTBL_SZliegen.
- Ausgabe
- ierror
- Gibt einen FORTRAN-Rückkehrcode an Dies ist immer der letzte Parameter.
C-Beispiele
lapi_handle_t hndl; /* the LAPI handle */
void *addr; /* the remote header handler address */
int addr_hndl; /* the index to associate */
⋮
addr = my_func;
addr_hndl = 1;
LAPI_Addr_set(hndl, addr, addr_hndl);
/* addr_hndl can now be used in place of addr in LAPI_Amsend, */
/* LAPI_Amsendv, and LAPI_Xfer calls */
⋮
Rückgabewerte
- LAPI_ERFOLG
- Gibt an, dass der Funktionsaufruf erfolgreich ausgeführt wurde.
- LAPI_ERR_ADDR_HNL_BEREICH
- Gibt an, dass der Wert von addr_hndl nicht im Bereich 1 < = addr_hndl < LOC_ADDRTBL_SZliegt.
- LAPI_ERR_HNDL_UNGÜLTIG
- Gibt an, dass die übergebene hndl ungültig ist (nicht initialisiert oder beendet).
Position
- /usr/lib/liblapi_r.a