ICMP6_FILTER(3SOCKET) Sockets Library Functions ICMP6_FILTER(3SOCKET)
NAME
icmp6_filter - Variable allocation datatype
SYNOPSIS
void ICMP6_FILTER_SETPASSALL (
struct icmp6_filter *);
void ICMP6_FILTER_SETBLOCKALL (
struct icmp6_filter *);
void ICMP6_FILTER_SETPASS (
int, struct icmp6_filter *);
void ICMP6_FILTER_SETBLOCK (
int, struct icmp6_filter *);
int ICMP6_FILTER_WILLPASS (
int, const struct icmp6_filter *);
int ICMP6_FILTER_WILLBLOCK (
int, const struct icmp6_filter *);
DESCRIPTION
The
icmp6_filter structure is similar to the
fd_set datatype used
with the
select() function in the sockets API. The
icmp6_filter structure is an opaque datatype and the application should not care
how it is implemented. The application allocates a variable of this
type, then passes a pointer to it. Next it passes a pointer to a
variable of this type to
getsockopt() and
setsockopt() and operates
on a variable of this type using the six macros defined below.
The
SETPASSALL and
SETBLOCKALL functions enable you to specify that
all ICMPv6 messages are passed to the application or that all ICMPv6
messages are blocked from being passed.
The
SETPASS and
SETBLOCKALL functions enable you to specify that
messages of a given ICMPv6 type should be passed to the application
or not passed to the application (blocked).
The
WILLPASS and
WILLBLOCK return true or false depending whether the
specified message type is passed to the application or blocked from
being passed to the application by the filter pointed to by the
second argument.
The pointer argument to all six
icmp6_filter macros is a pointer to a
filter that is modified by the first four macros and is examined by
ICMP6_FILTER_SETBLOCK and
ICMP6_FILTER_WILLBLOCK. The first argument,
(an integer), to the
ICMP6_FILTER_BLOCKALL,
ICMP6_FILTER_SETPASS,
ICMP6_FILTER_SETBLOCK, and
ICMP6_FILTER_WILLBLOCK macros is an ICMPv6
message type, between 0 and 255.
The current filter is fetched and stored using
getsockopt() and
setsockopt() with a level of IPPROTO_ICMPV6 and an option name of
ICMP6_FILTER.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|MT-Level | Safe |
+--------------------+-----------------+
|Interface Stability | Standard |
+--------------------+-----------------+
December 13, 2003 ICMP6_FILTER(3SOCKET)