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 ierror

Beschreibung

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

So registrieren Sie eine Header-Handler-Adresse:

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