BitCtrl Systems GmbH
Foto Weissenfelserstr. 67
Suche:     
 BitCtrl Systems GmbH
Produkte Support News & Events Download Shop Partner Kontakt
  qoipp_name_locate
  qoip_name_close
  qoip_event_rem_attach
  qoip_event_rem_detach
  QoIP Überblick
  Kommunikation und
  Netzwerk
  Software für QNX RTOS

QNX® IPC over IP

Referenz Bibliotheken

qoipp_name_locateTop

Lokalisiert einen auf einem anderen Rechner laufenden Prozeß anhand seines registrierten Namens.

Übersicht:
 

#include <qoip.h>
int qoip_name_locate(char *host,
                     char *name,
                     unsigned flags,
                     unsigned msgsize);

Bibliothek:
 

QNX® 4: qoip3r.lib, QNX® 6: libqoip.a

Beschreibung:
 

Die Funktion qoip_name_locate() lokalisiert einen Prozeß auf einem anderen Computer mit Hilfe des Namens der mit der Funktion qnx_name_attach() (QNX® 4)or name_attach() (QNX® 6) vergeben wurde.

 

char *host :

Name des 'entfernten' Computers oder IP Adresse als String

 

char *name :

Der zu lokalisierende Name. Namen dürfen bis zu 32 Zeichen lang sein (QNX® 4). Wenn das erste Zeichen ein Schrägstrich ist (/), wird er als netzwerkweit betrachtet. Das Flag OIP_NAME_FLAG_LOCAL wird dann ignoriert.

 

ungek.
Flags :

QOIP_NAME_FLAG_LOCAL - Name lokal zugewiesen.
QOIP_NAME_FLAG_GLOBAL - Name global zugewiesen.

 

Größe der
Meldung :

Max. Größe der Meldung in Bytes. 1 - 65535, 0 für 64Kbyte.

Rückgabewerte:
 

Eine Prozeß ID (QNX® 4), Verbindungs ID (QNX® 6), oder -1 wenn ein Fehler aufgetreten ist - errno spezifiziert den aufgetretenen Fehler.

Fehler:
 

ESRCH - Kein Prozeß mit diesem Namen vorhanden.
ECONNREFUSED - Verbindung abgelehnt
ENOMEM - Speicher reicht nicht aus
Diese Funktion kann während seiner Ausführung ebenso Fehlercodes des lokalen oder entfernten Computers zurückliefern.

Beispiele:
 

(QNX® 4):
if((pid = qoip_name_locate("192.168.1.123", "QoIPTest",
               QOIP_NAME_FLAG_GLOBAL, 0))< 0) {
  perror("qoip_name_locate()");
  exit(EXIT_FAILURE);
}

Send(pid, &msg, &msg, sizeof(msg), sizeof(msg));
...

qoip_name_close(pid);

(QNX® 6):
if((coid = qoip_name_locate("192.168.1.123", "QoIPTest",
               QOIP_NAME_FLAG_GLOBAL, 0))< 0) {
  perror("qoip_name_locate()");
  exit(EXIT_FAILURE);
}

MsgSend(coid, &msg, sizeof(msg), &msg, sizeof(msg));
...

qoip_name_close(coid);

Sicherheit:
 

Interrupt Handler      Nein
Signal Handler         Nein
Thread                 Ja

qoip_name_closeTop
Übersicht:
 

#include <qoip.h>
int qoip_name_close(int coid);

Bibliothek:
 

QNX® 4: qoip3r.lib, QNX® 6: libqoip.a

Beschreibung:
 

Die Funktion name_close() schließt die mit qoip_name_locate() geöffnete Verbindung.

Hinweis: Die Verbindung wird bei Programmende nicht automatisch geschlossen.

Rückgabewerte:
 

Null bei Erfolg oder -1 falls ein Fehler aufgetreten ist (errno ist gesetzt).

Fehler:
 

