Provided by: liboping-dev_1.10.0-2.1ubuntu1_amd64 bug

NAME

       liboping - Library to send ICMPv4/ICMPv6 echo packets to multiple hosts

DESCRIPTION

       This is an overview of liboping, a C library to send ICMP ECHO_REQUEST packets to remote
       hosts and measure the time it takes for replies to be received. This method, often simply
       called "ping", is a common way to measure network latency and/or host reachability.

       The goals of this library are to provide the above functionality in a platform and
       protocol independent manner. The interface is simple, object oriented and (hopefully)
       ANSI-C compliant.

GENERAL USAGE

       There are two main types that are used by applications. Both are "opaque types", meaning
       they are structures that are not completely defined in the header file, so you cannot
       access the structures' members. You don't need to, don't do it. These structures are
       subject to change without notice.

       "pingobj_t"
           A ping-object. You can set specific options for this object, add and remove hosts
           to/from it and send ICMP packets to all associated hosts. This is often called a
           "handle".

       "pingobj_iter_t"
           An iterator over the hosts associated with a "pingobj_t" object. This iterator can be
           used to query more information about a host, for example the hostname, the measured
           latency or the current ICMP sequence.

       Upon startup you usually create one or more "pingobj_t" objects and add hosts to it using
       the "ping_host_add" method (see below). You periodically send "echo requests" using the
       "ping_send" method, iterate over all hosts using "ping_iterator_get" and
       "ping_iterator_next". For each host you call "ping_iterator_get_info" to read the current
       latency and do something with it.

       If an error occurs you can use "ping_get_error" so get information on what failed.

LINKING WITH LIBOPING

       Depending on you platform you don't need any extra libraries (e.g. GNU/Linux) or
       "libsocket" (using "-lsocket") if the "socket" function is not in the C-library. The
       latter is the case for the Solaris operating system.

SYMBOL NAMES

       All "official" function or method names are prefixed with "ping_". Don't use any other
       functions or methods. Although no such functions should exist.

THREAD SAFETY

       liboping has been designed to be as thread safe a possible. However, this has not been
       tested and may need some additional work. Use at your own risk and please report back any
       problems or success messages. Thank you :)

SEE ALSO

       ping_construct(3), ping_setopt(3), ping_host_add(3), ping_send(3), ping_get_error(3),
       ping_iterator_count(3), ping_iterator_get(3), ping_iterator_get_info(3),
       ping_iterator_get_context(3)

LICENSE

       liboping is licensed under the LGPL 2.1 or later.

AUTHOR

       liboping is written by Florian "octo" Forster <ff at octo.it>.  Its homepage can be found
       at <http://noping.cc/>.

       Copyright (c) 2006-2017 by Florian "octo" Forster.