setsourcefilter, getsourcefilter, setipv4sourcefilter, getipv4sourcefilter -Subroutine

Zweck

IP-Multicast-Quellenfilter verwalten.

Bibliothek

Bibliothek (libc.a)

Syntax

#include <netinet/in.h> 
int setsourcefilter(int socket, uint32_t interface,
                        struct sockaddr *group, socklen_t grouplen,
                        uint32_t fmode, uint_t numsrc,
                        struct sockaddr_storage *slist);

   int getsourcefilter(int socket, uint32_t interface,
                        struct sockaddr *group, socklen_t grouplen,
                        uint32_t *fmode, uint_t *numsrc,
                        struct sockaddr_storage *slist);

    int setipv4sourcefilter(int socket, struct in_addr interface,
                            struct in_addr group, uint32_t fmode,
                            uint32_t numsrc, struct in_addr *slist);

    int getipv4sourcefilter(int socket, struct in_addr interface,
                            struct in_addr group, uint32_t *fmode,
                            uint32_t *numsrc, struct in_addr *slist);

Beschreibung

Die Subroutinen 'setsourcefilter' und setipv4sourcefilter ermöglichen es einem Socket, eine Multicastgruppe in einer Schnittstelle zu verknüpfen und dabei Nachrichten (fmode = MCAST_EXCLUDE) auszuschließen oder Nachrichten (fmode = MCAST_INCLUDE) von einer Reihe von Absendern zu akzeptieren, die in der Tabelle slist aufgelistet sind. Die Anzahl der Elemente in der slist wird durch numsrc angegeben.

Die Subroutinen Quellenfilter abrufen und getipv4sourcefilter stellen Informationen zu vorhandenen Quellenfiltern für einen Socket in einer bestimmten Schnittstelle und für eine bestimmte Multicastgruppe bereit. fmode, numsrc und slist sind Zeiger auf Parameter, die die von der Subroutine zurückgegebenen Informationen enthalten. fmode zeigt auf den Typ des zurückgegebenen Filters: MCAST_EXCLUDE oder MCAST_INCLUDE. Bei der Eingabe verweist numsrc auf die maximale Anzahl der Absender, die die Anwendung erwartet. Wenn mehr Quellen als angefordert vorhanden sind, gibt die Subroutine nur die ersten numsrc-Quellen in slist zurück, und numsrc gibt die Gesamtzahl der Quellen an. slist enthält je nach Filtertyp die Tabelle der ausgeschlossenen oder eingeschlossenen Absender. Der Speicher, auf den fmode, numsrc und slist verweisen, muss von der Anwendung zugeordnet werden. Insbesondere muss slist auf eine Speicherzone verweisen, die numsrc-Elemente enthalten kann.

setipv4sourcefilter und getipv4sourcefilter können nur für AF_INET-Sockets verwendet werden.

'setsourcefilter' und Quellenfilter abrufen können für AF_INET-und AF_INET6 -Sockets verwendet werden.

Parameter

Für 'setsourcefilter' und setipv4sourcefilter:
Element Beschreibung
socket Gibt den eindeutigen Socketnamen an.
Schnittstelle Gibt die lokale Schnittstelle an. Für setipv4sourcefilter und getipv4sourcefilter muss eine Adresse angegeben werden, die in der Schnittstelle konfiguriert ist. Für 'setsourcefilter' und Quellenfilter abrufenmuss die Schnittstelle durch ihren Schnittstellenindex angegeben werden.
Gruppe Gibt die Multicastgruppe an
fmode Gibt an, ob die in der Liste enthaltenen Elemente ausgeschlossen (MCAST_EXCLUDE) oder eingeschlossen (MCAST_INCLUDE) werden sollen.
Numerische Quelle Gibt die Anzahl der Elemente in slist an.
Liste Gibt die Liste der auszuschließenden oder einzuschließenden Elemente an.
Für getsourcefilter und getipv4sourcefilter:
Element Beschreibung
socket Gibt den eindeutigen Socketnamen an.
Schnittstelle Gibt die lokale Schnittstelle an. Für setipv4sourcefilter und getipv4sourcefilter muss eine Adresse angegeben werden, die in der Schnittstelle konfiguriert ist. Für 'setsourcefilter' und Quellenfilter abrufen muss die Schnittstelle durch ihren Schnittstellenindex angegeben werden.
Gruppe Gibt die Multicastgruppe an
fmode Gibt einen Zeiger auf den in slist zurückgegebenen Elementtyp an. MCAST_EXCLUDE für eine Liste ausgeschlossener Elemente MCAST_INCLUDE für eine Liste ausgeschlossener Elemente.
Numerische Quelle Gibt bei Eingabe die Anzahl der Elemente an, die in slist zurückgegeben werden können. Enthält bei der Ausgabe die Gesamtzahl der Quellen für diesen Filter
Liste Enthält die Liste der zurückgegebenen Elemente.

Rückgabewerte

Nach erfolgreicher Beendigung gibt die Subroutine 0 zurück.

Ist dies nicht der Fall, gibt das Unterprogramm -1 zurück und errno wird entsprechend gesetzt.