Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
liboping(3)			    liboping			     liboping(3)

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 re-
     ceived. 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 plat-
     form and protocol independent manner. The interface is simple, object  ori-
     ented 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 exam-
	 ple 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 sys-
     tem.

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 ex-
     ist.

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_iter-
     ator_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  home-
     page can be found at <http://noping.cc/>.

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

1.10.0				   2017-05-11			     liboping(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=liboping&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help