summaryrefslogtreecommitdiffstats
path: root/3rdparty/openpgm-svn-r1135/pgm/mld-semantics.txt
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/openpgm-svn-r1135/pgm/mld-semantics.txt')
-rw-r--r--3rdparty/openpgm-svn-r1135/pgm/mld-semantics.txt52
1 files changed, 52 insertions, 0 deletions
diff --git a/3rdparty/openpgm-svn-r1135/pgm/mld-semantics.txt b/3rdparty/openpgm-svn-r1135/pgm/mld-semantics.txt
new file mode 100644
index 0000000..135400d
--- /dev/null
+++ b/3rdparty/openpgm-svn-r1135/pgm/mld-semantics.txt
@@ -0,0 +1,52 @@
+ previous request following request return
+ ----------------- ----------------- -----------
+ MCAST_JOIN_GROUP MCAST_JOIN_GROUP EADDRINUSE
+ MCAST_JOIN_GROUP MCAST_LEAVE_GROUP 0
+ MCAST_JOIN_GROUP MCAST_JOIN_SOURCE_GROUP EINVAL
+ MCAST_JOIN_GROUP MCAST_LEAVE_SOURCE_GROUP EINVAL
+ MCAST_JOIN_GROUP MCAST_BLOCK_SOURCE 0
+ MCAST_JOIN_SOURCE_GROUP MCAST_JOIN_GROUP EADDRINUSE
+ MCAST_JOIN_SOURCE_GROUP MCAST_LEAVE_GROUP 0
+ MCAST_JOIN_SOURCE_GROUP MCAST_JOIN_SOURCE_GROUP (*1)
+ MCAST_JOIN_SOURCE_GROUP MCAST_LEAVE_SOURCE_GROUP (*2)
+ MCAST_JOIN_SOURCE_GROUP MCAST_BLOCK_SOURCE EINVAL
+ MCAST_JOIN_SOURCE_GROUP MCAST_UNBLOCK_SOURCE EINVAL
+ MCAST_BLOCK_SOURCE MCAST_JOIN_GROUP EADDRINUSE
+ MCAST_BLOCK_SOURCE MCAST_LEAVE_GROUP 0
+ MCAST_BLOCK_SOURCE MCAST_JOIN_SOURCE_GROUP EINVAL
+ MCAST_BLOCK_SOURCE MCAST_LEAVE_SOURCE_GROUP EINVAL
+ MCAST_BLOCK_SOURCE MCAST_BLOCK_SOURCE (*1)
+ MCAST_BLOCK_SOURCE MCAST_UNBLOCK_SOURCE (*2)
+
+(*1) EADDRNOTAVAIL if source address is same of filtered one. Otherwise 0.
+(*2) EADDRNOTAVAIL if source address is not same of filtered one. Otherwise 0.
+
+
+http://planete.inria.fr/Hitoshi.Asaeda/mldv2/README.txt
+
+
+The following steps apply for any-source applications:
+
+ Use MCAST_JOIN_GROUP to join a group.
+ Use MCAST_BLOCK_SOURCE to turn off a given source, if required.
+ Use MCAST_UNBLOCK_SOURCE to re-allow a blocked source, if required.
+ Use MCAST_LEAVE_GROUP to leave the group.
+
+The following steps apply for controlled-source applications:
+
+ Use MCAST_JOIN_SOURCE_GROUP to join each group/source pair.
+ Use MCAST_LEAVE_SOURCE_GROUP to leave each group/source, or use MCAST_LEAVE_GROUP to leave all sources, if the same group address is used by all sources.
+
+The following steps apply for any-source applications:
+
+ Use IP_ADD_MEMBERSHIP to join a group (IPV6_ADD_MEMBERSHIP for IPv6).
+ Use IP_BLOCK_SOURCE to turn off a given source, if required.
+ Use IP_UNBLOCK_SOURCE to re-allow a blocked source, if required.
+ Use IP_DROP_MEMBERSHIP to leave the group (IPV6_DROP_MEMBERSHIP for IPv6).
+
+The following steps apply for controlled-source applications:
+
+ Use IP_ADD_SOURCE_MEMBERSHIP to join each group/source pair.
+ Use IP_DROP_SOURCE_MEMBERSHIP to leave each group/source, or use IP_DROP_MEMBERSHIP to leave all sources, if the same group address is used by all sources.
+
+http://msdn.microsoft.com/en-us/library/ms738558(VS.85).aspx