EBADF - Ungültige Verbindungs ID.
EINTR - Der qoip_name_close() Aufruf wurde durch Signal unterbrochen.
ESRCH - Es läuft kein Proxy- oder Daemon-Prozeß.

Beispiele:
 

Siehe qoip_name_open().

Sicherheit:
 

Interrupt Handler      Nein
Signal Handler         Nein
Thread                 Ja

qoip_event_rem_attachTop

Erzeugt einen virtuellen Event / Proxy auf einem 'entfernten' Rechner.

Übersicht:
 

#include <qoip.h>
int qoip_event_rem_attach(char *host,
                       qoip_event_t *levent,
                       qoip_event_t *revent);

Bibliothek:
 

QNX® 4: qoip3r.lib, QNX® 6: libqoip.a

Beschreibung:
 

Die Funktion qoip_event_rem_attach() erzeugt einen virtuellen Event/Proxy auf einem 'entfernten' Rechner. Das ermöglicht jedem Prozeß einen Trigger (QNX® 4) oder MsgDeliverEvent() auf diesem Rechner auszuführen. Bei einem QNX® 4 Knoten muss lokal schon ein Proxy (durch qnx_proxy_attach() )laufen.

char *host : Name des 'entfernten' Computers oder IP Adresse als String
qoip_event_t *levent : lokaler event/proxy
qoip_event_t *revent : Puffer für den virtuellen 'entfernten' event/proxy

Rückgabewerte:
 

Die Funktion qoip_event_rem_attach() gibt Null und das virtuelle 'entfernte' Ereignis (virtual remote event) im *revent Puffer zurück wenn die Funktion erfolgreich war. Beim Auftreten eines Fehlers wird -1 zurückgeliefert und errno gesetzt.

Fehler:
 

EINVAL - Ungültiger Proxy.
EPERM - Keine Erlaubnis für Proxy.
ESRCH - Proxy existiert nicht.
Diese Funktion kann während seiner Ausführung ebenso Fehlercodes des lokalen oder entfernten Computers zurückliefern.

Beispiele:
 

Siehe Server/Client Beispiele im QoIP Paket.

Sicherheit:
 

Interrupt Handler      Nein
Signal Handler         Nein
Thread                 Ja

qoip_event_rem_detachTop

Gibt virtuellen Event/Proxy Prozeß auf einem 'entfernten' Rechner frei.

Übersicht:
 

#include <qoip.h>
int qnx_event_rem_detach(char *host, qoip_event_t *revent);

Bibliothek:
 

QNX® 4: qoip3r.lib, QNX® 6: libqoip.a

Beschreibung:
 

Die Funktion qoip_proxy_rem_detach() gibt auf 'entfernten' Rechnern virtuelle 'entfernte' event/proxy *revent (virtual remote event/proxy *revent) frei, die vorher mit der Funktion qoip_event_rem_attach() erzeugt wurden.

Hinweis: Wenn ein Prozeß stirbt werden die verknüpften virtuellen Events/Proxies nicht automatisch entfernt.

char *host : Name des 'entfernten' Computers oder IP Adresse als String
qoip_event_t *revent : Virtueller 'entfernter' Event/Proxy

Rückgabewerte:
 

Die Funktion qoip_event_rem_detach() gibt Null zurück wenn die Funtktion erfolgreich war. Beim Auftreten eines Fehlers wird -1 zurückgeliefert und errno gesetzt.

Fehler:
 

EBADF - Ungültiges Event.
Diese Funktion kann während seiner Ausführung ebenso Fehlercodes des lokalen oder entfernten Computers zurückliefern.

Beispiele:
 

Siehe Server/Client Beispiele im QoIP Paket.

Sicherheit:
 

Interrupt Handler      Nein
Signal Handler         Nein
Thread                 Ja

Home    Datenschutzerklärung    Haftungsausschluss    Impressum   
© 2011 BitCtrl Systems GmbH