|
|
|
|
|
QNX® IPC over IP
Referenz Bibliotheken |
|
|
| qoipp_name_locate |  |
|
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_close |  |
|
| Ü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_attach |  |
|
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_detach |  |
|
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 |
|
|