int ping_setopt (pingobj_t *obj, int opt, void *val);
The ping_setopt method sets options that apply to all hosts associated with
the object obj and hosts that are yet to be added to the object.
The obj argument is a pointer to an liboping object, as returned by
The opt argument specifies the option to set. Use one of the following
constants. You can check if the required constant is supported by the library
at compile time using "#ifdef". It is recommended to check for desired
features using the "OPING_VERSION" define.
The time to wait for a ``echo reply'' to be received; in seconds. In this case
the memory pointed to by val is interpreted as a double value and must be
greater than zero. The default is PING_DEF_TIMEOUT.
The value written into the time-to-live (= TTL) field of generated ICMP
packets. The memory pointed to by val is interpreted as an integer. Valid
values are 1 through 255. Default is PING_DEF_TTL.
The address family to use. The memory pointed to by val is interpreted as an
integer and must be either AF_UNSPEC, AF_INET, or AF_INET6. This
option only affects hosts that are being added after this option has been
set. Default is PING_DEF_AF. If you change this option, and a source address
is set (see PING_OPT_SOURCE) that setting will be reset.
Set the data to send. The value passed must be a char-pointer to a
null-terminated string. By default a 56 byte long string is used so that the
packet size of an ICMPv4 packet is exactly 64 bytes. That's the behavior of the
Set the source address to use. The value passed must be a char-pointer to a
null-terminated string specifying either a numerical network address or
network hostname. This option will ignore the address family setting (as
set with PING_OPT_AF) and will set the object's address family according to
the source address assigned.
Set the outgoing network device to be used. The value passed must be a
char-pointer to a null-terminated string specifying an interface name
(e. g. "eth0"). Please note that this might not be supported by all
operating systems. In that case, ping_setopt sets the error to "operation
The val argument is a pointer to the new value. It must not be NULL. It is
dereferenced depending on the value of the opt argument, see above. The
memory pointed to by val is not changed.
ping_setopt returns zero upon success or less than zero upon failure.