ping_setopt(3) - Linux man page
Name
ping_setopt - Set options for a liboping object
Synopsis
#include <oping.h> int ping_setopt (pingobj_t *obj, int opt, void *val);
Description
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 ping_construct(3).
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.
- PING_OPT_TIMEOUT
- 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 .
- PING_OPT_TTL
- 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 .
- PING_OPT_AF
- 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.
- PING_OPT_DATA
- 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 ping(1) command.
- PING_OPT_SOURCE
- 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.
- PING_OPT_DEVICE
- 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 not supported".
- PING_OPT_QOS
- Sets the Quality of Service flags that should be used when crafting ICMP and ICMPv6 packets. The memory pointed to by val is interpreted as a "uint8_t". The byte is passed to setsockopt(2) without modification, using the "IP_TOS" (IPv4) or "IPV6_TCLASS" (IPv6) option. It is the caller's responsibility to chose a valid bit combination. For details, read the ip(7) and ipv6(7) manual pages, as well as RFC 2474.
- 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.
Return Value
ping_setopt returns zero upon success or less than zero upon failure.
See Also
ping_construct(3), liboping(3)
Author
liboping is written by Florian octo Forster <octo at verplant.org>. Its homepage can be found at <http://verplant.org/liboping/>.
(c) 2005-2010 by Florian octo Forster.