1liboping(3)                        liboping                        liboping(3)
2
3
4

NAME

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

DESCRIPTION

9       This is an overview of liboping, a C library to send ICMP ECHO_REQUEST
10       packets to remote hosts and measure the time it takes for replies to be
11       received. This method, often simply called "ping", is a common way to
12       measure network latency and/or host reachability.
13
14       The goals of this library are to provide the above functionality in a
15       platform and protocol independent manner. The interface is simple,
16       object oriented and (hopefully) ANSI-C compliant.
17

GENERAL USAGE

19       There are two main types that are used by applications. Both are
20       "opaque types", meaning they are structures that are not completely
21       defined in the header file, so you cannot access the structures'
22       members. You don't need to, don't do it. These structures are subject
23       to change without notice.
24
25       "pingobj_t"
26           A ping-object. You can set specific options for this object, add
27           and remove hosts to/from it and send ICMP packets to all associated
28           hosts. This is often called a "handle".
29
30       "pingobj_iter_t"
31           An iterator over the hosts associated with a "pingobj_t" object.
32           This iterator can be used to query more information about a host,
33           for example the hostname, the measured latency or the current ICMP
34           sequence.
35
36       Upon startup you usually create one or more "pingobj_t" objects and add
37       hosts to it using the "ping_host_add" method (see below). You
38       periodically send "echo requests" using the "ping_send" method, iterate
39       over all hosts using "ping_iterator_get" and "ping_iterator_next". For
40       each host you call "ping_iterator_get_info" to read the current latency
41       and do something with it.
42
43       If an error occurs you can use "ping_get_error" so get information on
44       what failed.
45

LINKING WITH LIBOPING

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

SYMBOL NAMES

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

THREAD SAFETY

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

SEE ALSO

64       ping_construct(3), ping_setopt(3), ping_host_add(3), ping_send(3),
65       ping_get_error(3), ping_iterator_count(3), ping_iterator_get(3),
66       ping_iterator_get_info(3), ping_iterator_get_context(3)
67

LICENSE

69       liboping is licensed under the LGPL 2.1 or later.
70

AUTHOR

72       liboping is written by Florian "octo" Forster <ff at octo.it>.  Its
73       homepage can be found at <http://noping.cc/>.
74
75       Copyright (c) 2006-2017 by Florian "octo" Forster.
76
77
78
791.10.0                            2017-05-11                       liboping(3)
Impressum