sourCEntral - mobile manpages

pdf

ping_setopt

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.

pdf