#include <sys.socket.h>
ANSI-C:
int soc_getevent(struct aevent *exb_event);
Beschreibung
Die Funktion soc_getevent() liefert dem Aufrufer die Information über einen zugestellten Event, der an die vom Aufrufer genutzte Börse signalisiert wurde.
In der Ausgabestruktur aevent werden Standarddaten und event-spezifische Daten abgelegt.
Mit dem Signal an die Börse wird ein 2 Wort langer Postcode mit folgendem Aufbau übermittelt:
Wort 1: | |||
Byte 1: | Eventcode X‘3E‘ | ||
Byte 2: | User Call Indicator | ||
| X‘14‘ = | IPv4-Event | |
X‘15‘ = | IPv6-Event | ||
Byte 3: | Event indicator | ||
C'E' = | Standard Event, siehe Liste | ||
C'W' = | Event wurde durch ein Wake Ereignis ausgelöst. | ||
C'S' = | Event wurde durch BCEND ausgelöst. | ||
C'N' = | Kein Event ist eingetroffen. Dieses Ereignis ist hauptsächlich eine Rückmeldung für SOCKETS. | ||
Byte 4: X‘00‘ | |||
Word 2: | |||
nicht definiert |
Die Struktur aevent ist in <sys.socket.h> wie folgt deklariert:
struct aevent { int fd; /* socket filedescriptor */ int event; /* Transportsystem Event */ int subevent; /* Zusatzinformation zum Event */ int datalen; /* An Caller übergebene Datenlänge */ int fd_errno; /* errno */ int fd_array_cnt; /* Anzahl der FD's, wenn Event ECLS */ int fd_array[FD_MAX]; /* FD's bei Event ECLS */ }
Returnwert
0:
bei Erfolg
1:
bei Fehler
mögliche Events:
EXB_ECLS
TSAP-Termination-Indication, zwangsweise Schließung des TSAP durch das Transportsystem.
Daten: fd, event, fd_array_cnt, fd_array
EXB_ERQQ
Connection-Request-Indication, Verbindungsaufbauwunsch.
Daten: fd, event
EXB_ERSP
Connection-Response-Indication, Partnerquittung zur Verbindungsaufbauforderung.Daten: fd, event
EXB_EDIS
Disconnect-Indication, Verbindungsabbauforderung.
Daten: fd, event
EXB_EDTA
Data-Indication, TCP-Datenempfang.
Daten: fd, event, datalen
EXB_EDTU
Unitdata-Indication, UDP-Datenempfang.
Daten: fd, event, datalen
EXB_EERR
Error-Report-IndicationICMP-Error-Message
EXB_EGOD
Data-Go-Indication, Datentransfer kann fortgesetzt werden.
Daten: fd, event
EXB_NOEV
Kein Event vorhanden.
Der Returnwert wird auf 1 gesetzt.
EXB_TRYL
Zurzeit kann kein Event abgeholt werden.
Es kann aber später wieder versucht werden.
Der Returnwert wird auf 1 gesetzt.
EXB_SHUT
Das Transportsystem BCAM ist beendet oder befindet sich gerade in der Beendigungsphase.
Auch die Anwendung muss beendet werden.
Der Returnwert wird auf 1 gesetzt.
Bei Fehlern wird die errno gesetzt.